devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
31 lines (30 loc) • 1.29 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/view_model/generate_view_model/steps/add_position.js)
* Version: 25.2.5
* Build date: Fri Feb 20 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addPosition = void 0;
var _binary_search_cell_index = require("./binary_search_cell_index");
const addPosition = (entities, cells) => entities.map((entity => {
const cellIndex = (0, _binary_search_cell_index.binarySearchCellIndex)(cells, entity.startDateUTC);
let endCellIndex = cellIndex;
while (endCellIndex < cells.length - 1 && entity.endDateUTC > cells[endCellIndex].max && entity.endDateUTC >= cells[endCellIndex + 1].min) {
endCellIndex += 1
}
return Object.assign({}, entity, {
startDateUTC: Math.max(entity.startDateUTC, cells[cellIndex].min),
endDateUTC: Math.min(entity.endDateUTC, cells[endCellIndex].max),
cellIndex: cellIndex,
endCellIndex: endCellIndex,
rowIndex: cells[cellIndex].rowIndex,
columnIndex: cells[cellIndex].columnIndex
})
}));
exports.addPosition = addPosition;