Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
custom:api_js_gw_class_detail_exposed_fx [2019/12/17 12:58] giorgio.scali creata |
custom:api_js_gw_class_detail_exposed_fx [2020/02/13 18:29] (versione attuale) giorgio.scali |
||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== gwClassDetail funzioni esposte ====== | ====== gwClassDetail funzioni esposte ====== | ||
+ | |||
+ | Il gwClassDetail rappresenta il dettaglio di classe. In qualunque forma esso sia aperto (//tab//, //dialog//, //floatingPane//), l'oggetto dojo contenitore del gwClassDetail (AKA //detailContainer//) espone tutta una serie di function di utilità, che servono per interagire con il gwClassDetail o conoscerne lo stato corrente. | ||
* [[:custom:api_js_gw_class_detail_exposed_fx#getGwWidgets|getGwWidgets()]] | * [[:custom:api_js_gw_class_detail_exposed_fx#getGwWidgets|getGwWidgets()]] | ||
Linea 14: | Linea 16: | ||
* [[:custom:api_js_gw_class_detail_exposed_fx#disableGwActionInToolbarButton|disableGwActionInToolbarButton()]] | * [[:custom:api_js_gw_class_detail_exposed_fx#disableGwActionInToolbarButton|disableGwActionInToolbarButton()]] | ||
* [[:custom:api_js_gw_class_detail_exposed_fx#enableGwActionInToolbarButton|enableGwActionInToolbarButton()]] | * [[:custom:api_js_gw_class_detail_exposed_fx#enableGwActionInToolbarButton|enableGwActionInToolbarButton()]] | ||
+ | * [[:custom:api_js_gw_class_detail_exposed_fx#isGwFormValid|isGwFormValid()]] | ||
+ | * [[:custom:api_js_gw_class_detail_exposed_fx#notifyGwFormNotValidToUser|notifyGwFormNotValidToUser()]] | ||
+ | * [[:custom:api_js_gw_class_detail_exposed_fx#validateGwForm|validateGwForm()]] | ||
+ | |||
===== getGwWidgets() ===== | ===== getGwWidgets() ===== | ||
- | It returns only ONE widget or null. By default the research is done only between the IN EDIT widget. | ||
- | Optionally even IN VISUALIZATION widgets can be included in research. | ||
- | === Parameters === | + | Ritorna un array di oggetti gwWidget (array vuoto, [], nel caso niente venga trovato). Di norma la ricerca viene effettuata solo all'interno dei dettagli di classe dove //detailMode=='edit'//. Si può opzionalmente includere nella ricerca anche i widget contenuti dentro i dettagli di classe dove //detailMode=='visualization'//, agendo sul flag //includeAll//. |
+ | |||
+ | === Parametri === | ||
+ | * **params**: Object, richiesto. Oggetto contenente le seguenti proprietà: | ||
+ | * **name**: String, optionale. Il name del gwAttribute collegato al gwWidget. Se fornito è usato come criterio di ricerca. Se omesso, verrà ritornato il primo widget disponibile. | ||
+ | * **gwid**: Integer, optionale. Il gwid del gwAttribute collegato al gwWidget. Se fornito è usato come criterio di ricerca. Se omesso, verrà ritornato il primo widget disponibile. | ||
+ | * **includeAll**: Boolean, optionale, default false. Se posto a true, includere nella ricerca anche i widget contenuti dentro form di classe dove //detailMode=='visualization'//. | ||
+ | * **queryContext**: String|domNode, optionale, default null. Se fornito questo verrà usato come nodo di restrizione per eseguire la query. (Usato internamente a Geoweb per il funzionamento delle schede //Procedure// del //workflow//. | ||
+ | |||
+ | === Esempi === | ||
+ | Recupera tutti i widget in edit del gwClassDetail | ||
+ | <code javascript> | ||
+ | var widgets = detailContainer.getGwWidgets(); | ||
+ | </code> | ||
+ | |||
+ | Recupera tutti i widget del gwClassDetail, cercando anche fra quelli contenuti in form di classe dove detailMode=='visualization'. | ||
+ | <code javascript> | ||
+ | var widgets = detailContainer.getGwWidgets({includeAll: true}); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== getGwWidget() ===== | ||
+ | |||
+ | Ritorna un singolo gwWidget (array vuoto, [], nel caso niente venga trovato). Di norma la ricerca viene effettuata solo all'interno dei dettagli di classe dove //detailMode=='edit'//. Si può opzionalmente includere nella ricerca anche i widget contenuti dentro i dettagli di classe dove //detailMode=='visualization'//, agendo sul flag //includeAll//. | ||
+ | |||
+ | === Parametri === | ||
+ | * **params**: Object, richiesto. Oggetto contenente le seguenti proprietà: | ||
+ | * **name**: String, optionale. Il name del gwAttribute collegato al gwWidget. Se fornito è usato come criterio di ricerca. Se omesso, verrà ritornato il primo widget disponibile. | ||
+ | * **gwid**: Integer, optionale. Il gwid del gwAttribute collegato al gwWidget. Se fornito è usato come criterio di ricerca. Se omesso, verrà ritornato il primo widget disponibile. | ||
+ | * **includeAll**: Boolean, optionale, default false. Se posto a true, includere nella ricerca anche i widget contenuti dentro form di classe dove //detailMode=='visualization'//. | ||
+ | * **queryContext**: String|domNode, optionale, default null. Se fornito questo verrà usato come nodo di restrizione per eseguire la query. (Usato internamente a Geoweb per il funzionamento delle schede //Procedure// del //workflow//. | ||
+ | |||
+ | === Esempi === | ||
+ | Recupera il primo widget trovato in edit del gwClassDetail. | ||
+ | <code javascript> | ||
+ | var widget = detailContainer.getGwWidget({name: 'gw_attribtue_name'}); | ||
+ | </code> | ||
+ | |||
+ | Recupera il primo widget trovato del gwClassDetail, cercando anche fra quelli contenuti in form di classe dove detailMode=='visualization'. | ||
+ | <code javascript> | ||
+ | var widget = detailContainer.getGwWidget({name: 'gw_attribtue_name', includeAll: true); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== setFormValues() ===== | ||
+ | |||
+ | Ritorna un singolo gwWidget (array vuoto, [], nel caso niente venga trovato). Di norma la ricerca viene effettuata solo all'interno dei dettagli di classe dove //detailMode=='edit'//. Si può opzionalmente includere nella ricerca anche i widget contenuti dentro i dettagli di classe dove //detailMode=='visualization'//, agendo sul flag //includeAll//. | ||
+ | |||
+ | === Parametri === | ||
+ | * **mapWithNameAsKey**: Object, richiesto. Oggetto mappa che ha per chiavi i //name// dei gwAttribute e valori i valori da settare nelle form di dettaglio di classe | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | detailContainer.setFormValues({attr_name_1: 'value1', attr_name_2: 2: attr_name_3: new Date()}); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== getFormValues() ===== | ||
+ | |||
+ | Ritorna una Object javascript che ha per chiavi i //name// dei gwAttribute e valori i valori attualmente presenti nelle form di dettaglio di classe | ||
+ | |||
+ | === Parametri === | ||
+ | * **onlyModified**: Boolean, opzionale, default true. Se posto a true viene ritornata una mappa contenente solo i valori dei gwWidget che sono stati modificati | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var onlyModified = true; | ||
+ | var formValues = detailContainer.getFormValues(onlyModified); | ||
+ | var attr_1_value = formValue.attr_1_name; //if 'attr_1_name' is the name of a gwAttribute inside the form | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== getFormValuesWithGwidAsKey() ===== | ||
+ | |||
+ | Ritorna una Object javascript che ha per chiavi i //gwid// dei gwAttribute e valori i valori attualmente presenti nelle form di dettaglio di classe | ||
+ | |||
+ | === Parametri === | ||
+ | * **onlyModified**: Boolean, opzionale, default true. Se posto a true viene ritornata una mappa contenente solo i valori dei gwWidget che sono stati modificati | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var onlyModified = true; | ||
+ | var formValues = detailContainer.getFormValuesWithGwidAsKey(onlyModified); | ||
+ | var attr_1_value = formValue.attr_1_name; //if 'attr_1_name' is the name of a gwAttribute inside the form | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== getFormValuesToShow() ===== | ||
+ | |||
+ | Ritorna una Object javascript che ha per chiavi i //name// dei gwAttribute e valori i //valueToShow// attualmente presenti nelle form di dettaglio di classe. In alcuni widget //valueToShow//, valore in visualizzazione, si differenzia dal //valueToStore//, valore da persistere. Negli altri widget, non c'è tale distinzione ed i due coincidono in //value//. | ||
+ | |||
+ | === Parametri === | ||
+ | * **onlyModified**: Boolean, opzionale, default true. Se posto a true viene ritornata una mappa contenente solo i valori dei gwWidget che sono stati modificati | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var onlyModified = true; | ||
+ | var formValuesToShow= detailContainer.getFormValuesToShow(onlyModified); | ||
+ | var attr_1_valueToShow = formValuesToShow.attr_1_name; //if 'attr_1_name' is the name of a gwAttribute inside the form | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== createMapWithGwidAsKey() ===== | ||
+ | |||
+ | Ritorna una Object javascript che ha per chiavi i //name// dei gwAttribute e valori gli stessi valori dell' Object javascript in ingresso (indicizzato per //gwid//). | ||
+ | |||
+ | === Parametri === | ||
+ | * **nameAsKeyMap**: Boolean, richiesto. Object javascript, mappa chiave valore, che ha per chiavi i //name// dei gwAttribute | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var nameAsKeyMap = { | ||
+ | attr_1_name: 'value1', | ||
+ | attr_2_name: 2, | ||
+ | attr_3_name: new Date() | ||
+ | }; | ||
+ | var gwidAsKeyMap = detailContainer.createMapWithGwidAsKey(nameAsKeyMap); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== createMapWithNameAsKey() ===== | ||
+ | |||
+ | Ritorna una Object javascript che ha per chiavi i //gwid// dei gwAttribute e valori gli stessi valori dell' Object javascript in ingresso (indicizzato per //name//). | ||
+ | |||
+ | === Parametri === | ||
+ | * **gwidAsKeyMap**: Boolean, richiesto. Object javascript, mappa chiave valore, che ha per chiavi i //gwid// dei gwAttribute | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var gwidAsKeyMap = { | ||
+ | 123: 'value1', //123 is attr_1_gwid | ||
+ | 456: 2, //456 is attr_2_gwid | ||
+ | 789: new Date() //789 is attr_3_gwid | ||
+ | }; | ||
+ | var nameAsKeyMap = detailContainer.createMapWithGwidAsKey(gwidAsKeyMap); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== isSomeFormValueChanged() ===== | ||
+ | |||
+ | Ritorna true se il dettaglio corrente ha subito dei cambiamenti negli input delle form, ad opera dell'utente od automatismi, false altrimenti. | ||
+ | |||
+ | === Parametri === | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var isSomeFormValueChanged = detailContainer.isSomeFormValueChanged(); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== hideGwActionInToolbarButton() ===== | ||
+ | |||
+ | Dato il //name// della gwAction, nasconde il button corrispondente. | ||
+ | |||
+ | === Parametri === | ||
+ | * **gwActionName**: String, richiesto. Il //name// della gwAction del gwActionButton | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var gwActionName = 'gw_action_name'; | ||
+ | detailContainer.hideGwActionInToolbarButton(gwActionName); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== showGwActionInToolbarButton() ===== | ||
+ | |||
+ | Dato il //name// della gwAction, mostra il button corrispondente. | ||
+ | |||
+ | === Parametri === | ||
+ | * **gwActionName**: String, richiesto. Il //name// della gwAction del gwActionButton | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var gwActionName = 'gw_action_name'; | ||
+ | detailContainer.showGwActionInToolbarButton(gwActionName); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== disableGwActionInToolbarButton() ===== | ||
+ | |||
+ | Dato il //name// della gwAction, disabilita il button corrispondente. | ||
+ | |||
+ | === Parametri === | ||
+ | * **gwActionName**: String, richiesto. Il //name// della gwAction del gwActionButton | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var gwActionName = 'gw_action_name'; | ||
+ | detailContainer.disableGwActionInToolbarButton(gwActionName); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== enableGwActionInToolbarButton() ===== | ||
+ | |||
+ | Dato il //name// della gwAction, abilita il button corrispondente. | ||
+ | |||
+ | === Parametri === | ||
+ | * **gwActionName**: String, richiesto. Il //name// della gwAction del gwActionButton | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var gwActionName = 'gw_action_name'; | ||
+ | detailContainer.enableGwActionInToolbarButton(gwActionName); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ===== isGwFormValid() ===== | ||
+ | |||
+ | Ritorna un true se tutti gli eventuali gwForms nel detailContainer passano la validazione | ||
+ | |||
+ | === Parametri === | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | var isValid = detailContainer.isGwFormValid(); | ||
+ | if(isValid){ | ||
+ | //do stuff | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== notifyGwFormNotValidToUser() ===== | ||
+ | |||
+ | Notifica il gwUser riguardo ai widget che non hanno passato la validazione. La notifica comprende: | ||
+ | * evidenziare di rosso (contorno del widget) tutti i widget required non valorizzati | ||
+ | * In caso di una struttura di layout complessa, selezionare i figli dei TabContaine/AccordionContainer in maniera tale da visualizzare il primo widget non valido | ||
+ | * mostrare al gwUser, in concomitanza del primo widget non valido, un tooltip con le istruzioni per la corretta compilazione | ||
+ | |||
+ | === Parametri === | ||
+ | |||
+ | === Esempi === | ||
+ | <code javascript> | ||
+ | detailContainer.notifyGwFormNotValidToUser(); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ===== validateGwForm() ===== | ||
+ | |||
+ | In caso qualche widget della form non passi la validazione, notifica l'utente. | ||
+ | Di fatto, nella sua implementazione, utilizza internamente le js API isGwFormValid() e notifyGwFormNotValidToUser(). | ||
- | * **name**: String, optional. The gwAttribute name of the gwWidget. If provided is used as research criteria. If omitted, the first available gwWidget will be returned. | + | === Parametri === |
- | * **gwid**: Integer, optional. The gwAttribute gwid of the gwWidget. If provided is used as research criteria. If omitted, the first available gwWidget will be returned. | + | |
- | * **includeAll**: Boolean, optional, default false. If true in research will be included even all IN VISUALIZATION widgets. | + | |
- | * **queryContext**: String|domNode, optional, default null. If given this will be used as restriction node to perform the query. (Useful in workflow procedure stuff) | + | |
- | === Example === | + | === Esempi === |
<code javascript> | <code javascript> | ||
- | var detailContainer = registry.byId(detailContainerId); | + | detailContainer.validateGwForm(); |
- | var widgets = detailContainer.getGwWidgets({includeAll: true, queryContext: queryContext}); | + | |
</code> | </code> |