Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
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** String, optional. Titolo per il tab. | + | * **params** Object, required |
* **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 gwTimeTable. Può essere impostato anche con il valore 'auto', in tal caso lo spazio a disposizione viene equamente | + | * **hourSize** Integer, optional, default 100. The 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', | ||
- | gwdResourcesFilters: gwdResourcesFilters | + | //gwdResources: gwdResources, |
- | nDays: '15', | + | gwdResourcesFilters: gwdResourcesFilters, |
- | 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> |