++ dopo un'operazione si torna alla pagina di partenza, con i suoi filtri

- Gli elenchi tengono ricerca, filtri e ordinamento nell'indirizzo
  (#[Url]); la pagina c'era già.
- I link verso schede e operazioni (data-ritorno) portano ?da= con la
  pagina di partenza, o il da già ricevuto: si risale all'origine
  (elenco -> scheda -> Rientra -> elenco filtrato).
- Ritorno::valida accetta solo percorsi interni: niente rimandi esterni.
- Trait RicordaRitorno: redirect dopo il salvataggio, Annulla e
  "Torna indietro" usano la pagina di partenza. Senza da, tutto come prima.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Francesco Picone
2026-10-19 15:04:42 +02:00
parent 0c530b65b3
commit bc465f53f5
32 changed files with 451 additions and 58 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Livewire\Territori;
use App\Livewire\Concerns\Avvisa;
use Illuminate\Pagination\LengthAwarePaginator;
use Livewire\Attributes\Url;
use Livewire\Component;
use Livewire\WithPagination;
use App\Models\Territorio;
@@ -15,14 +16,25 @@ class TerritorioIndex extends Component
use Avvisa;
use WithPagination;
// Ricerca, filtri e ordinamento stanno nell'indirizzo (#[Url]): tornando
// da una scheda o da un'operazione l'elenco si ritrova com'era.
#[Url(except: '')]
public string $search = '';
#[Url(except: '')]
public string $filterZona = '';
#[Url(except: '')]
public string $filterTipologia = '';
#[Url(except: '')]
public string $filterStato = '';
#[Url(except: '')]
public string $filterPriorita = '';
#[Url(except: '')]
public string $filterPdf = '';
#[Url(except: '')]
public string $filterContenuti = '';
#[Url(except: 'numero')]
public string $sortField = 'numero';
#[Url(except: 'asc')]
public string $sortDirection = 'asc';
protected $queryString = [