Apertura scheda gwTimeTable

La gwTimeTable è una particolare tipologia di scheda descritta qui.

Per aprire questa tipologia di tab è esposta l'apposita function openGwTimeTableTab().

  • 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 qui.

  • insertIndex Integer, opzional. Determina in quale posizione verrà aperta la scheda. Se omesso la scheda verrà aperta a destra, in ultima posizione

Codice minimale.

example.js
var title = 'Title';
var gwClassName = 'gw_class_name';
var params = {
    className: gwClassName
};
var gwTimetableTab = openGwTimeTableTab(title, params);

Passaggio filtro delle risorse come stringa.

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);

Passaggio filtro delle risorse come lista di oggetti filtro.

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);

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.

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);

Esempio con utilizzo di tutti i parametri, anche opzionali

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);
  • custom/api_js_opengwtimetabletab.txt
  • Ultima modifica: 2020/01/08 10:22
  • da giorgio.scali