Questa è una vecchia versione del documento!
Apertura GwTimeTable
La GwTimeTable è una particolare tipologia di scheda descritta qui.
openGwTimeTableTab()
Per aprire questa tipologia di tab è esposta l'apposita function openGwTimeTableTab().
Parametri
- params Object, optional, default null. It contains all parameters:
- title String, optional
- 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
- 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.
- 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 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.
- useWorkshift opzionale, 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 opzionale, valore di 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 opzionale, String, 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 opzionale, String, 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 opzionale, 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
- timeSlotDuration
- minHours
- maxHours sono ripresi direttamentefra 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 qui.
Esempi
Codice minimale.
- example.js
var gwClassName = 'gw_class_name'; var params = { title: 'title', className: gwClassName }; var gwTimetableTab = openGwTimeTableTab(params);
Passaggio filtro delle risorse come stringa.
- example.js
var gwClassName = 'gw_class_name'; var params = { title: 'title', className: gwClassName, gwdResources: '001,002,003,004,005' }; var gwTimetableTab = openGwTimeTableTab(params);
Passaggio filtro delle risorse lista filtri.
- example.js
var gwClassName = 'gw_class_name'; var gwdResourcesFilters = [ {condition: 'AND', columnName: 'cod_resource', operator: '=', filterType: 'STRING', value: ['002']} {condition: 'AND', columnName: 'cod_resource', operator: 'IS NOT NULL', filterType: 'STRING'} }; var params = { title: 'title', className: gwClassName, gwdResourcesFilters: gwdResourcesFilters, var gwTimetableTab = openGwTimeTableTab(params);
Passaggio filtro delle risorse lista filtri. Se lanciata da un azione di tipo 'List', gwdResourcesFilters è reperibile dai filtri attualmente impostati sulla gwClassList.
- example.js
var gwClassName = 'gw_class_name'; var gwdResourcesFilters = parameterQueryList.filters; var params = { title: 'title', className: gwClassName, gwdResourcesFilters: gwdResourcesFilters, var gwTimetableTab = openGwTimeTableTab(params);
Esempio con utilizzo di tutti i parametri, anche opzionali
- example.js
var gwClassName = 'gw_class_name'; var gwdResourcesFilters = [ {condition: 'AND', columnName: 'cod_resource', operator: '=', filterType: 'STRING', value: ['002']} {condition: 'AND', columnName: 'cod_resource', operator: 'IS NOT NULL', filterType: 'STRING'} }; var params = { title: 'title', className: gwClassName, detailLayoutName: 'who_n_when', listedAttributesNames: 'job_order_code,pr_type,pr_expected_start_date,pr_expected_end_date,pr_expected_timspan,job_order_description', gwdResourcesFilters: gwdResourcesFilters nDays: '15', dayColumnWidth: '180', hourSize: '60', timeSlotDuration: '15', minHours: '8', maxHours: '18', fromTodayOffset: '1', useWorkshift: true, //workshift module is used to compute timeslots, readonly: false, reportPath: 'path/to/report.jasper', openReportButtonLabel: 'Stampa Programmazione Settimanale' }; var gwTimetableTab = openGwTimeTableTab(params);