.. _tablehandler/FormResource/advanced_method/th_top: Metodo th_top ============= Esattamente alla stregua di quanto avviene nella :ref:`ViewResource` , è possibile definire nel metodo di hook :ref:`th_top` una *slotToolbar* per poter inserire dei tool a piacere. In alternativa alla creazione di una bar apposita è possibile, come invece abbiamo visto nel metodo :ref:`th_view` , usare la ``replaceSlots``:: def th_top_custom(self, top): bar = top.bar.replaceSlots('left_placeholder','rec_update,5,aggiungi_lista,5,left_placeholder') bar.rec_update.slotButton('Segna aggiornamento').dataController("""var date = new Date().toISOString(); SET #FORM.record.data_aggiornamento=date; this.form.save();""") bar.aggiungi_lista.slotButton('Aggiungi a lista').dataController("""genro.publish('table_script_run', {table:'cvgest.candidato', res_type:'action', resource:'aggiungi_a_lista', pkey:pkey, valutazione:true});""", pkey='=#FORM.record.id') Il risultato sarà il seguente: .. image:: /_static/images/FormResource/advanced_method/replaceslots-form.png :width: 300px :align: center .. hint:: Si noti che in questo caso gli slot saranno ovviamente diversi da quelli disponibili nella :ref:`View` . In particolare, in una Form standard, saranno presenti i seguenti slot: ``navigation``, ``left_placeholder``, ``right_placeholder``, ``form_archive``, ``form_print``, ``form_delete``, ``form_add``, ``form_save``, ``semaphore``, ``locker``. Si noti che, a differenza di quanto avviene nella View, nella Form sono disponibili due slot speciali, ``left_placeholder`` (interno a sinistra) e ``right_placeholder`` (interno a destra), che saranno **sempre disponibili a prescindere dalla specifica configurazione**. .. raw:: html
**Parametri:** +------------------------+------+--------------------------------------------------+ | Nome parametro | Tipo | Descrizione | +========================+======+==================================================+ |navigation |T |I pulsanti per la navigazione tra record | | | |(precedente/successivo) | +------------------------+------+--------------------------------------------------+ |left_placeholder |T |Un pulsante immaginario a sinistra della | | | |slotToolbar, utile per i vari replace | +------------------------+------+--------------------------------------------------+ |right_placeholder |T |Un pulsante immaginario a destra della | | | |slotToolbar, utile per i vari replace | +------------------------+------+--------------------------------------------------+ |form_archive |T |Il pulsante per archiviare il record | +------------------------+------+--------------------------------------------------+ |form_action |T |Il pulsante per mostrare il menu delle action | | | |(icona ingranaggio) | +------------------------+------+--------------------------------------------------+ |form_print |T |Il pulsante per stampare il record | +------------------------+------+--------------------------------------------------+ |form_duplicate |T |Il pulsante per duplicare il record | +------------------------+------+--------------------------------------------------+ |form_copypaste |T |Il pulsante per copiare/incollare i dati del | | | |record | +------------------------+------+--------------------------------------------------+ |form_audit |T |Il pulsante per mostrare la record history (lista | | | |dei cambiamenti del record) | +------------------------+------+--------------------------------------------------+ |form_add |T |Il pulsante per aggiungere un nuovo record dalla | | | |Form | +------------------------+------+--------------------------------------------------+ |form_delete |T |Il pulsante per eliminare il record | +------------------------+------+--------------------------------------------------+ |form_revert |T |Il pulsante per annullare l'ultima modifica | | | |effettuata al record | +------------------------+------+--------------------------------------------------+ |form_save |T |Il pulsante per salvare il record | +------------------------+------+--------------------------------------------------+ |semaphore |T |Il semaforo che mostra i cambiamenti avvenuti al | | | |record | +------------------------+------+--------------------------------------------------+ |locker |T |Il lucchetto della Form, per bloccare/sbloccare le| | | |modifiche | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Davide Paci