Implementare una ViewResource

Definizione di una risorsa

Definire una th_resource significa definire tutte le regole che la th_page utilizzerà per renderizzare la nostra tabella e che saranno utilizzate per modificare il comportamento standard della th_page, sia per quanto riguarda la view (quindi la vista a griglia) sia relativamente alla form di gestione del singolo record.

Vediamo in questa sede come andare a implementare una ViewResource, ovvero come definire e personalizzare il file che sarà usato dal framework per la visualizzazione dei dati contenuti nella tabella che il modello rappresenta.

Riprendendo la nostra tabella cliente troveremmo:

  • un file cliente.py all’interno della cartella model del package
  • ed uno nella cartella resources > tables > cliente (lo stesso nome del model) che si chiamerà th_cliente.py

La struttura sarà pertanto la seguente:

resources
  tables
    cliente
      th_cliente.py

All’interno del file possono essere contenute diverse classi (come vedremo in seguito) ma al minimo ne troveremo due, una per la visualizzazione della griglia ed una per la presentazione della form di gestione di ciascun record della tabella.

Le due classi sono le seguenti:

class View(BaseComponent):
class Form(BaseComponent):

Nota

La versione attuale della classe View eredita da BaseView mentre la classe Form eredita da BaseForm tuttavia potresti trovare vecchi progetti che ereditano da BaseComponent, i progetti funzioneranno comunque correttamente.

È suggeribile, in fase di revisione o modifica di parti del progetto, adottare le nuove regole:

class View(BaseView):

class Form(BaseForm):

che gestiscono rispettivamente la visualizzazione della griglia e la visualizzazione della form di gestione dei dati di ciascun record.

Possiamo pensare logicamente l’organizzazione delle risorse in due filoni che, dipendentemente dal livello di complessità che si deve o si vuole raggiungere, possiamo suddividere in due categorie:

Ovviamente una view comprenderà i metodi di base e potrà comprendere uno i più metodi avanzati.

Prima di vedere il dettaglio dei metodi e delle proprietà di ciascuno, è importante vedere quali modalità siano previste per farci ritornare i dati dal server:

Autore della sezione: Valter Vettorello