@josmangarsal/pragmatic-scheduler
Version:
React resource scheduler
17 lines (16 loc) • 953 B
JavaScript
;
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;