gwusermanual:interface:widget:gw_digital_document_widget

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
gwusermanual:interface:widget:gw_digital_document_widget [2022/01/19 16:22]
giorgio.scali
gwusermanual:interface:widget:gw_digital_document_widget [2024/05/10 15:42] (versione attuale)
giorgio.scali [DDOC2]
Linea 164: Linea 164:
 Avendo disponibile il //​ddocWidget//,​ è possibile fa riferimento alle seguenti proprietà e function esposte: ​ Avendo disponibile il //​ddocWidget//,​ è possibile fa riferimento alle seguenti proprietà e function esposte: ​
   * property:   * property:
-    * **ddocSectionHeader**,​ di tipo Object. <code js>​{gwid:​ 123, fkDdoc: 456, name: 'ddoc_section_name', label: 'ddoc_section_label', detailLayoutName:​ 'ddoc_section_detailLayoutName', isHeader: true, isVisible: true, isEditable: true, isDefaultSelected:​ false}</​code>​ +    * **ddocSectionHeader**,​ di tipo Object. <code js> 
-    * **ddocSections**,​ di tipo Object[]. <code js>​[{gwid:​ 123, fkDdoc: 456, name: 'ddoc_section_name', label: 'ddoc_section_label', detailLayoutName:​ 'ddoc_section_detailLayoutName', isHeader: true, isVisible: true, isEditable: true, isDefaultSelected:​ false},​{gwid:​ 123, fkDdoc: 456, name: 'ddoc_section_name', label: 'ddoc_section_label', detailLayoutName:​ 'ddoc_section_detailLayoutName', isHeader: false, isVisible: true, isEditable: true, isDefaultSelected:​ true}]</​code>​+{ 
 +  ​gwid: 123, 
 +  ​fkDdoc: 456, 
 +  ​name: 'section_name', 
 +  ​label: 'section_label', 
 +  ​detailLayoutName:​ 'section_detailLayoutName', 
 +  ​isHeader: true, 
 +  ​isVisible: true, 
 +  ​isEditable: true, 
 +  ​isDefaultSelected:​ false 
 +} 
 +</​code>​ 
 +    * **ddocSections**,​ di tipo Object[]. <code js> 
 +[ 
 +  ​{ 
 +    ​gwid: 123, 
 +    ​fkDdoc: 456, 
 +    ​name: 'section_name', 
 +    ​label: 'section_label', 
 +    ​detailLayoutName:​ 'section_detailLayoutName', 
 +    ​isHeader: true, 
 +    ​isVisible: true, 
 +    ​isEditable: true, 
 +    ​isDefaultSelected:​ false 
 +  ​}, 
 +  ​{ 
 +    ​gwid: 123, 
 +    ​fkDdoc: 456, 
 +    ​name: 'section_name', 
 +    ​label: 'section_label', 
 +    ​detailLayoutName:​ 'section_detailLayoutName', 
 +    ​isHeader: false, 
 +    ​isVisible: true, 
 +    ​isEditable: true, 
 +    ​isDefaultSelected:​ true 
 +  ​} 
 +] 
 +</​code>​
   * function:   * function:
-    * **getDDOCSection(name)**,​ function che, dal parametro //name// (//​String//​),​ ritorna un Object. <code js>​{gwid:​ 123, fkDdoc: 456, name: '​ddoc_section_name',​ label: '​ddoc_section_label',​ detailLayoutName:​ '​ddoc_section_detailLayoutName',​ isHeader: false, isVisible: true, isEditable: true, isDefaultSelected:​ true}</​code>​+    * **getDDOCSection(name)**,​ function che, dal parametro //name// (//​String//​),​ ritorna un Object. <code js> 
 +{ 
 +  ​gwid: 123, 
 +  ​fkDdoc: 456, 
 +  ​name: '​ddoc_section_name',​ 
 +  ​label: '​ddoc_section_label',​ 
 +  ​detailLayoutName:​ '​ddoc_section_detailLayoutName',​ 
 +  ​isHeader: false, 
 +  ​isVisible: true, 
 +  ​isEditable: true, 
 +  ​isDefaultSelected:​ true 
 +} 
 +</​code>​
     * **isDDOCSectionVisible(name)**,​ boolean     * **isDDOCSectionVisible(name)**,​ boolean
     * **isDDOCSectionEditable(name)**,​ boolean     * **isDDOCSectionEditable(name)**,​ boolean
Linea 173: Linea 222:
     * **isDDOCSectionHeader(name)**,​ boolean     * **isDDOCSectionHeader(name)**,​ boolean
  
 +
 +==== Esempi ====
 +
 +=== Esempio 1 ===
 Si potrebbe volere, per esempio, in un'​azione di dettaglio pronto, eseguire delle operazioni solo se una certa //​ddocSection//​ risultasse //​editabile//​ in quel momento (in base alla valutazione dinamica del grrovy). Si potrebbe volere, per esempio, in un'​azione di dettaglio pronto, eseguire delle operazioni solo se una certa //​ddocSection//​ risultasse //​editabile//​ in quel momento (in base alla valutazione dinamica del grrovy).
 <code js> <code js>
-var name = 'ddoc_section_name'; //known+var ddocWidget = detailContainer.getGwWidget({name:​ '​ddoc_widget'​});​ //​detailContainer provided 
 +var name = 'section_name'; //known
 var isEditable = ddocWidget.isDDOCSectionEditable(name);​ var isEditable = ddocWidget.isDDOCSectionEditable(name);​
 if(isEditable){ if(isEditable){
Linea 181: Linea 235:
 } }
 </​code>​ </​code>​
 +
 +=== Esempio 2 ===
 +<code js>
 +var ddocWidget = detailContainer.getGwWidget({name:​ '​ddoc_widget'​});​ //​detailContainer provided
 +var name = '​section_name';​ //known
 +var isVisible= ddocWidget.isDDOCSectionVisible(name);​
 +if(isVisible){
 +    //do stuff
 +}
 +</​code>​
 +
 +
 +===== DDOC2 =====
 +
 +Dalla versione **4.6.9** (**issue #1070**), è stato rilasciato anche il widget **gwDigitalDocument2 (DDOC2)**, simile al gwDigitalDocument,​ con la stessa struttura dei metadati, e stessi parametri xml widget, ma diversa forma grafica e comportamento.
 +
 +Al posto delle sezioni individuate dal tab, c'è sempre il **documento pdf in primo piano**.
 +
 +La report jasper, può utilizzare il parametro booleano **IS_GW_RECORD_EMPTY** (che viene passato a true nel caso il record geoweb non esista ancora) ​
 +al solo fine di garantire in maniera opportuna la visualizzazione di un documento digitale vuoto, anche in assenza di record.
 +
 +Scompare l'​apposito button di apertura report nella sezione header.
 +
 +La sezione **Header**, anche se non contiene più il button della report e le info di intestazione,​ **va comunque dichiarata, e nel caso nascosta imponendo un altezza di 0px al relativo layout**. In caso contrario, non viene lanciato l'​evento di dettaglio pronto.
 +
 +Le intestazioni delle **Section** (i vecchi selettori dei tab, che prima comandavano le parti di dettaglio [i detailLayout] impostate per la sezione), ora sono button. La loro stilizzazione attuale è rimasta la medesima, ma senza l'​esplicitazione del concetto di ultimo selezionato
 +
 +Al click delle intestazioni delle **Section**,​ solo in caso di permesso di edit, ora vengono aperti dei **floatingPane modali**, contenenti le medesime parti di dettaglio.
 +
 +In caso di solo permesso di visualizzazione,​ al click sulla intestazione di Sezione avviene lo //scroll sul documento
 +pdf// (tramite configurazione dei bookmarks (hyperlink + bookmark level) in IReport 5 / Jaspersosft Studio 6)
 +A tale proposito si prega di visionare il video [[https://​www.youtube.com/​watch?​v=XkpJq-P2Gko]]
 +
 +I permessi edit/​visualize derivano, come prima, dal risultato dinamico computato ​ dall'​esecuzione del groovy configurato. ​
  
  • gwusermanual/interface/widget/gw_digital_document_widget.1642605761.txt.gz
  • Ultima modifica: 2022/01/19 16:22
  • da giorgio.scali