UNPKG

@josmangarsal/pragmatic-scheduler

Version:
17 lines (16 loc) 953 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCalcResourceRows = void 0; var react_1 = require("react"); var Scheduler_1 = require("../components/Scheduler"); var useOverlappingEvents_1 = require("./useOverlappingEvents"); var useCalcResourceRows = function () { var events = (0, react_1.useContext)(Scheduler_1.SchedulerContext).events; var getOverlappingOffset = (0, useOverlappingEvents_1.useOverlappingOffset)(); return (0, react_1.useCallback)(function (resource) { var resourceEvents = events.filter(function (event) { return event.resourceId === resource.id && event.allowOverlap !== true; }); var maxOverlappingEvents = resourceEvents.reduce(function (max, event) { return Math.max(max, getOverlappingOffset(event)); }, 0); return maxOverlappingEvents + 1; }, [events, getOverlappingOffset]); }; exports.useCalcResourceRows = useCalcResourceRows;