UNPKG

@progress/kendo-react-grid

Version:

React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package

39 lines (38 loc) 1.34 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ function k(s) { const { cellModels: l, columns: o = [], tableViewPortWidth: u, scrollLeft: c } = s; let n = 0, t = l.length - 1, i = 0, d = 0; for (let e = 0; e < l.length; e++) if (!o[l[e].columnIndex].locked && (i = d, d += l[e].width || 10, d >= c)) { n = e; break; } for (let e = n; e < l.length; e++) if (!o[l[e].columnIndex].locked) if (i < u + c) i += l[e].width || 10, t = e; else break; n > 0 && n--, t < l.length - 1 && t++; let r = 0, f = 0; for (let e = 0; e < n; e++) o[l[e].columnIndex].locked || (r += l[e].colSpan); for (let e = t + 1; e < l.length; e++) o[l[e].columnIndex].locked || (f += l[e].colSpan); l[n].colSpan += r, l[t].colSpan += f; const a = l.slice(0, n).filter((e) => o[e.columnIndex].locked), h = l.slice(t + 1).filter((e) => o[e.columnIndex].locked); return [ ...a, ...l.slice(n, t + 1), ...h ]; } export { k as getVirtualCellsToRender };