Mostra paginaRevisioni precedentiPuntano quiEsporta in PDFTorna su Questa pagina è in sola lettura. Puoi visualizzare il sorgente, ma non puoi modificarlo. Contatta l'amministratore se pensi che ci sia un errore. ====== Apertura scheda gwTimeTable ====== La gwTimeTable è una particolare tipologia di scheda descritta [[gwusermanual:interface:schede#gwTimeTable|qui]]. ===== openGwTimeTableTab() ===== Per aprire questa tipologia di tab è esposta l'apposita function openGwTimeTableTab(). ==== Parametri ==== * **title** String, optional * **params** Object, required * **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 * **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. * **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** 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. * **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'). * **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. * **hourSize** Integer, optional, default 100. The desired size (height) in pixels of one hour * **timeSlotDuration** Integer, optional, default 15. The duration of minutes of the time slot (must be a divisor of 60) * **minHours** Integer, optional, in range [0, 23], 8 default * **maxHours** Integer, optional, in range [1, 36], 16 default 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]]. * **insertIndex** Integer, opzional. Determina in quale posizione verrà aperta la scheda. Se omesso la scheda verrà aperta a destra, in ultima posizione ==== Esempi ==== Codice minimale. <code javascript example.js> var title = 'Title'; var gwClassName = 'gw_class_name'; var params = { className: gwClassName }; var gwTimetableTab = openGwTimeTableTab(title, params); </code> Passaggio filtro delle risorse come stringa. <code javascript example.js> var title = 'Title'; var gwClassName = 'gw_class_name'; var gwdResources = '001,002,003,004,005'; var params = { className: gwClassName, gwdResources: gwdResources }; var gwTimetableTab = openGwTimeTableTab(title, params); </code> Passaggio filtro delle risorse come lista di oggetti filtro. <code javascript example.js> var title = 'Title'; 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 = { className: gwClassName, gwdResourcesFilters: gwdResourcesFilters } var gwTimetableTab = openGwTimeTableTab(title, params); </code> 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> var title = 'Title'; var gwClassName = 'gw_class_name'; var gwdResourcesFilters = queryParameter.filters; var params = { className: gwClassName, gwdResourcesFilters: gwdResourcesFilters, var gwTimetableTab = openGwTimeTableTab(title, params); </code> Esempio con utilizzo di tutti i parametri, anche opzionali <code javascript example.js> var title = 'Title'; var gwClassName = 'gw_class_name'; //var gwdResources = '001,002,003,004,005'; 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 = { 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', //gwdResources: gwdResources, gwdResourcesFilters: gwdResourcesFilters, 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', openReportButtonLabel: 'Stampa Programmazione Settimanale' }; var gwTimetableTab = openGwTimeTableTab(title, params); </code> custom/api_js_opengwtimetabletab.txt Ultima modifica: 2020/01/08 10:22da giorgio.scali