custom:api_js_opengwtimetabletab

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_opengwtimetabletab [2020/01/07 19:15]
giorgio.scali
custom:api_js_opengwtimetabletab [2020/01/08 10:22] (versione attuale)
giorgio.scali
Linea 1: Linea 1:
-====== Apertura ​GwTimeTable ​======+====== Apertura ​scheda gwTimeTable ​======
  
-La GwTimeTable ​è una particolare tipologia di scheda descritta [[gwusermanual:​interface:​schede#​gwTimeTable|qui]].+La gwTimeTable ​è una particolare tipologia di scheda descritta [[gwusermanual:​interface:​schede#​gwTimeTable|qui]].
  
 ===== openGwTimeTableTab() ===== ===== openGwTimeTableTab() =====
Linea 7: Linea 7:
  
 ==== Parametri ==== ==== Parametri ====
-  * **params** Object, optional, default null. It contains all parameters: +  * **title** String, optional 
-    * **title** Stringoptional. Titolo per il tab.+  * **params** Objectrequired
     * **className** String, required, gwClass name where the gwTimeTable works     * **className** String, required, gwClass name where the gwTimeTable works
     * **listedAttributesNames** String, optional, default null. gwAttributes name, comma separated (','​). Allow to control which columns to show inside the gwTimetable list. If not provided the default for the gwClass will be used     * **listedAttributesNames** String, optional, default null. gwAttributes name, comma separated (','​). Allow to control which columns to show inside the gwTimetable list. If not provided the default for the gwClass will be used
 +    * **detailLayoutName** String, optional. detailLayout name used to open the gwClassDetail on the gwTimeTable'​s cells click. If omitted the gwClass'​s default detailLayout is used
     * **gwdResources** String, optional, default null, alternative to gwdResourcesFilters. String, comma separated (','​) list containing the cod_resource inside gwd_resource relation. It can be used the notation ​ #​{gw_activeUser} that a will be replaced with the session gwUser.     * **gwdResources** String, optional, default null, alternative to gwdResourcesFilters. String, comma separated (','​) list containing the cod_resource inside gwd_resource relation. It can be used the notation ​ #​{gw_activeUser} that a will be replaced with the session gwUser.
     * **gwdResourcesFilters** Object[], optional, alternative to gwdResources. Filter[] that impose selection criteria on gwd_resource records.     * **gwdResourcesFilters** Object[], optional, alternative to gwdResources. Filter[] that impose selection criteria on gwd_resource records.
     * **nDays** Integer, optional, default 7. è un intero che rappresenta l'​orizzonte temporale di programmazione attività che verrà mostrato all'​utente quando aprirà la scheda gwTimeTable (parte sempre dal giorno risultante dall'​impostazione del parametro fromTodayOffset).     * **nDays** Integer, optional, default 7. è un intero che rappresenta l'​orizzonte temporale di programmazione attività che verrà mostrato all'​utente quando aprirà la scheda gwTimeTable (parte sempre dal giorno risultante dall'​impostazione del parametro fromTodayOffset).
     * **fromTodayOffset** Integer, opzionale, valore di default 1, è un intero che rappresenta l'​offset (in giorni) della prima data mostrata nel widget, rispetto ad oggi. Può essere anche negativo. Es: se vale 0 la prima data mostrata sara oggi; se vale 1, domani.     * **fromTodayOffset** Integer, opzionale, valore di default 1, è un intero che rappresenta l'​offset (in giorni) della prima data mostrata nel widget, rispetto ad oggi. Può essere anche negativo. Es: se vale 0 la prima data mostrata sara oggi; se vale 1, domani.
 +    * **dayColumnWidth** Integer, optional, valore di default 120, è un intero che rappresenta la dimensione in px della larghezza della colonna giorno della griglia della gwTimeTable. Può essere impostato anche con il valore '​auto',​ in tal caso lo spazio a disposizione in orizzontale viene equamente diviso fra il numero delle colonne individuato da **nDays**, senza aggiungere una scrollbar orizzontale
     * **useWorkshift** Integer, optional, valore di default false, flag che consente di far interagire la gwTimeTable con il modulo dei turni. Ciò comporta che alla modifica dei parametri temporali (inizio e durata o inizio e fine) di un'​attività assegnata (ad una risorsa) comporti un' interpolazione con i turni della risorsa per quel giorno. In caso di incongruenze la modifica verrà negata segnalando la cosa con un messaggio di errore. In sostanza l'​effetto con useWorkshift posto a true è che non sarà possibile assegnare un attività ad una risorsa in un certo giorno fuori dal suo turno di lavoro. Inoltre se posto a true, farà comparire un controllo di tipo '​check'​ nella scheda di modifica dell'​attività (con label '​Svincola da turni'​),​ che permetterà di escludere quell'​attività dall'​incrocio con i moduli dei turni, rendendola di fatto programmabile per qualsiasi giorno ed ora.     * **useWorkshift** Integer, optional, valore di default false, flag che consente di far interagire la gwTimeTable con il modulo dei turni. Ciò comporta che alla modifica dei parametri temporali (inizio e durata o inizio e fine) di un'​attività assegnata (ad una risorsa) comporti un' interpolazione con i turni della risorsa per quel giorno. In caso di incongruenze la modifica verrà negata segnalando la cosa con un messaggio di errore. In sostanza l'​effetto con useWorkshift posto a true è che non sarà possibile assegnare un attività ad una risorsa in un certo giorno fuori dal suo turno di lavoro. Inoltre se posto a true, farà comparire un controllo di tipo '​check'​ nella scheda di modifica dell'​attività (con label '​Svincola da turni'​),​ che permetterà di escludere quell'​attività dall'​incrocio con i moduli dei turni, rendendola di fatto programmabile per qualsiasi giorno ed ora.
     * **readonly** Boolean, optional, default false, flag che consente di aprire la scheda in modalità di sola lettura. Ciò comporta che le schede di modifica delle attività saranno aperte in modalità visualizzazione,​ indipendentemente da tutti i permessi statici e dinamici impostati per la classe con nome className.     * **readonly** Boolean, optional, default false, flag che consente di aprire la scheda in modalità di sola lettura. Ciò comporta che le schede di modifica delle attività saranno aperte in modalità visualizzazione,​ indipendentemente da tutti i permessi statici e dinamici impostati per la classe con nome className.
     * **reportPath** String, optional, default null, se presente sara disponibile sulla toolbar un bottone che al click apre la report come da path, passando come parametro '​gwd_resources',​ String contenente una clausola fra parentesi tonde di valori (valori gwd_resource in ingresso al widget) String separati dal carattere ','​. Esempio: gwd_resources:​ ('​001','​002'​).     * **reportPath** String, optional, default null, se presente sara disponibile sulla toolbar un bottone che al click apre la report come da path, passando come parametro '​gwd_resources',​ String contenente una clausola fra parentesi tonde di valori (valori gwd_resource in ingresso al widget) String separati dal carattere ','​. Esempio: gwd_resources:​ ('​001','​002'​).
     * **openReportButtonLabel** String, optional, default null, valutato solo se reportPath è presente. E' la label (e tooltip) applicata al bottone che apre la report. Se omessa viene mostrato un bottone senza label e con un generico '​Apri'​ localizzato come tooltip.     * **openReportButtonLabel** String, optional, default null, valutato solo se reportPath è presente. E' la label (e tooltip) applicata al bottone che apre la report. Se omessa viene mostrato un bottone senza label e con un generico '​Apri'​ localizzato come tooltip.
-    * **dayColumnWidth** Integer, optional, ​valore di default ​120, è un intero che rapprenta la dimensione in px della larghezza della colonna giorno della griglia della gwTimeTablePuò essere impostato anche con il valore '​auto', ​in tal caso lo spazio a disposizione viene equamente  +    * **hourSize** Integer, optional, default ​100The desired size (height) ​in pixels of one hour 
-    * **hourSize** Integer, optional +    * **timeSlotDuration** Integer, optional, default 15. The duration of minutes of the time slot (must be a divisor of 60)  
-    * **timeSlotDuration** Integer, optional +    * **minHours** Integer, optional, in range [0, 23], 8 default 
-    * **minHours** Integer, optional +    * **maxHours** ​ Integer, optional, in range [1, 36], 16 default 
-    * **maxHours** ​ Integer, optional +Gli ultimi 4 parametri ​influiscono sulla visualizzazione ​grafica della scheda dettaglio delle attività assegnate e/o programmate in un dato giorno. Questa scheda è basata principalmente sul componente **dojox/​calendar/​Calendar**. Sono tutti opzionali, e in caso di omissione sono utilizzati dei valori di default. Essi agiscono come descritto nella documentazione ufficiale visualizzabile [[https://​dojotoolkit.org/​reference-guide/​1.10/​dojox/​calendar.html|qui]]. 
-Gli ultimi 4 sono ripresi direttamente fra quelli esposti da dojo, ed influiscono sulla grafica della scheda dettaglio delle attività assegnate e programmate in un dato giorno. Sono opzionali, e in caso di omissione sono utilizzati dei valori di default. Essi agiscono come descritto nella documentazione ufficiale visualizzabile [[https://​dojotoolkit.org/​reference-guide/​1.10/​dojox/​calendar.html|qui]]. +  * **insertIndex** Integer, opzional. Determina in quale posizione verrà aperta la scheda. Se omesso la scheda verrà aperta a destra, in ultima posizione
  
 ==== Esempi ==== ==== Esempi ====
Linea 31: Linea 32:
 Codice minimale. Codice minimale.
 <code javascript example.js>​ <code javascript example.js>​
 +var title = '​Title';​
 var gwClassName = '​gw_class_name';​ var gwClassName = '​gw_class_name';​
 var params = { var params = {
-    title: '​title',​ 
     className: gwClassName     className: gwClassName
 }; };
-var gwTimetableTab = openGwTimeTableTab(params);​+var gwTimetableTab = openGwTimeTableTab(title, ​params);
 </​code>​ </​code>​
  
 Passaggio filtro delle risorse come stringa. Passaggio filtro delle risorse come stringa.
 <code javascript example.js>​ <code javascript example.js>​
 +var title = '​Title';​
 var gwClassName = '​gw_class_name';​ var gwClassName = '​gw_class_name';​
 +var gwdResources = '​001,​002,​003,​004,​005';​
 var params = { var params = {
-    title: '​title',​ 
     className: gwClassName,​     className: gwClassName,​
-   ​gwdResources: ​'​001,​002,​003,​004,​005'​+   ​gwdResources: ​gwdResources ​
 }; };
-var gwTimetableTab = openGwTimeTableTab(params);​+var gwTimetableTab = openGwTimeTableTab(title, ​params);
 </​code>​ </​code>​
  
-Passaggio filtro delle risorse lista filtri.+Passaggio filtro delle risorse ​come lista di oggetti filtro.
 <code javascript example.js>​ <code javascript example.js>​
 +var title = '​Title';​
 var gwClassName = '​gw_class_name';​ var gwClassName = '​gw_class_name';​
 var gwdResourcesFilters = [ var gwdResourcesFilters = [
Linea 58: Linea 61:
 }; };
 var params = { var params = {
-    title: '​title',​ 
     className: gwClassName,​     className: gwClassName,​
-    gwdResourcesFilters:​ gwdResourcesFilters, +    gwdResourcesFilters:​ gwdResourcesFilters 
-var gwTimetableTab = openGwTimeTableTab(params);​+} 
 +var gwTimetableTab = openGwTimeTableTab(title, ​params);
 </​code>​ </​code>​
  
-Passaggio filtro delle risorse lista filtri. Se lanciata da un azione ​di tipo '​List',​ gwdResourcesFilters è reperibile dai filtri attualmente impostati sulla gwClassList.+Passaggio filtro delle risorse ​come lista di oggetti filtro. Se lanciata da un gwAction ​di tipo '​List',​ gwdResourcesFilters è reperibile dai filtri attualmente impostati sulla griglia della scheda ​gwClassList. Essi sono contenuti nel parametro in ingresso alla gwAction, chiamato **queryParameter**.
 <code javascript example.js>​ <code javascript example.js>​
 +var title = '​Title';​
 var gwClassName = '​gw_class_name';​ var gwClassName = '​gw_class_name';​
-var gwdResourcesFilters = parameterQueryList.filters;+var gwdResourcesFilters = queryParameter.filters;
 var params = { var params = {
-    title: '​title',​ 
     className: gwClassName,​     className: gwClassName,​
     gwdResourcesFilters:​ gwdResourcesFilters,​     gwdResourcesFilters:​ gwdResourcesFilters,​
-var gwTimetableTab = openGwTimeTableTab(params);​+var gwTimetableTab = openGwTimeTableTab(title, ​params);
 </​code>​ </​code>​
  
 Esempio con utilizzo di tutti i parametri, anche opzionali Esempio con utilizzo di tutti i parametri, anche opzionali
 <code javascript example.js>​ <code javascript example.js>​
 +var title = '​Title';​
 var gwClassName = '​gw_class_name';​ var gwClassName = '​gw_class_name';​
 +//var gwdResources = '​001,​002,​003,​004,​005';​
 var gwdResourcesFilters = [ var gwdResourcesFilters = [
     {condition: '​AND',​ columnName: '​cod_resource',​ operator: '​=',​ filterType: '​STRING',​ value: ['​002'​]}     {condition: '​AND',​ columnName: '​cod_resource',​ operator: '​=',​ filterType: '​STRING',​ value: ['​002'​]}
Linea 83: Linea 88:
 }; };
 var params = { var params = {
-    title: '​title',​ 
     className: gwClassName,​     className: gwClassName,​
     detailLayoutName:​ '​who_n_when',​     detailLayoutName:​ '​who_n_when',​
     listedAttributesNames:​ '​job_order_code,​pr_type,​pr_expected_start_date,​pr_expected_end_date,​pr_expected_timspan,​job_order_description',​     listedAttributesNames:​ '​job_order_code,​pr_type,​pr_expected_start_date,​pr_expected_end_date,​pr_expected_timspan,​job_order_description',​
-    ​gwdResourcesFiltersgwdResourcesFilters +    ​//​gwdResourcesgwdResources
-    nDays: '​15'​+    ​gwdResourcesFiltersgwdResourcesFilters,
-    ​dayColumnWidth'​180',​ +
-    hourSize: '​60',​ +
-    timeSlotDuration:​ '​15',​ +
-    minHours: '​8',​ +
-    maxHours: '​18',​ +
-    fromTodayOffset:​ '​1',​ +
-    useWorkshift:​ true, //workshift module is used to compute timeslots,+
     readonly: false,     readonly: false,
 +    useWorkshift:​ true, //workshift module is used to compute timeslots
 +    nDays: 15,
 +    fromTodayOffset:​ 1,
 +    dayColumnWidth:​ 180,
 +    hourSize: 60,
 +    timeSlotDuration:​ 15,
 +    minHours: 8,
 +    maxHours: 18,
     reportPath: '​path/​to/​report.jasper',​     reportPath: '​path/​to/​report.jasper',​
     openReportButtonLabel:​ '​Stampa Programmazione Settimanale'​     openReportButtonLabel:​ '​Stampa Programmazione Settimanale'​
 }; };
-var gwTimetableTab = openGwTimeTableTab(params);​+var gwTimetableTab = openGwTimeTableTab(title, ​params);
 </​code>​ </​code>​
  • custom/api_js_opengwtimetabletab.1578420913.txt.gz
  • Ultima modifica: 2020/01/07 19:15
  • da giorgio.scali