UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

27 lines (26 loc) 1.12 kB
/** * DevExtreme (esm/__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/ */ import { binarySearchCellIndex } from "./binary_search_cell_index"; export const addPosition = (entities, cells) => entities.map((entity => { const cellIndex = 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 }) }));