custom:api_js_opengwclasslisttab

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
custom:api_js_opengwclasslisttab [2019/12/16 11:34]
giorgio.scali
custom:api_js_opengwclasslisttab [2025/02/11 11:29] (versione attuale)
giorgio.scali
Linea 1: Linea 1:
 ====== Apertura scheda lista classe (gwClassList) ====== ====== Apertura scheda lista classe (gwClassList) ======
 La lista di dettaglio di classe (gwClassList) è una griglia evoluta contenente i record che fanno riferimento ad una data gwClass, con capacità di ordinare, filtrare, etc.. La lista di dettaglio di classe (gwClassList) è una griglia evoluta contenente i record che fanno riferimento ad una data gwClass, con capacità di ordinare, filtrare, etc..
 +
 +La lista viene aperta in un tab di tipo tipo gwClassList,​ descritto [[gwusermanual:​interface:​schede#​gwClassList|qui]].
  
 ===== openGwClassListTab() ===== ===== openGwClassListTab() =====
-La lista viene sempre aperta in un tab di tipo tipo gwClassList descritto [[gwusermanual:​interface:​schede#​gwClassList|qui]]. +Per aprire la lista di dettaglio di classe ​è esposta ​l'​apposita ​function openGwClassListTab().
-Per fare ciò è esposta ​la function openGwClassListTab().+
  
-Parametri:\\+==== Parametri ​====
   * **gwClassName** String, required, name of gwClass   * **gwClassName** String, required, name of gwClass
   * **title** String, optional, default ''​   * **title** String, optional, default ''​
   * **options** Object, optional, default null. Contains all Additional parameters   * **options** Object, optional, default null. Contains all Additional parameters
  
-Parametri opzionali ​contenuti in //options//:\\+=== Parametri opzionali ​dentro ​options ​===
   * **filters** Object [], optional, default null. Allow to show only elements matching filters. This filter List, unlikely //​staticFilters//,​ can be removed by the user through the gwClassList UI. Example: ​   * **filters** Object [], optional, default null. Allow to show only elements matching filters. This filter List, unlikely //​staticFilters//,​ can be removed by the user through the gwClassList UI. Example: ​
 <code javascript>​ <code javascript>​
Linea 53: Linea 54:
   * **onRowClickFunctionString** String, opzionale, default null. Se presente indica direttamente il codice js che verrà invocato (passando questi paramenti [/​*Integer*/​ rowIndex, /*Object*/ grid]) al click della riga della griglia.   * **onRowClickFunctionString** String, opzionale, default null. Se presente indica direttamente il codice js che verrà invocato (passando questi paramenti [/​*Integer*/​ rowIndex, /*Object*/ grid]) al click della riga della griglia.
   * **insertIndex** Integer, optional, default null. If absent the new tab will be opened at the last position   * **insertIndex** Integer, optional, default null. If absent the new tab will be opened at the last position
 +  * **onStyleRowFunctionName** String, optional, default null. E' il nome della function javascript esistente nel namespace globale, invocata con questi parametri: [/​dojox.grid.EnhancedGrid/​ grid, /Object/ row] (disponibile dalla versione **4.6.0**)
 +  * **onStyleRowGwActionName** String, optional, default null. E' il nome della gwAction, tipo //Libero//, contenuta nella stessa classe. Deve contenere il solo corpo della funzione, tenendo contro che i parametri in ingresso saranno [/​dojox.grid.EnhancedGrid/​ grid, /Object/ row] (disponibile dalla versione **4.6.0**)
 +  * **avoidColumnWidthAuto** Boolean, optional, default false. Avoid the '​auto'​ width setting upon column when related attributes are without and esplicit '​listWidth'​ (grid equally divide the remaining space among all with '​auto'​. So grid is no allowed to increase it's width, and to show an horizontal scrollbar. This is problematic with many attributes in list, that are simpli not shown if the window isn't big enough) (disponibile dalla versione **4.6.10** issue #1140)
 +  * **tabWidgetId** String, optional, default null. Quando configurato forza l'id del tab (usato in congiunzione con forceGridId e gridId per aprire più tab della stessa lista) (**dalla 4.7.2** issue #1392)
 +  * **forceGridId** Boolean, optional, default false. Quando true abilita la valutazione di gridId
 +  * **gridId** String, optional, default null. Da usare in congiunzione con forceGridId true. Quando configurato forza l'id della grid (da usare in congiunzione con forceGridId e tabWidgetId per aprire più tab della stessa lista)
 + 
  
-Parametri opzionali contenuti in options [**Deprecati**]:+=== Parametri opzionali contenuti in options [Deprecati] ​===
   * **hideAttributesNamesList** String, opzionale, default null. @Deprecated,​ replaced by hiddenAttributesNamesList   * **hideAttributesNamesList** String, opzionale, default null. @Deprecated,​ replaced by hiddenAttributesNamesList
 +
  
 ==== Esempi ==== ==== Esempi ====
Linea 107: Linea 116:
         { formatter: '​column_formatter',​ label: '​Header Label',​ width: '​auto'​ || 50, headerStyles:​ '​color:​ red;', styles: '​color:​ red;' }         { formatter: '​column_formatter',​ label: '​Header Label',​ width: '​auto'​ || 50, headerStyles:​ '​color:​ red;', styles: '​color:​ red;' }
     ],     ],
-    onRowClickGwActionName:​ 'gwAction_name', +    onRowClickGwActionName:​ 'onRowClick_gwAction_name', 
-    onRowClickFunctionName:​ 'name_in_js_global_name_space', +    onRowClickFunctionName:​ 'onRowClick_name_in_js_global_name_space', 
-    onRowClickFunctionString:​ '​if(rowIndex==0)alert(\'​click on row 0\'​);'​+    onRowClickFunctionString:​ '​if(rowIndex==0)alert(\'​click on row 0\'​);'​
 +    onStyleRowFunctionName:​ '​onStyleRow_name_in_js_global_name_space',​ 
 +    onStyleRowGwActionName:​ '​onStyleRow_gwAction_name',​
 }; };
 var tabWidget = openGwClassListTab(gwClassName,​ title , options); var tabWidget = openGwClassListTab(gwClassName,​ title , options);
Linea 149: Linea 160:
  
  
-==== Requisisti ​==== +Azione che apre un tab gwClassList,​ date delle options. e che permette di aprirne successivamente un'​altra (magari con altri filtri nelle options) senza generare errori (**dalla 4.7.2**) 
-Per funzionare il componente ha bisogno ​di questi vincoli:​\\ ​                 ​ +<code javascript>​ 
-  * esistenza della classe con name uguale al parametro ​'className' ​nei metadati ​di Geoweb +var gwClassName ​'​gwClassName '; 
-  * gli attributi che devono comparire in lista devono ​essere ​correttamente configurati:​ anche il non corretto funzionamento di uno di essi può causare, il non funzionamento della griglia ​(in genere sono problematici gli attributi che hanno nella loro configurazione una queryo comunque hanno il concetto di campo in visualizzazionefieldToShowe campo da salvarefieldToStore)+var title '​Custom title';​ //​optional 
 + 
 +var gridId ​gwClassName+'​_'​+new Date().getTime();​ 
 +var tabWidgetType ​'​gwClassList';​ 
 +var tabWidgetId ​tabWidgetType+'​_'​+gridId;​ 
 + 
 +var options ​{ //​optional 
 + //others options.. 
 + tabWidgetId:​ tabWidgetId,​ 
 + forceGridId:​ true, 
 + gridId: gridId  
 +}; 
 +var tabWidget ​openGwClassListTab(gwClassName,​ title , options); 
 +</​code>​ 
 + 
 +Azione che apre un tab gwClassList,​ date delle options. e che permette di aprirne successivamente un'​altra (magari con altri filtri nelle options) senza generare errori (**pre 4.7.2**) 
 + 
 +<code javascript>​ 
 +var title null; //TODO 
 +//options already defined.. 
 + 
 +var tabWidgetType = '​gwClassList';​ 
 + 
 +var gridId = gwClassName+'​_'​+new Date().getTime();​ 
 + 
 +var tabWidgetType = '​gwClassList';​ 
 +//var tabWidgetId = createTabId(tabWidgetType,​ gwClassName);​ 
 +var tabWidgetId = tabWidgetType+'​_'​+gridId;​ 
 + 
 +if(options.targetContainerId==null) options.targetContainerId = tabWidgetId;​ 
 +options.gwClassName = gwClassName;​ 
 + 
 +options.forceGridId = true; 
 +options.gridId = gridId; 
 + 
 +var tab = openTab(tabWidgetId,​ tabWidgetType,​ title, options); 
 +</​code>​ 
 + 
 + 
 +===== openGwClassListFloatingPane() ===== 
 +Apre la lista di dettaglio di classe su un floatingPane. 
 + 
 +==== Parametri ==== 
 +  * **gwClassName** String, required, ​name of gwClass 
 +  * **contentPaneRef** String|domNode|dijit/​layout/​ContentPane,​ required 
 +  * **options** Object, optional, default {}. Contains all parameters allowed by openGwClassListTab(),​ and 
 +    * **props** Object, map containing all parameters allowed by dijit/​layout/​ContentPane  
 + 
 +==== Esempi ==== 
 + 
 +<code javascript>​ 
 +var gwClassName = 'gw_class_name'
 +var options = { 
 + //all parameters allowed by openGwClassListTab()  
 + title: '​GwClassList title',​ 
 + props: //all parameters allowed by openFloatingPane() 
 +
 + floatingPaneId:​ '​my_id',​ 
 + title: '​GwClassList title',​ 
 + modal: true, 
 + useCookie:​ true, 
 + dimensions:​ {w: 800, h: 600} 
 +
 +}; 
 +var floatingPane = openGwClassListFloatingPane(gwClassName,​ options); 
 +</​code>​ 
 + 
 + 
 +===== openGwClassListInsideContentPane () ===== 
 +Apre la lista di dettaglio di classe in un qualsiasi contentPane. 
 + 
 +==== Parametri ==== 
 +  * **gwClassName** String, required, name of gwClass 
 +  * **contentPaneRef** String|domNode|dijit/​layout/​ContentPane,​ required. Può essere ​indifferentemente un dojo ContentPane, il suo id od il suo nodo dom. 
 +  * **options** Object, optional, default {}. Contains all parameters allowed by openGwClassListTab()and 
 +    * **props** Objectmap containing all parameters allowed by dijit/​layout/​ContentPane  
 + 
 +==== Esempi ==== 
 + 
 +<code javascript>​ 
 +var gwClassName = '​gw_class_name';​ 
 +var contentPaneId = new ContentPane().id;​ 
 +var options = { 
 + //all parameters allowed by openGwClassListTab()  
 + props: //all parameters allowed by dijit/​layout/​ContentPane 
 +
 +
 +}; 
 +var contentPane = openGwClassListInsideContentPane(gwClassNamecontentPaneIdoptions)
 +</​code>​
  
-==== Note ==== 
-In caso la stessa scheda sia apribile sia da menu di terzo livello (leafItem su xml di progetto) che, mettiamo, da un link di una gwHtmlReport,​ è bene che il name del leaftItem, che viene in automatico passato alla createTabId() sia uguale al gwClassName. Cosi tutti i comandi di apertura scheda cofluiranno di fatto sulla stessa scheda e non si avranno conflitti di id dojo. Se nei vari punti da cui viene aperta la gwClassList possono venire applicati filtri diversi alla lista è bene specificare il parametro forceReplaceTab a true. 
  • custom/api_js_opengwclasslisttab.1576492446.txt.gz
  • Ultima modifica: 2019/12/16 11:34
  • da giorgio.scali