gwusermanual:interface:interface:menu

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:interface:menu [2020/03/17 12:20]
giorgio.scali
gwusermanual:interface:interface:menu [2023/09/14 10:06] (versione attuale)
giorgio.scali
Linea 1: Linea 1:
 ====== Progetto e Menù ====== ====== Progetto e Menù ======
 +===== versioni 4.6.X =====
 +===== TODO =====
 +La pagina del progetto, e quindi del modello di applicazione tipo in Geoweb è strutturata in sezioni, ognuna delle quali ospita un tipo preciso di elementi: ​
 +  * Barra **Info**, nera info sul brand;
 +  * Barra **Info&​Nav** info su function, oggetto in sessione, utente, gruppo ed ambiti, menu assistenza e menu notifiche;
 +  * Barra del **Menù di I° livello**, necessaria per aprire il **Menù** di II° livello;
 +  * Area **Menu di II° e III° livello**, da cui accedere alle classi, alle funzioni e alle Schede attraverso un doppio livello di **menù**;
 +  * Area **Schede**, ovvero la zona nella quale viene aperto il contenuto desiderato e **configurato a Menu** (liste e dettaglio di record di una Classe, Cruscotti interattivi di controllo in HTML, Calendari, Mappe, Planimetrie,​ ecc.);
 +
 +TODO ADD IMAGE
 +
 +L'​organizzazione e definizione di tutte le sezioni è definita nella configurazione XML del progetto, tramite appositi tag e tramite la chiamata di funzioni specifiche messe a disposizione dal framework.
 +
 +
 +===== Struttura dei Menù (XML di Progetto) =====
 + 
 +**Struttura Generale XML di Progetto**
 +
 +Il layout grafico di un progetto si ottiene attraverso la configurazione del relativo XML la cui struttura è data dalla combinazione di una serie di tag:
 +
 +<​geomanager>​ </​geomanager>​ configurazione di progetto\\ ​
 +<​menuBar>​ </​menuBar> ​ configurazione della barra dei **menù**\\
 +<​menuBarItem>​ </​menuBarItem> ​ configurazione del singolo **menù** di I° livello\\ ​
 +<​accordionPaneItem>​ </​accordionPaneItem>​ configurazione del singolo **menù** di II° livello\\ ​
 +<​leafitem>​ </​leafItem>​ configurazione della singola voce del **menù** di II° livello\\ ​
 +
 +Per ogni tag devono in genere essere configurati i seguenti parametri:
 +
 +//name // nome (univoco) da assegnare al tag\\ 
 +//label // etichetta da visualizzare nel layout di rappresentazione\\ ​
 +//image // nome del file dell’immagine da visualizzare nel layout di rappresentazione,​ e che deve trovarsi nella cartella dei contenuti statici dell'​istanza (../​WEB/​images)\\ ​
 +
 +<code xml>
 +<​geomanager>​
 +    <​menuBar>​
 +        <​menuBarItem name="​menu name" label="​menu label" image="​menu image.png"> ​   ​
 +            <​accordionPaneItem name="​accordion name" label="​accordion label" image="​accordion image.png" ​
 +             ​type="​leafItemContainer"> ​       ​
 +                <​leafItem name="​leafitem name" label="​leafitem label" image="​leafitem image.png"​ type="​gwClassList">  ​
 +                    <​parameter name="​className"​ value="​class_name"​ hideToClient="​false"></​parameter> ​
 +                </​leafItem> ​       ​
 +            </​accordionPaneItem>​
 +        </​menuBarItem>​
 +    </​menuBar>​
 +</​geomanager>​
 +</​code>​
 +
 +\\
 +**Configurazioni Specifiche definite nel Progetto**
 +
 +Oltre ai tag di struttura visti sopra esistono tag per definire i contenuti dei banner di progetto, e alcuni comportamenti dell'​applicazione.
 +
 +\\
 +==== Logo Platform / logo Cliente ​ ====
 +
 +\\
 +
 +==== Modalità di Apertura delle Classi in Dettaglio e in Lista ====
 +
 +\\
 +**GwClassSettings**:​ optional, default null. Tag usato per la sovrascrittura delle impostazioni relative alla visualizzazione dei dati delle gwClass
 +Sezione che ospita le configurazioni a livello globale (applicate limitatamente al gwProject corrente), relative a dettaglio e lista di classe:
 + 
 +      -**gwClassDetailSettings**:​ optional, default null. Ospita le configurazioni specifiche del dettaglio di classe. Setting ammessi:
 +          -**hideActionsDropDownButton**:​ Boolean, optional, default false. Se posta a true nasconde il button 'More options'​ (aka tre puntini: '​...'​) che ospita le azioni/​report lanciabili dall'​utente,​ in cui spesso non viene configurato nulla e quindi si preferisce non farlo comparire
 +          -**hideActionsDropDownButtonByGwClassName**:​ Mappa, optional, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideActionsDropDownButton
 +          -**openingDetailModeByGwClassName**:​ Mappa, optional, default null, Ospita le coppie gwClassName/​openingDetailMode dove si può sovrascrivere classe per classe con quale tipologia di detailContainer verrà aperto il dettaglio di classe. Possibili valori openingDetailMode:​ tab, floatingPane,​ dialog. Nota: Questo setting depreca il tag classOpeningDetailModeAssociationsList,​ che era ospitato direttamente sotto il tag geomanager/​geoexplorer (se presenti entrambi, viene usata la nuova configurazione)
 +          -**defaultDetailLayoutNameByGwClassName**:​ Mappa: optional, default null, Ospita le coppie gwClassName/​defaultDetailLayoutName dove si può sovrascrivere,​ limitatamente al progetto, ​ il detailLayout con il quale verrà aperto il dettaglio della classe specificata.
 +          -**hideDefaultButtons**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde tutti i button di default della bottom toolbar
 +          -**hideCloseButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button '​Chiudi'​
 +          -**hideCloseButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideCloseButton
 +          -**hideSaveButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button '​Salva'​
 +          -**hideSaveButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideSaveButton
 +          -**hideSaveAndCloseButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button 'Salva e Chiudi'​
 +          -**hideSaveAndCloseButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideSaveAndCloseButton
 +          -**hideCreateButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button '​Crea'​
 +          -**hideCreateButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideCreateButton
 +          -**hideCreateAndCloseButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button 'Crea e Chiudi'​
 +          -**hideCreateAndCloseButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideCreateAndCloseButton
 +      -**gwClassListSettings**:​ optional, default null. Ospita le configurazioni specifiche della lista di classe. Setting ammessi:
 +            -**hideToolbar**:​ Boolean, optional, default false. Se posta a true nasconde la toolbar **(from 4.5.0)**
 +            -**hideToolbarByGwClassName**:​ Mappa, optional, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideToolbar **(from 4.5.0)**
 +            -**hideNewIgnorePermissions**:​ Boolean, optional, default false. Se posta a true nasconde la toolbar **(from 4.5.0)**
 +            -**hideNewIgnorePermissionsByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideNewIgnorePermissions **(from 4.5.0)**
 +            -**hideDeleteIgnorePermissions**:​ Boolean, optional, default false. Se posta a true nasconde la toolbar **(from 4.5.0)**
 +            -**hideDeleteIgnorePermissionsByGwClassName**:​ Mappa, optional, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideDeleteIgnorePermissions **(from 4.5.0)**
 +            -**hideActionsDropDownButtonColumn**:​ Boolean, optional, default false. Se posta a true nasconde in lista la colonna che ospita il button 'More options'​ (aka tre puntini: '​...'​) che ospita le azioni/​report lanciabili dall'​utente,​ in cui spesso non viene configurato nulla e quindi si preferisce non farlo comparire
 +            -**hideActionsDropDownButtonColumnByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideActionsDropDownButtonColumn
 +            -**hideIndirectSelectionColumn**:​ Boolean, optional, default false. Se posta a true nasconde in lista la colonna che ospita il check per la selezione delle righe
 +            -**hideIndirectSelectionColumnByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideIndirectSelectionColumn
 +            -**onRowClickGwActionName**:​ String, optional, default null. Nome dell'​azione ospitata dentro la gwClass che verrà eseguita al click sul record della lista **(from 4.5.0)**
 +            -**onRowClickGwActionNameByGwClassName**:​ Mappa, optional, default null. Ospita le coppie gwClassName/​gwActionName dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale onRowClickGwActionName **(from 4.4.11)**
 +
 +<code xml>
 +    <​gwClassSettings>​
 +
 +        <​gwClassSettings>​
 +        <​gwClassDetailSettings>​
 +            <​hideActionsDropDownButton>​false</​hideActionsDropDownButton>​
 +            <​hideActionsDropDownButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"/>​
 +            </​hideActionsDropDownButtonByGwClassName>​
 +            <​openingDetailModeByGwClassName>​
 +                <entry gwClassName="​gw_class_name_2"​ openingDetailMode="​floatingPane"/>​
 +                <entry gwClassName="​gw_class_name_3"​ openingDetailMode="​dialog"/>​
 +                <entry gwClassName="​gw_class_name_1"​ openingDetailMode="​tab"/>​
 +            </​openingDetailModeByGwClassName>​
 +            <​defaultDetailLayoutNameByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ defaultDetailLayoutName="​specific_default_detail_layout_name"/>​
 +            </​defaultDetailLayoutNameByGwClassName>​
 +            <​hideDefaultButtons>​false</​hideDefaultButtons>​
 +            <​hideDefaultButtonsByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideDefaultButtonsByGwClassName>​
 +            <​hideCloseButton>​false</​hideCloseButton>​
 +            <​hideCloseButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideCloseButtonByGwClassName>​
 +            <​hideSaveButton>​false</​hideSaveButton>​
 +            <​hideSaveButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideSaveButtonByGwClassName>​
 +            <​hideSaveAndCloseButton>​false</​hideSaveAndCloseButton>​
 +            <​hideSaveAndCloseButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideSaveAndCloseButtonByGwClassName>​
 +            <​hideCreateButton>​false</​hideCreateButton>​
 +            <​hideCreateButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideCreateButtonByGwClassName>​
 +            <​hideCreateAndCloseButton>​false</​hideCreateAndCloseButton>​
 +            <​hideCreateAndCloseButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideCreateAndCloseButtonByGwClassName>​
 +            <​hideDeleteIgnorePermissions>​false</​hideDeleteIgnorePermissions>​
 +            <​hideDeleteIgnorePermissionsByGwClassName>​
 +                <entry gwClassName="​gw_class_name_1"​ hide="​false"/>​
 +            </​hideDeleteIgnorePermissionsByGwClassName>​
 +        </​gwClassDetailSettings>​
 +        <​gwClassListSettings>​
 +            <​hideToolbar>​false</​hideToolbar>​
 +            <​hideToolbarByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"/>​
 +            </​hideToolbarByGwClassName>​
 +            <​hideNewIgnorePermissions>​false</​hideNewIgnorePermissions>​
 +            <​hideNewIgnorePermissionsByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"/>​
 +            </​hideNewIgnorePermissionsByGwClassName>​
 +            <​hideDeleteIgnorePermissions>​false</​hideDeleteIgnorePermissions>​
 +            <​hideDeleteIgnorePermissionsByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"/>​
 +            </​hideDeleteIgnorePermissionsByGwClassName>​
 +            <​hideActionsDropDownButtonColumn>​false</​hideActionsDropDownButtonColumn>​
 +            <​hideActionsDropDownButtonColumnByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"/>​
 +            </​hideActionsDropDownButtonColumnByGwClassName>​
 +            <​hideIndirectSelectionColumn>​false</​hideIndirectSelectionColumn>​
 +            <​hideIndirectSelectionColumnByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"/>​
 +            </​hideIndirectSelectionColumnByGwClassName>​
 +            <​onRowClickGwActionName></​onRowClickGwActionName>​
 +            <​onRowClickGwActionNameByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ gwActionName="​gw_action_name"/>​
 +            </​onRowClickGwActionNameByGwClassName>​
 +            <​cookieEnabled>​false</​cookieEnabled>​
 +            <​columnReordering>​false</​columnReordering>​
 +            <​onStyleRowFunctionName></​onStyleRowFunctionName>​
 +            <​onStyleRowFunctionNameByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ functionName="​function_name"/>​
 +            </​onStyleRowFunctionNameByGwClassName>​
 +            <​onStyleRowGwActionName></​onStyleRowGwActionName>​
 +            <​onStyleRowGwActionNameByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ gwActionName="​gw_action_name"/>​
 +            </​onStyleRowGwActionNameByGwClassName>​
 +        </​gwClassListSettings>​
 +    </​gwClassSettings>​
 +</​code>​
 +
 +GwClassSettings depreca il tag classOpeningDetailModeAssociationsList,​ inglobandone ed ampliandone funzionalità
 +
 +<code xml>
 +    <!--
 +    sovrascrittura globale apertura dettaglio classe per nome_classe
 +    @Deprecated by openingDetailModeByGwClassName tag inside gwClassDetailSettings tag
 +    -->
 +    <!--
 +    <​classOpeningDetailModeAssociationsList>​
 +        <​keyValuePair key="​pv_gestori"​ value="​floatingPane"></​keyValuePair>​ /*default*/
 +        <​keyValuePair key="​pv_punti_vendita"​ value="​tab"></​keyValuePair>​
 +        <​keyValuePair key="​pv_customer"​ value="​dialog"></​keyValuePair> ​     ​
 +    </​classOpeningDetailModeAssociationsList>​
 +    -->
 +</​code>​
 +
 +
 +**gwClassListSettings**,​ matrice supporto parametri globali per componente:
 +
 +^ Parametro ^ gwClassList ^ prefilteredList ^ linkList ^ linkListNam ^ hierarchicalFilterMenu ^
 +| hideToolbar | 4.4.11 | - | - | - | 4.4.11 |
 +| hideToolbarByGwClassName | 4.4.11 | - | - | - | 4.4.11 |
 +| hideNewIgnorePermissions | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideNewIgnorePermissionsByGwClassName | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideDeleteIgnorePermissions | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideDeleteIgnorePermissionsByGwClassName | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideActionsDropDownButtonColumn | SI | SI | SI | SI | - |
 +| hideActionsDropDownButtonColumnByGwClassName | SI | SI | SI | SI | - |
 +| hideIndirectSelectionColumn | SI | SI | SI | SI | - |
 +| hideIndirectSelectionColumnByGwClassName | SI | SI | SI | SI | - |
 +| onRowClickGwActionName | 4.4.11 | NO | 4.4.11 | - | SI |
 +| onRowClickGwActionNameByGwClassName | 4.4.11 | NO | 4.4.11 | - | SI |
 +
 +(SI=supportato,​ NO=previsto ma non implementato ancora, 4.x.y=supportato dalla versione, -=non applicabile)
 +
 +
 +\\
 +==== Apertura della Mappa e delle Planimetrie ====
 +
 +**mapSettings**:​
 +
 +<code xml>
 +<!-- Sezione di gestione delle mappe associate alle classi -->
 +<​mapSettings>​
 +        <​showScaleLineControl>​true</​showScaleLineControl>​
 +        <​showScaleControl>​true</​showScaleControl>​
 +        <​showMousePositionControl>​true</​showMousePositionControl>​
 +        <​showBaseMapChange>​true</​showBaseMapChange>​
 +        <​showLayersManagement>​true</​showLayersManagement>​
 +        <​showThematisms>​true</​showThematisms>​
 +        <​showMapEditing>​true</​showMapEditing>​
 +        <​startWithMapSwitcherOpened>​true</​startWithMapSwitcherOpened>​
 +        <​classMapAssociationsList>​
 +            <​keyValuePair key="​class_name"​ value="​map_name"/>​
 +        </​classMapAssociationsList>​
 +    </​mapSettings>​
 +</​code>​
 +
 +
 +**planTypeNameGwMapNameHM**:​ Mappa, opzionale, default null. map used to override associations done on '​gwd_plan_type'​ table, between planType name and gwMap name .
 +TODO
 +In futuro verrà deprecato ed inglobato dentro mapSettings
 +<code xml>
 +    <​planTypeNameGwMapNameHM>​
 +        <entry planTypeName="​Planimetria Architettonico Spazi" gwMapName="​floorPlan_prova"​ />
 +    </​planTypeNameGwMapNameHM>​
 +</​code>​
 +
 +==== gwContextObject gwContextFunction ====
 +
 +**gwContextFunction** è la funzione dell'​app corrente, è di fatto in rapporto 1:1 con il projectName. Permette di navigare ad altre alle altre funzioni disponibili per l'​utente. La navigazione intra-function può essere opzionalmente nascosta con disabled = true.
 +
 +<code xml>
 +    <​objectSelector>​
 +        <​disabled>​true</​disabled>​
 +        <​inizializationCode></​inizializationCode>​
 +    </​objectSelector>​
 +    <​functionSelector>​
 +        <​disabled>​false</​disabled>​
 +    </​functionSelector>​
 +</​code>​
 +
 +**objectSelector** è una parte di UI, al centro della **Info&​Nav** toolbar deputata alla visualizzazione dell'​oggetto in sessione. Al click sul selettore di oggetto si apre un dialog (stile externalTable) che permette di cambiare l'​oggetto in sessione. Cambiando l'​oggetto in sessione viene ricaricata la pagina.
 +
 +Il contenuto dell'​objectSelector è popolato tramite un codice javascript di inizializzazione,​ ospitato nel tag <​inizializationCode>​ dell'<​objectSelector>:​ che utilizza la function js esposta **gwObjectSelectorInitializationLegacy()**.
 +
 +\\
 +Visivamente,​ il risultato della funzione è il seguente: ​
 +
 +
 +TODO
 +
 +Come si può vedere dalla figura, è presente un titolo (in questo caso è "​Immobile:​ ") con accanto il codice e, sotto, il nome dell'​elemento selezionato:​ queste ultime due informazioni sono le stesse che popolano i parametri in sessione. Il titolo e il codice formano un link cliccabile che consente di aprire una finestra di selezione in cui sono presenti tutti gli elementi della classe e tra i quali è possibile scegliere quello che si vuole aprire. ​
 +La funzione gwObjectSelectorInitializationLegacy deve essere aggiunta nel tag <​inizializationCode>​ dell'<​objectSelector>​ (**non usare il tag script di tipo “dojo/​method”,​ come per le versioni pre 4.6.x**). ​
 +L'​oggetto che riceve in ingresso contiene i seguenti valori: ​
 +  * **className** (obbligatorio):​ è il nome della classe che comprende gli elementi tra cui si va a scegliere quello che si vuole visualizzare. I campi di cui si parla di seguito si riferiscono a questa classe;
 +  * **fieldToStore** (obbligatorio):​ è il nome del campo dell’elemento scelto che deve essere visualizzato nel pannello del gwMenuTitle,​ vicino alla stringa "​menuTitle"; ​
 +  * **fieldToShow** (obbligatorio):​ è il campo dell’elemento scelto che deve essere visualizzato sotto al precedente (di default è il campo impostato come colonna nome nella classe); ​
 +  * **session_code_field** (obbligatorio):​ è il nome del parametro in sessione che contiene il campo "​fieldToStore"​ dell’elemento da visualizzare per il progetto corrente; ​
 +  * **session_code_field_name** (obbligatorio):​ è il nome del parametro in sessione che contiene il campo "​fieldToShow"​ dell’elemento da visualizzare; ​
 +  * **menuTitle**:​ è la stringa che fa da titolo all’elemento gwMenuTitle e che compare in alto a sinistra, prima del campo "​stringToVisualizeIfNoElement"​ o, se i parametri in sessione sono popolati, prima del campo "​fieldToStore"​. Di default è una stringa vuota; ​
 +  * **stringToVisualizeIfNoElement**:​ è la stringa che compare inizialmente vicino al "​menuTitle"​ nel caso in cui non siano ancora presenti elementi in sessione. Il valore di default è "​Scegli un elemento";​
 +  * **selectionWinTitle**:​ è il titolo della finestra di selezione che si apre quando si vuole scegliere un nuovo elemento da visualizzare. Di default è una stringa vuota; ​
 +  * **contPaneParent** (obbligatorio):​ contiene l'​identificatore dell’elemento html in cui visualizzare l’intero gwMenuTitle nella pagina del progetto; questo parametro deve sempre avere valore this.id.
 +__Nota__: il valore dei parametri di ingresso "​session_code_field"​ e "​session_code_field_name"​ deve essere univoco per ogni progetto, ciò significa che i nomi dei parametri in sessione che contengono i campi di interesse dell'​elemento da visualizzare devono essere differenti in ogni progetto, così da evitare che vengano sovrascritti.
 +<code xml>
 +    <​objectSelector>​
 +        <​disabled>​true</​disabled>​
 +        <​inizializationCode> ​
 +            gwObjectSelectorInitializationLegacy({
 +                '​className':​ '​spm_gwd_pe_building', ​
 +                '​fieldToStore':​ '​cod_building', ​
 +                '​fieldToShow':​ '​name_building', ​
 +                '​session_code_field':​ '​session_building_code', ​
 +                '​session_code_field_name':​ '​session_building_code_name', ​
 +                '​menuTitle':'​Immobile:', ​
 +                '​stringToVisualizeIfNoElement':​ '​Scegli un immobile', ​
 +                '​selectionWinTitle':​ '​Seleziona edificio', ​
 +                '​contPaneParent':​ this.id ​
 +           });
 +        </​inizializationCode> ​
 +    </​objectSelector>​
 +</​code>​
 +Attualmente,​ la funzione gwObjectSelectorInitializationLegacy è utilizzabile per visualizzare elementi contenuti in menu di II livello di tipo graphicLayoutByBuildingSwitchMenu. Inoltre, affinché la visualizzazione sia corretta, è necessario aggiungere nell'​xml,​ dentro il tag relativo all’accordion pane, un parametro "​session_code_field"​ che, chiaramente,​ deve avere lo stesso valore che gli è stato assegnato all’interno della funzione.
 +<code xml>
 +<​parameter name="​session_code_field"​ value="​session_building_code"​ hideToClient="​false"></​parameter>​
 +</​code>​
 +
 +\\
 +==== ...altre configurazioni (da completare) ====
 +
 +\\
 +**threeDSceneSettings**
 +TODO EXPLAIN
 +
 +**externalUrl**:​ String default null. URL to old GeoWeb application or others application
 +TODO EXPLAIN
 +
 +**disabledUserScopeButton**:​ Boolean, default null.
 +TODO EXPLAIN
 +
 +**gwProjectGroovy**:​ String , default null.
 +TODO EXPLAIN
 +
 +**confProperties**:​ String , default null.
 +TODO EXPLAIN
 +
 +**gwMenuTitle**:​ String , default null.
 +TODO EXPLAIN
 +
 +
 +
 +=====Tipi di Progetto=====
 +
 +GeoWeb prevede due tipologie di progetto:
 +
 +**GeoManager**:​ contenitore generico. L'area Schede prevede la visualizzazione dei dati alfanumerici. Questo progetto si può caratterizzare con appositi tipi di '​accordion'​ per rendere la struttura adatta a mostrare particolare tipi di Contenuto (ad esempio il BIM Explorer).\\
 +[[gwusermanual:​interface:​interface:​menu:​esempio_di_progetto_geomanager|Esempio di progetto GeoManager]]
 +
 +
 +**GeoExplorer**:​ contenitore di Mappe. L'area Schede contiene il visualizzatore di Mappe e/o Planimetrie configurato nell'​Admin o nei metadati.\\
 +[[gwusermanual:​interface:​interface:​menu:​esempio_di_progetto_geoexplorer|Esempio di progetto GeoExplorer]]
 +
 +\\
 +
 +=====Elementi del Menù di II° e III° livello=====
 +
 +
 +====Accordion====
 +
 +L’[[gwusermanual:​interface:​interface:​accordion|Accordion]] è il controllo utilizzato per ‘contenere’ i menù di secondo livello. Ad ogni voce di menù di primo livello possono corrispondere uno o più accordion.
 +\\
 +All’apertura solo il primo accordion verrà visualizzato aperto, mentre gli altri vengono visualizzati chiusi, in basso. Cliccando sulla intestazione dell’accordion,​ esso verrà aperto chiudendo a sua volta quello aperto precedentemente.
 +
 +{{ :​gwusermanual:​interface:​interface:​accordion.png?​400 |}}
 +
 +L’accordion può essere un semplice contenitore,​ oppure può essere strutturato esso stesso come un Menu di accesso ad altri oggetti del progetto. \\ 
 +In particolare,​ in base all’attributo ‘type’ esso può essere:
 +
 +  * **leafItemContainer ​ ** tipo semplice, ovvero aperto a contenere altri oggetti (leafItem) di diversa natura\\ ​
 +  * **integrationMenu ​ ** visualizzazione di tutti i Temi/Classi (visibili) associati ad un progetto \\   
 +  * **layoutSwitchMenu** visualizzazione strutturata di tutte le planimetrie caricate nel progetto\\ ​
 +  * to do: completare elenco da lista excel
 +
 +
 +
 +====LeafItem====
 +
 +
 +Il [[gwusermanual:​interface:​interface:​leafitem|leafitem]] (elemento foglia) rappresenta la singola voce di un menù di secondo livello e può richiamare nella sezione principale di Geoweb® la visualizzazione di diverse tipologie di [[gwusermanual:​interface:​schede|Schede]],​ come ad esempio:​\\ ​
 +  * lista record di una classe di Geoweb® \\ 
 +  * gestione processo (work-flow)\\ ​
 +  * cruscotto di reportistica / report html\\ ​
 +  * calendario\\ ​
 +  * mappa cartografica\\ ​
 +
 +Il leafitem può essere strutturato,​ e rappresentare in maniera complessa l'​elenco dei contenuti da cui far partire la visualizzazione delle schede. Ad esempio:
 +  * albero di navigazione dei layout, per aprire un layout\\ ​
 +  * albero di navigazione delle gerarchie di classi, per aprire un determinato sottoinsieme di lista di record \\ 
 +
 +Il leafitem è organizzato con i propri tag nell'​XML di Progetto. ​
 +
 +
 +
 +
 +
 +===== versioni 4.4.X e 4.5.X =====
 +
 La pagina del progetto, e quindi del modello di applicazione tipo in Geoweb è strutturata in sezioni, ognuna delle quali ospita un tipo preciso di elementi: ​ La pagina del progetto, e quindi del modello di applicazione tipo in Geoweb è strutturata in sezioni, ognuna delle quali ospita un tipo preciso di elementi: ​
   * Barra del **Titolo**, costituita da banner grafici personalizzabili,​ in formato immagine;   * Barra del **Titolo**, costituita da banner grafici personalizzabili,​ in formato immagine;
Linea 76: Linea 462:
  
 \\ \\
-**GwClassSettings**: ​opzionale, default null. Tag usato per la sovrascrittura delle impostazioni relative alla visualizzazione dei dati delle gwClass+**GwClassSettings**: ​optional, default null. Tag usato per la sovrascrittura delle impostazioni relative alla visualizzazione dei dati delle gwClass
 Sezione che ospita le configurazioni a livello globale (applicate limitatamente al gwProject corrente), relative a dettaglio e lista di classe: Sezione che ospita le configurazioni a livello globale (applicate limitatamente al gwProject corrente), relative a dettaglio e lista di classe:
    
-      -**gwClassDetailSettings**: ​opzionale, default null. Ospita le configurazioni specifiche del dettaglio di classe. Setting ammessi: +      -**gwClassDetailSettings**: ​optional, default null. Ospita le configurazioni specifiche del dettaglio di classe. Setting ammessi: 
-          -**hideActionsDropDownButton**:​ Boolean, ​opzionale, default false. Se posta a true nasconde il button 'More options'​ (aka tre puntini: '​...'​) che ospita le azioni/​report lanciabili dall'​utente,​ in cui spesso non viene configurato nulla e quindi si preferisce non farlo comparire +          -**hideActionsDropDownButton**:​ Boolean, ​optional, default false. Se posta a true nasconde il button 'More options'​ (aka tre puntini: '​...'​) che ospita le azioni/​report lanciabili dall'​utente,​ in cui spesso non viene configurato nulla e quindi si preferisce non farlo comparire 
-          -**hideActionsDropDownButtonByGwClassName**:​ Mappa, ​opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideActionsDropDownButton +          -**hideActionsDropDownButtonByGwClassName**:​ Mappa, ​optional, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideActionsDropDownButton 
-          -**openingDetailModeByGwClassName**:​ Mappa, ​opzionale, default null, Ospita le coppie gwClassName/​openingDetailMode dove si può sovrascrivere classe per classe con quale tipologia di detailContainer verrà aperto il dettaglio di classe. Possibili valori openingDetailMode:​ tab, floatingPane,​ dialog. Nota: Questo setting depreca il tag classOpeningDetailModeAssociationsList,​ che era ospitato direttamente sotto il tag geomanager/​geoexplorer (se presenti entrambi, viene usata la nuova configurazione) +          -**openingDetailModeByGwClassName**:​ Mappa, ​optional, default null, Ospita le coppie gwClassName/​openingDetailMode dove si può sovrascrivere classe per classe con quale tipologia di detailContainer verrà aperto il dettaglio di classe. Possibili valori openingDetailMode:​ tab, floatingPane,​ dialog. Nota: Questo setting depreca il tag classOpeningDetailModeAssociationsList,​ che era ospitato direttamente sotto il tag geomanager/​geoexplorer (se presenti entrambi, viene usata la nuova configurazione) 
-          -**defaultDetailLayoutNameByGwClassName**:​ Mappa: ​opzionale, default null, Ospita le coppie gwClassName/​defaultDetailLayoutName dove si può sovrascrivere,​ limitatamente al progetto, ​ il detailLayout con il quale verrà aperto il dettaglio della classe specificata. +          -**defaultDetailLayoutNameByGwClassName**:​ Mappa: ​optional, default null, Ospita le coppie gwClassName/​defaultDetailLayoutName dove si può sovrascrivere,​ limitatamente al progetto, ​ il detailLayout con il quale verrà aperto il dettaglio della classe specificata. 
-  +          ​-**hideDefaultButtons**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde tutti i button di default della bottom toolbar 
-      -**gwClassListSettings**: ​opzionale, default null. Ospita le configurazioni specifiche della lista di classe. Setting ammessi: +          -**hideCloseButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button '​Chiudi'​ 
-            -**hideToolbar**:​ Boolean, ​opzionale, default false. Se posta a true nasconde la toolbar **(from 4.5.0)** +          -**hideCloseButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideCloseButton 
-            -**hideToolbarByGwClassName**:​ Mappa, ​opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideToolbar **(from 4.5.0)** +          -**hideSaveButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button '​Salva'​ 
-            -**hideNewIgnorePermissions**:​ Boolean, ​opzionale, default false. Se posta a true nasconde la toolbar **(from 4.5.0)**+          -**hideSaveButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideSaveButton 
 +          -**hideSaveAndCloseButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button 'Salva e Chiudi'​ 
 +          -**hideSaveAndCloseButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideSaveAndCloseButton 
 +          -**hideCreateButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button '​Crea'​ 
 +          -**hideCreateButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideCreateButton 
 +          -**hideCreateAndCloseButton**:​ (da 4.4.13) Boolean, optional, default false. Se posta a true nasconde il button 'Crea e Chiudi'​ 
 +          -**hideCreateAndCloseButtonByGwClassName**:​ (da 4.4.13) Mappa, optional, default null, Ospita le coppie gwClassName/​hide dove si può sovrascrivere classe per classe il valore hideCreateAndCloseButton 
 +      -**gwClassListSettings**: ​optional, default null. Ospita le configurazioni specifiche della lista di classe. Setting ammessi: 
 +            -**hideToolbar**:​ Boolean, ​optional, default false. Se posta a true nasconde la toolbar **(from 4.5.0)** 
 +            -**hideToolbarByGwClassName**:​ Mappa, ​optional, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideToolbar **(from 4.5.0)** 
 +            -**hideNewIgnorePermissions**:​ Boolean, ​optional, default false. Se posta a true nasconde la toolbar **(from 4.5.0)**
             -**hideNewIgnorePermissionsByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideNewIgnorePermissions **(from 4.5.0)**             -**hideNewIgnorePermissionsByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideNewIgnorePermissions **(from 4.5.0)**
-            -**hideDeleteIgnorePermissions**:​ Boolean, ​opzionale, default false. Se posta a true nasconde la toolbar **(from 4.5.0)** +            -**hideDeleteIgnorePermissions**:​ Boolean, ​optional, default false. Se posta a true nasconde la toolbar **(from 4.5.0)** 
-            -**hideDeleteIgnorePermissionsByGwClassName**:​ Mappa, ​opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideDeleteIgnorePermissions **(from 4.5.0)** +            -**hideDeleteIgnorePermissionsByGwClassName**:​ Mappa, ​optional, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideDeleteIgnorePermissions **(from 4.5.0)** 
-            -**hideActionsDropDownButtonColumn**:​ Boolean, ​opzionale, default false. Se posta a true nasconde in lista la colonna che ospita il button 'More options'​ (aka tre puntini: '​...'​) che ospita le azioni/​report lanciabili dall'​utente,​ in cui spesso non viene configurato nulla e quindi si preferisce non farlo comparire+            -**hideActionsDropDownButtonColumn**:​ Boolean, ​optional, default false. Se posta a true nasconde in lista la colonna che ospita il button 'More options'​ (aka tre puntini: '​...'​) che ospita le azioni/​report lanciabili dall'​utente,​ in cui spesso non viene configurato nulla e quindi si preferisce non farlo comparire
             -**hideActionsDropDownButtonColumnByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideActionsDropDownButtonColumn             -**hideActionsDropDownButtonColumnByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideActionsDropDownButtonColumn
-            -**hideIndirectSelectionColumn**:​ Boolean, ​optionale, default false. Se posta a true nasconde in lista la colonna che ospita il check per la selezione delle righe+            -**hideIndirectSelectionColumn**:​ Boolean, ​optional, default false. Se posta a true nasconde in lista la colonna che ospita il check per la selezione delle righe
             -**hideIndirectSelectionColumnByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideIndirectSelectionColumn             -**hideIndirectSelectionColumnByGwClassName**:​ Mappa, opzionale, default null. Ospita le coppie gwClassName/​hide dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale hideIndirectSelectionColumn
-            -**onRowClickGwActionName**:​ String, ​optionale, default null. Nome dell'​azione ospitata dentro la gwClass che verrà eseguita al click sul record della lista **(from 4.5.0)** +            -**onRowClickGwActionName**:​ String, ​optional, default null. Nome dell'​azione ospitata dentro la gwClass che verrà eseguita al click sul record della lista **(from 4.5.0)** 
-            -**onRowClickGwActionNameByGwClassName**:​ Mappa, ​opzionale, default null. Ospita le coppie gwClassName/​gwActionName dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale onRowClickGwActionName **(from 4.5.0)**+            -**onRowClickGwActionNameByGwClassName**:​ Mappa, ​optional, default null. Ospita le coppie gwClassName/​gwActionName dove si può sovrascrivere il comportamento classe per classe. Ha priorità sul parametro globale onRowClickGwActionName **(from 4.4.11)**
  
 <code xml> <code xml>
Linea 115: Linea 511:
                 <entry gwClassName="​gw_class_name"​ defaultDetailLayoutName="​specific_default_detail_layout_name"/>​                 <entry gwClassName="​gw_class_name"​ defaultDetailLayoutName="​specific_default_detail_layout_name"/>​
             </​defaultDetailLayoutNameByGwClassName>​             </​defaultDetailLayoutNameByGwClassName>​
 +            <​hideDefaultButtons>​false</​hideDefaultButtons>​
 +            <​hideDefaultButtonsByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"​ />
 +            </​hideDefaultButtonsByGwClassName>​
 +            <​hideCloseButton>​false</​hideCloseButton>​
 +            <​hideCloseButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"​ />
 +            </​hideCloseButtonByGwClassName>​
 +            <​hideSaveButton>​false</​hideSaveButton>​
 +            <​hideSaveButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"​ />
 +            </​hideSaveButtonByGwClassName>​
 +            <​hideSaveAndCloseButton>​false</​hideSaveAndCloseButton>​
 +            <​hideSaveAndCloseButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"​ />
 +            </​hideSaveAndCloseButtonByGwClassName>​
 +            <​hideCreateButton>​false</​hideCreateButton>​
 +            <​hideCreateButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"​ />
 +            </​hideCreateButtonByGwClassName>​
 +            <​hideCreateAndCloseButton>​false</​hideCreateAndCloseButton>​
 +            <​hideCreateAndCloseButtonByGwClassName>​
 +                <entry gwClassName="​gw_class_name"​ hide="​true"​ />
 +            </​hideCreateAndCloseButtonByGwClassName>​
         </​gwClassDetailSettings>​         </​gwClassDetailSettings>​
    
Linea 143: Linea 563:
             <entry gwClassName="​gw_class_name_2"​ hide="​false"​ />             <entry gwClassName="​gw_class_name_2"​ hide="​false"​ />
             </​hideIndirectSelectionColumnByGwClassName>​             </​hideIndirectSelectionColumnByGwClassName>​
-            <onRowClickGwActionNameByGwClassName>​gw_action_name</​onRowClickGwActionNameByGwClassName>+            <onRowClickGwActionName>​gw_action_name</​onRowClickGwActionName>
             <​onRowClickGwActionNameByGwClassName>​             <​onRowClickGwActionNameByGwClassName>​
     <entry gwClassName="​gw_class_name_1"​ gwActionName="​gw_action_name"​ />     <entry gwClassName="​gw_class_name_1"​ gwActionName="​gw_action_name"​ />
Linea 168: Linea 588:
     -->     -->
 </​code>​ </​code>​
 +
 +
 +**gwClassListSettings**,​ matrice supporto parametri globali per componente:
 +
 +^ Parametro ^ gwClassList ^ prefilteredList ^ linkList ^ linkListNam ^ hierarchicalFilterMenu ^
 +| hideToolbar | 4.4.11 | - | - | - | 4.4.11 |
 +| hideToolbarByGwClassName | 4.4.11 | - | - | - | 4.4.11 |
 +| hideNewIgnorePermissions | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideNewIgnorePermissionsByGwClassName | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideDeleteIgnorePermissions | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideDeleteIgnorePermissionsByGwClassName | 4.4.11 | - | 4.4.11 | - | 4.4.11 |
 +| hideActionsDropDownButtonColumn | SI | SI | SI | SI | - |
 +| hideActionsDropDownButtonColumnByGwClassName | SI | SI | SI | SI | - |
 +| hideIndirectSelectionColumn | SI | SI | SI | SI | - |
 +| hideIndirectSelectionColumnByGwClassName | SI | SI | SI | SI | - |
 +| onRowClickGwActionName | 4.4.11 | NO | 4.4.11 | - | SI |
 +| onRowClickGwActionNameByGwClassName | 4.4.11 | NO | 4.4.11 | - | SI |
 +
 +(SI=supportato,​ NO=previsto ma non implementato ancora, 4.x.y=supportato dalla versione, -=non applicabile)
 +
  
 \\ \\
  • gwusermanual/interface/interface/menu.1584444028.txt.gz
  • Ultima modifica: 2020/03/17 12:20
  • da giorgio.scali