UNPKG

@josmangarsal/pragmatic-scheduler

Version:
39 lines (38 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCalcGridPositions = void 0; var react_1 = require("react"); var Scheduler_1 = require("../components/Scheduler"); var useCalcResourceRows_1 = require("./useCalcResourceRows"); var useCalcGridPositions = function () { var _a = (0, react_1.useContext)(Scheduler_1.SchedulerContext), resources = _a.resources, config = _a.config, days = _a.days; var calcResourceRows = (0, useCalcResourceRows_1.useCalcResourceRows)(); var layouts = (0, react_1.useMemo)(function () { var rowCount = 0; return resources .map(function (_resource, index) { var rows = calcResourceRows(_resource); var y = rowCount; rowCount += rows; return days.map(function (day, dayIndex) { return day.divisions.map(function (division, divIndex) { var x = (dayIndex * day.divisions.length + divIndex) * config.divisionParts; return { i: "cell-".concat(index, "-").concat(dayIndex, "-").concat(divIndex), x: x, y: y, w: config.divisionParts, h: rows, static: true, day: day, division: division, resourceId: _resource.id, }; }); }); }) .flat(3); }, [calcResourceRows, config.divisionParts, days, resources]); return layouts; }; exports.useCalcGridPositions = useCalcGridPositions;