Indice

Apertura dettaglio classe (gwClassDetail)

Di seguito una lista di funzioni javascript usabili per aprire le varie tipologie di dettaglio della classe:

Parametri:

Parametri Deprecati:

openGwClassDetailFloatingPane()

Apre la scheda di dettaglio classe in floatingPane dojo. Un floatingPane è un particolare dialog non modale (a meno di configurazione) e ridimensionabile (a meno di configurazione)

Proprietà specifiche del parametro options:

Codice minimale:

var itemId = '123';
var gwClassName = 'gw_class_name';
var gwClassDetailContainer = openGwClassDetailFloatingPane(itemId, gwClassName);

openGwClassDetailDialog()

Apre la scheda di dettaglio classe in dialog dojo. Questo è un dialog applicativo di dojo (non di quelli aperti tipo popup) modale e non ridimensionabile.

Proprietà specifiche del parametro options:

Codice minimale:

var itemId = '123';
var gwClassName = 'gw_class_name';
var gwClassDetailContainer = openGwClassDetailDialog(itemId, gwClassName);

openGwClassDetailTab()

Apre la scheda di dettaglio classe in un tab.

Parametri specifici ulteriori:

Proprietà specificche del parametro options:

Codice minimale:

var itemId = '123';
var gwClassName = 'gw_class_name';
var gwClassDetailContainer = openGwClassDetailTab(itemId, gwClassName);

Esempi

Apertura su floatingPane del dettaglio del record '123' della classe 'gw_class_name', usando gli attributi specificati in forcedAttributesNamesList, sovrascrivendone le proprietà come imposto in attributesOverrisionsMap, imponendo dimensioni ad hoc, usando useCookie a false per far si che le dimensions non siano salvate su cookie ed applicate a tutti i gwClassDetail aperti dall'utente per quella classe nel progetto, nascondendo la top toolbar, nascondendo i bottoni di default e fornendo dei bottoni custom come specificato nell'array extraBottomToolbarButtons (qui sono ricreati il tasto 'chiudi' e 'salva e chiudi', con una callback per aggiungere codice - al posto di TODO - al comportamento base).

var itemId = '123';
var gwClassName = 'gw_class_name';
var options = {
    attributesOverrisionsMap: {
        attribute_name_1: { readonly: true, required: false, hidden: false},
        attribute_name_2: { readonly: false, required: true, hidden: false},
        attribute_name_3: { readonly: false, required: true, hidden: false}
    },
    forcedAttributesNamesList: ['attribute_name_1','attribute_name_2','attribute_name_3'],
    dimensions: { w: 400, h: 200 },    
    useCookie: false,
    hideTopToolbar: true,
    //editIgnorePermissions: true, //(already @Deprecated, @Removed from version 4.7.1)
    hideDefaultButtons: true, 
    extraBottomToolbarButtons: [
        {
            label: closeLabel,
            iconClass: 'iconClose',
            functionCode: function(
                evt, itemId, gwClassName, detailContainerId, targetId
            ){
                onDetailCloseButtonClick(detailContainerId, this);
            }
        },
        {
            label: saveAndCloseLabel,
            iconClass: 'iconSaveAndClose', 
            functionCode: function( 
                evt, itemId, gwClassName, detailContainerId, targetId
            ){
                var detailContainerWidget = dijit.registry.byId(detailContainerId);
                detailContainerWidget._hadToBeClosed = true;
                var callback = function(
                    params
                    /* params contains:
                    className, itemId, sqlStatement, detailContainerId, sendFormDomNode,
                    formsValuesGwidKeyed, formsValuesNameKeyed, formsValuesToShowGwidKeyed,
                    formsValuesToShowNameKeyed, allFormsValuesGwidKeyed,
                    allFormsValuesNameKeyed, allFormsValuesToShowGwidKeyed, 
                    allFormsValuesToShowNameKeyed*/
                ){
                    //TODO aggiungi qui codice js da eseguire al termine del salvataggio
                };
                var params = {
                    className: gwClassName,
                    sqlStatement: 'update',
                    detailContainerId: detailContainerId,
                    buttonWidget: this,
                    callback: callback
                };
                sendGwClassDetailForm(params);
            }
        }
    ]
}
var gwClassDetailContainer = openGwClassDetailFloatingPane(itemId, gwClassName, options);

Apertura su tab del dettaglio del record '123' della classe 'gw_class_name' usando uno specifico layout, di nome 'custom_detail_layout', forzando il readonly e nascondendo la top toolbar.

var itemId = 12345;
var gwClassName = 'gw_class_name';
var options = {
    detailLayoutName: 'custom_detail_layout',
    visualizeIgnorePermissions: true,
    hideTopToolbar: true
};
var gwClassDetailContainer = openGwClassDetailTab(itemId, gwClassName, options);