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 [2019/11/13 16:11]
sabrina.sonno
gwusermanual:interface:widget:gw_digital_document_widget [2024/05/10 15:42] (versione attuale)
giorgio.scali [DDOC2]
Linea 57: Linea 57:
  
 6. configurare almeno un **Template del DDOC**, definendo il numero e l'​ordine delle sezioni, e attribuendo un Detail Layout a ciascuna di esse. Designare una delle sezioni come header, ovvero la sezione che sarà visualizzata in modo fisso, nella parte superiore in alto del controllo. Nella intestazione del template slezionare, se previsto, il Report definito al punto 4\\  6. configurare almeno un **Template del DDOC**, definendo il numero e l'​ordine delle sezioni, e attribuendo un Detail Layout a ciascuna di esse. Designare una delle sezioni come header, ovvero la sezione che sarà visualizzata in modo fisso, nella parte superiore in alto del controllo. Nella intestazione del template slezionare, se previsto, il Report definito al punto 4\\ 
 +
 +{{:​gwusermanual:​interface:​widget:​ddoc-template.png|}}
  
 7. configurare tra gli attributi il **widget GW_DIGITAL_DOCUMENT_WIDGET**,​ configurando tra i parametri il nome del Template\\ ​ 7. configurare tra gli attributi il **widget GW_DIGITAL_DOCUMENT_WIDGET**,​ configurando tra i parametri il nome del Template\\ ​
Linea 159: Linea 161:
 </​code>​ </​code>​
  
 +===== API js =====
 +Avendo disponibile il //​ddocWidget//,​ è possibile fa riferimento alle seguenti proprietà e function esposte: ​
 +  * property:
 +    * **ddocSectionHeader**,​ 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
 +}
 +</​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:
 +    * **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
 +    * **isDDOCSectionEditable(name)**,​ boolean
 +    * **isDDOCSectionDefaultSelected(name)**,​ boolean
 +    * **isDDOCSectionHeader(name)**,​ boolean
  
  
-===== Template ​===== +==== Esempi ​====
-Il template è la definizione della tipologia di rappresentazione delle informazioni del Documento Digitale. +
-Nel Template sono definibili delle Sezioni che sono associate a specifici Detail Layout della classe che include il Document. +
-Sono configurabili più template all'​interno della stessa classe.+
  
-{{:gwusermanual:​interface:​widget:​ddoc-template.png|}}+=== 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). 
 +<code js> 
 +var ddocWidget = detailContainer.getGwWidget({name'​ddoc_widget'​});​ //​detailContainer provided 
 +var name = '​section_name';​ //known 
 +var isEditable = ddocWidget.isDDOCSectionEditable(name);​ 
 +if(isEditable){ 
 +    //do stuff 
 +} 
 +</​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.1573657866.txt.gz
  • Ultima modifica: 2019/11/13 16:11
  • da sabrina.sonno