@josmangarsal/pragmatic-scheduler
Version:
React resource scheduler
35 lines (34 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useDivisionDetailsGenerator = void 0;
var react_1 = require("react");
var useDivisionDetailsGenerator = function (intervalIncrement, _a) {
var startDate = _a.startDate, endDate = _a.endDate;
var divisionDetails = (0, react_1.useMemo)(function () {
// Go from 0 to 24 adding an interval increment
var divisions = [];
var initialHour = startDate ? startDate.getHours() + startDate.getMinutes() / 60 : 0;
var finalHour = endDate ? endDate.getHours() + endDate.getMinutes() / 60 : 24;
var startHour = initialHour;
while (startHour < finalHour) {
// Move startHour to string time format
var hours = Math.trunc(startHour).toString().padStart(2, '0');
var minutes = ((startHour % 1) * 60).toString().padStart(2, '0');
var endHour = startHour + intervalIncrement;
if (endHour > finalHour) {
endHour = finalHour;
}
divisions.push({
name: "".concat(hours, ":").concat(minutes),
startHour: startHour,
endHour: endHour,
});
startHour += intervalIncrement;
}
return divisions;
}, [endDate, intervalIncrement, startDate]);
return {
divisionDetails: divisionDetails,
};
};
exports.useDivisionDetailsGenerator = useDivisionDetailsGenerator;