.. _widgetpedia/genro/components/pagedEditor:
pagedEditor
===========
Il pagedEditor è un component che genera una **anteprima di stampa da template direttamente modificabile da interfaccia**, con un tool avanzato per la gestione delle interruzioni di pagina. Il component presenta infatti un'area di anteprima modificabile, nella parte sinistra, e una miniatura, sulla parte destra, dalla quale sarà possibile evidenziare i blocchi da modificare e visualizzare i salti di pagina.
.. image:: /_static/images/components/paged_editor.png
:width: 600px
:align: center
Il blocco selezionato verrà mostrato in colore giallo. L'interruzione di pagina potrà essere facilmente impostata aggiungendo un *div* con la combinazione ``--//--``.
Il video seguente ci mostra come impostare il component e il suo funzionamento da interfaccia.
.. raw:: html
La sintassi del pagedEditor è la seguente::
frame.pagedEditor(value='^.htmlsource',
pagedText='^.htmloutput',
letterhead_id='^.letterhead_id',
datasource='.record')
.. hint::
Se utilizzato in una normale webpage e non in un `TableHandler `_ il component andrà come di consueto importato con::
py_requires = "gnrcomponents/pagededitor/pagededitor:PagedEditor"
Sarà quindi necessario indicare un ``value``, dove verrà salvata la *Bag* con la struttura dell'anteprima visualizzata nella parte sinistra, e un ``pagedText``, dove verrà salvata la *Bag* con la struttura dell'anteprima impaginata visualizzata nella parte destra.
.. hint::
Si noti che trattandosi di due campi *Bag*, se stiamo operando su un record dovremo aggiungere al model due `colonne di tipo Bag `_. È anche possibile utilizzare un solo campo Bag, annidando poi *source* e *output* all'interno della stessa.
Sarà poi possibile indicare anche una ``letterhead_id`` e il ``datasource``, ovvero la sorgente dei dati (es: il record) da utilizzare.
.. raw:: html
**Parametri:**
+------------------------+------+--------------------------------------------------+
| Nome parametro | Tipo | Descrizione |
+========================+======+==================================================+
|value |T |Campo Bag con la struttura dell'anteprima da |
| | |impaginare (source, es: |
| | |'^#FORM.record.htmlbag.source') |
+------------------------+------+--------------------------------------------------+
|pagedText |T |Campo Bag con la struttura dell'anteprima |
| | |impaginata (output, es: |
| | |'^#FORM.record.htmlbag.output') |
+------------------------+------+--------------------------------------------------+
|letterhead_id |T |Path o codice di una carta intestata (es: |
| | |letterhead_id='^.letterhead_id') |
+------------------------+------+--------------------------------------------------+
|editor_constrain\_ |T |Usato per passare dei parametri dimensionali |
| | |all'editor (es: editor_constrain_width='210mm', |
| | |editor_constrain_min_height='297mm', |
| | |editor_constrain_border='1px solid silver', |
| | |editor_constrain_margin='4px') |
+------------------------+------+--------------------------------------------------+
|datasource |T |Il path dei dati di provenienza per la |
| | |compilazione (es: datasource='#FORM.record') |
+------------------------+------+--------------------------------------------------+
|printAction |B |Permette di mostrare nell'editor un'icona con la |
| | |stampante per lanciare la stampa (es: |
| | |printAction=True) |
+------------------------+------+--------------------------------------------------+
.. sectionauthor:: Davide Paci