@progress/kendo-vue-grid 8.0.3-develop.3 → 8.1.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/Grid.d.ts +18 -2
  2. package/Grid.js +1 -1
  3. package/Grid.mjs +655 -511
  4. package/GridNav.d.ts +12 -2
  5. package/GridNav.js +1 -1
  6. package/GridNav.mjs +52 -24
  7. package/GridState.d.ts +12 -5
  8. package/GridState.js +1 -1
  9. package/GridState.mjs +84 -77
  10. package/RootGrid.d.ts +6 -0
  11. package/RootGrid.js +1 -1
  12. package/RootGrid.mjs +25 -25
  13. package/StatusBar.d.ts +55 -5
  14. package/StatusBar.js +8 -0
  15. package/StatusBar.mjs +81 -0
  16. package/cells/GridCell.d.ts +3 -0
  17. package/cells/GridCell.js +1 -1
  18. package/cells/GridCell.mjs +32 -29
  19. package/cells/GridEditCell.d.ts +2 -0
  20. package/cells/GridEditCell.js +1 -1
  21. package/cells/GridEditCell.mjs +1 -0
  22. package/cells/GridSelectionCell.js +1 -1
  23. package/cells/GridSelectionCell.mjs +16 -16
  24. package/common.d.ts +3 -0
  25. package/common.js +1 -1
  26. package/common.mjs +3 -0
  27. package/components/table/GridTable.d.ts +18 -0
  28. package/components/table/GridTable.js +8 -0
  29. package/components/table/GridTable.mjs +41 -0
  30. package/components/table/GridTableScrollable.d.ts +20 -0
  31. package/components/table/GridTableScrollable.js +8 -0
  32. package/components/table/GridTableScrollable.mjs +45 -0
  33. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  34. package/drag/ColumnDraggable.js +1 -1
  35. package/drag/ColumnDraggable.mjs +5 -4
  36. package/header/FilterRow.d.ts +3 -0
  37. package/header/FilterRow.js +1 -1
  38. package/header/FilterRow.mjs +46 -44
  39. package/header/Header.d.ts +5 -2
  40. package/header/Header.js +1 -1
  41. package/header/Header.mjs +10 -5
  42. package/header/HeaderRow.d.ts +3 -0
  43. package/header/HeaderRow.js +1 -1
  44. package/header/HeaderRow.mjs +148 -139
  45. package/index.d.mts +1 -0
  46. package/index.d.ts +1 -0
  47. package/index.js +1 -1
  48. package/index.mjs +20 -16
  49. package/interfaces/GridCellProps.d.ts +11 -0
  50. package/interfaces/GridColumnProps.d.ts +10 -6
  51. package/interfaces/GridProps.d.ts +31 -3
  52. package/interfaces/events.d.ts +26 -3
  53. package/package-metadata.js +1 -1
  54. package/package-metadata.mjs +2 -2
  55. package/package.json +12 -12
  56. package/utils/main.js +1 -1
  57. package/utils/main.mjs +68 -67
  58. package/utils/virtualColumns.d.ts +17 -0
  59. package/utils/virtualColumns.js +1 -1
  60. package/utils/virtualColumns.mjs +132 -39
@@ -5,54 +5,147 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- function m(u) {
9
- const { cellsToRender: n, columns: c, rowIndex: f, enableVirtualization: s } = u;
10
- if (!s || f !== 0 || !n || n.length === 0)
8
+ function A(f, e, n) {
9
+ let i = 0, p = !1;
10
+ if (n > 0 && e)
11
+ for (let l = 0; l < n; l++) {
12
+ const r = e[l] || [];
13
+ for (let u = 0; u < r.length; u++) {
14
+ const h = r[u], S = f[h];
15
+ (S.rowSpan || 1) > n - l && (i += S.headerColSpan || 1, u === 0 && (p = !0));
16
+ }
17
+ }
18
+ return { emptyColSpan: i, skipOffset: p };
19
+ }
20
+ function T(f, e) {
21
+ const n = f[e];
22
+ return !n || n.parentIndex < 0 ? [] : [n.parentIndex, ...T(f, n.parentIndex)];
23
+ }
24
+ function L(f, e, n) {
25
+ e.forEach((i) => {
26
+ T(f, i).forEach((l) => n.add(l));
27
+ });
28
+ }
29
+ function O(f, e, n) {
30
+ var p;
31
+ const i = f[e];
32
+ ((p = i == null ? void 0 : i.children) == null ? void 0 : p.length) > 0 && i.children.forEach((l) => {
33
+ let r = typeof l == "number" ? l : f.indexOf(l);
34
+ r >= 0 && !n.has(r) && (n.add(r), O(f, r, n));
35
+ });
36
+ }
37
+ function F(f) {
38
+ const { cellsToRender: e, columns: n, rowIndex: i, enableVirtualization: p, columnsMap: l } = f;
39
+ if (!p || !e || e.length === 0)
11
40
  return { columnsToRender: [], colSpans: [] };
12
- const t = [], o = [];
13
- let i = -1, d = -1;
14
- for (let l = 0; l < n.length; l++)
15
- c[n[l].columnIndex].locked || (i === -1 && (i = l), d = l);
16
- return n.forEach((l, r) => {
17
- if (t.push(l.columnIndex), r === i)
18
- o.push(l.colSpan);
19
- else if (r === d)
20
- o.push(l.colSpan);
21
- else {
22
- const a = c[l.columnIndex];
23
- o.push(a.headerColSpan || 1);
41
+ const r = [], u = [];
42
+ let h = -1, S = -1;
43
+ function g(o, c) {
44
+ let a = -1, s = -1;
45
+ for (let d = 0; d < c.length; d++)
46
+ o[c[d]].locked || (a === -1 && (a = d), s = d);
47
+ return { first: a, last: s };
48
+ }
49
+ const w = e.reduce((o, c) => o + c.colSpan, 0);
50
+ let x = [], t = [];
51
+ const V = n.filter((o) => o.children.length === 0), b = /* @__PURE__ */ new Map();
52
+ n.forEach((o, c) => {
53
+ if (o.children.length === 0) {
54
+ const a = V.findIndex((s) => s === o);
55
+ a >= 0 && b.set(a, c);
56
+ }
57
+ });
58
+ const k = /* @__PURE__ */ new Set();
59
+ if (e.forEach((o) => {
60
+ const c = b.get(o.columnIndex);
61
+ if (c !== void 0) {
62
+ k.add(c);
63
+ const a = T(n, c);
64
+ a.forEach((s) => k.add(s)), L(n, a, k), O(n, c, k), a.forEach((s) => {
65
+ O(n, s, k);
66
+ });
24
67
  }
25
- }), { columnsToRender: t, colSpans: o };
68
+ }), l && Array.isArray(l)) {
69
+ for (let o = 0; o < l.length; o++)
70
+ x[o] = l[o].filter(
71
+ (c) => k.has(c)
72
+ );
73
+ t = x[i] || [];
74
+ }
75
+ const U = g(n, t);
76
+ h = U.first, S = U.last;
77
+ let v = 0, R = 0, y = !1;
78
+ return t.forEach((o, c) => {
79
+ r.push(o);
80
+ const a = n[o], s = a.headerColSpan || 1;
81
+ let d;
82
+ if (h === S)
83
+ d = w;
84
+ else if (c === h) {
85
+ const m = a.virtualColumnOffset ? a.virtualColumnOffset : 0, { emptyColSpan: C, skipOffset: I } = A(n, x, i);
86
+ R += C, I && (R += m, y = !0), m > 0 && !I ? d = s + m : d = s;
87
+ } else if (c === S) {
88
+ let m = c === t.length - 1;
89
+ if (l != null && l[i]) {
90
+ const C = l[i], I = o;
91
+ let M = -1;
92
+ for (let E = C.length - 1; E >= 0; E--)
93
+ if (!n[C[E]].locked) {
94
+ M = C[E];
95
+ break;
96
+ }
97
+ m = I === M;
98
+ }
99
+ if (m)
100
+ d = s;
101
+ else {
102
+ const C = w - v - R;
103
+ if (d = Math.max(C, s), s > C && u.length > 0) {
104
+ const I = s - C;
105
+ u[0] -= I;
106
+ }
107
+ }
108
+ } else
109
+ d = s;
110
+ u.push(d), v += d;
111
+ }), {
112
+ columnsToRender: r,
113
+ colSpans: u,
114
+ skipOffset: y
115
+ };
26
116
  }
27
- function p(u) {
28
- const { cellModels: n, columns: c = [], tableViewPortWidth: f, scrollLeft: s } = u;
29
- let t = 0, o = n.length - 1, i = 0, d = 0;
30
- for (let e = 0; e < n.length; e++)
31
- if (!c[n[e].columnIndex].locked && (i = d, d += n[e].width || 10, d >= s)) {
32
- t = e;
117
+ function B(f) {
118
+ const { cellModels: e, columns: n = [], tableViewPortWidth: i, scrollLeft: p } = f;
119
+ let l = 0, r = e.length - 1, u = 0, h = 0;
120
+ for (let t = 0; t < e.length; t++)
121
+ if (!n[e[t].columnIndex].locked && (u = h, h += e[t].width || 10, h >= p)) {
122
+ l = t;
33
123
  break;
34
124
  }
35
- for (let e = t; e < n.length; e++)
36
- if (!c[n[e].columnIndex].locked)
37
- if (i < f + s)
38
- i += n[e].width || 10, o = e;
125
+ for (let t = l; t < e.length; t++)
126
+ if (!n[e[t].columnIndex].locked)
127
+ if (u < i + p)
128
+ u += e[t].width || 10, r = t;
39
129
  else
40
130
  break;
41
- t > 0 && t--, o < n.length - 1 && o++;
42
- let l = 0, r = 0;
43
- for (let e = 0; e < t; e++)
44
- c[n[e].columnIndex].locked || (l += n[e].colSpan);
45
- for (let e = o + 1; e < n.length; e++)
46
- c[n[e].columnIndex].locked || (r += n[e].colSpan);
47
- n[t].colSpan += l, n[o].colSpan += r;
48
- const a = n.slice(0, t).filter((e) => c[e.columnIndex].locked), h = n.slice(o + 1).filter((e) => c[e.columnIndex].locked);
131
+ l > 0 && l--, r < e.length - 1 && r++;
132
+ let S = 0, g = 0;
133
+ for (let t = 0; t < l; t++)
134
+ n[e[t].columnIndex].locked || (S += e[t].colSpan);
135
+ for (let t = r + 1; t < e.length; t++)
136
+ n[e[t].columnIndex].locked || (g += e[t].colSpan);
137
+ e[l].colSpan += S, e[r].colSpan += g;
138
+ const w = e.slice(0, l).filter((t) => n[t.columnIndex].locked), x = e.slice(r + 1).filter((t) => n[t.columnIndex].locked);
49
139
  return [
50
- ...a,
51
- ...n.slice(t, o + 1),
52
- ...h
140
+ ...w,
141
+ ...e.slice(l, r + 1),
142
+ ...x
53
143
  ];
54
144
  }
55
145
  export {
56
- p as getVirtualCellsToRender,
57
- m as getVirtualHeaderCellsToRender
146
+ L as addAllAncestors,
147
+ O as addDescendants,
148
+ T as getParentIndices,
149
+ B as getVirtualCellsToRender,
150
+ F as getVirtualHeaderCellsToRender
58
151
  };