custom:api_js_opengwclassdetailmultiple

Apertura dettaglio classe Multiplo (gwClassDetail Multiple)

E' possibile modificare una o più proprietà su più record allo stesso tempo, mediante un particolare dettaglio di classe. Questo particolare gwClassDetail, in corrispondenza di ogni widget, permette di:

  • segnalare se i record oggetto di editing multiplo hanno diversi valori. Il colore di riferimento per lo sfondo/alone del widget è il blu pallido. In caso di widget con una componente derivata da dijit/form/TextBox viene scritto anche il placeHolder '<valori multipli>'
  • segnalare se i record oggetto di editing multiplo hanno stesso valore, e mostrarlo. Non viene usato alcun colore per sfondo/alone del widget.
  • segnalare se i record oggetto di editing multiplo hanno tutti valore nullo. Non viene usato alcun colore per sfondo/alone del widget.
  • annullare i valori per tutti i record oggetto di editing multiplo. In seguito all'annullamento viene usato un colore giallo pallido per lo sfondo/alone del widget solo nel caso in cui all'apertura c'erano valori multipli od un singolo valore non nullo
  • segnalare l'eventuale avventa modifica multipla (non ancora persistita con il click su 'Salva'). In seguito alla modifica viene usato un colore giallo pallido per lo sfondo/alone del widget
  • in caso di modifica senza click sul tasto 'Salva', ripristinare i valori come all'apertura del gwClassDetail

Al click su 'Salva' verranno persistite le modifiche su tutti i record interessati. Per ogni record verrà eseguito l'eventuale trigger applicativo esistente.


  • gwClassName String, required. E' il nome della gwClass
  • detailLayoutName String, required. E' il nome del layout di Classe da utilizzare per aprire il gwClassDetail
  • queryParameter Object, optional. {filters:[]} Contiene la lista di filtri da applicare per determinare i record interessati dalla modifica multipla. Se assente non applica filtri e quindi interviene su tutti i record (al netto di permessi di ambito/dacl)
  • options Object, optional:
    • openingDetailMode String, optional, default 'floatingPane'
  • In genere questa function viene utilizzata dentro una gwAction di tipo 'Selezionati in Lista', e agisce solo sui record selezionati dall'utente.
  • Il detailLayoutName dovrebbe essere uno specifico e pensato per l'azione, in maniera tale che ospiti solo i campi che si vuole effettivamente permettere all'utente di modificare.
  • Ogni tipologia di widget, in fase di creazione da parte degli sviluppatori, viene dichiarato essere adatto o meno all'editing multiplo. Nel caso il detailLayoutName specificato contenga gruppi attributi contenenti widget non adatti, un'eccezione viene generata.
  • In ogni caso, se un determinato widget è in readonly o disabled, esso non sarà modificabile tramite la gwClassDetail multiple. Attualmente, anche eventuali azioni di dettaglio pronto, o eventi attributi che andassero a modificare redonly/disabled dell'attributo successivamente all'apertura del gwClassDetail, non riattiverebbero il pieno supporto all'editing multiplo
  • La funzionalità, data la sua natura massiva ed irreversibile, andrebbe usata con estrema parsimonia e solo nei casi veramente necessari.

Esempio di utilizzo da dentro una gwClass di tipo 'Selezionati in Lista':

//queryParameter is an incoming parameter from js action in gwClassList
if(grid!=null && grid.query!=null) queryParameter.staticFilters = clone(grid.query.query.staticFilters);
 
var gwClassName = 'gwClassName';
var detailLayoutName = 'detailLayoutName';
var options = {
	openingDetailMode: 'floatingPane'
};
var gwClassDetailMultiple = openGwClassDetailMultiple(gwClassName, detailLayoutName, queryParameter, options);
  • custom/api_js_opengwclassdetailmultiple.txt
  • Ultima modifica: 2019/11/06 09:42
  • (modifica esterna)