setWorkTime

sets the working time for the Gantt chart

void setWorkTime(object config);
configobjectthe configuration object of a time span

Example

gantt.config.work_time = true;
 
//changes the working time of working days from ["8:00-17:00"] to ["9:00-18:00"]
gantt.setWorkTime({ hours:["9:00-18:00"] });
 
//makes all Fridays day-offs
gantt.setWorkTime({ day:5, hours:false });
 
//changes the working time for Fridays and Saturdays 
// from ["8:00-17:00"] to ["8:00-12:00"]
gantt.setWorkTime({day : 5, hours : ["8:00-12:00"]});
gantt.setWorkTime({day : 6, hours : ["8:00-12:00"]});
 
//makes March 31 a working day 
gantt.setWorkTime({date : new Date(2013, 2, 31)});
 
//makes January 1 a day-off
gantt.setWorkTime({date:new Date(2013,0,1), hours:false})
 
//sets working time as 2 periods: 8:30-12:00, 13:00-17:00 (to keep time for lunch)
gantt.setWorkTime({hours : ["8:30-12:00", "13:00-17:00"]})

Related samples

Details

The method makes sense only if work_time is set to 'true'. Otherwise, the method will be ignored.

The default working time is the following:

  • Working days: Monday - Friday.
  • Working hours: 08:00 - 17:00.

The method is used to alter the default settings.


Note, each next call of the method for the same date will re-write the previous working-time rule:

gantt.setWorkTime({hours:["8:00-12:00"]});
gantt.setWorkTime({hours:["13:00-17:00"]});
//the result of following commands will be the working time 13:00-17:00
//and not a mixin of both commands

Configuration object properties

The configuration object can contain the following properties:

Property Description
day a number of a week day [0 (Sunday) - 6 (Saturday)]. Note, you can set only 1 day at once
//makes all Mondays day-offs
gantt.setWorkTime({ day:1, hours:false });
date a specific date to set as a working day or day off
//makes a specific date a day-off
gantt.setWorkTime({date:new Date(2013,0,1), hours:false})
hours an array of working hours as 'from'-'to' pairs.
'false' value sets a day-off, 'true' (default value) applies the default hours (["8:00-17:00"])
//sets the working time for Fridays from 8:00 till 12:00
gantt.setWorkTime({day : 5, hours : ["8:00-12:00"]});
customWeeks an object with different working-time rules for different periods of time.
The object can contain a set of key:value pairs where key is the name of a time span and value is an object that includes the following attributes:
  • from - (Date) mandatory, the date when the time span is scheduled to begin
  • to - (Date) mandatory, the date when the time span is scheduled to be completed
  • hours - (array) an array of working hours as 'from'-'to' pairs.
    'false' value sets a day-off, 'true' (default value) applies the default hours (["8:00-17:00"])
  • days - (array) an array of 7 days of the week (from 0 - Sunday, to 6 - Saturday), where 1/true stands for a working day and 0/false - a non-working day.
//changes the working time for winter months
gantt.setWorkTime({
    customWeeks: {
        winter: {
            from: new Date(2018, 11, 1), // December 1st, 2018
            to: new Date(2019, 2, 1), // March 1st 00:00, 2019
            hours: ["9:00-13:00", "14:00-16:00"],
            days: [ 1, 1, 1, 1, 0, 0, 0]
        }
    }
});
See also
Change log
  • the customWeeks property is added in v7.1;
  • the format of the hours property of the config is changed in version 7.0.
Back to top