UNPKG

@josmangarsal/pragmatic-scheduler

Version:
35 lines (34 loc) 1.51 kB
"use strict"; 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;