@progress/kendo-react-grid 9.3.1 → 9.4.0-develop.10
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.
- package/Grid.js +1 -1
- package/Grid.mjs +80 -1043
- package/GridClientContextReader.js +9 -0
- package/GridClientContextReader.mjs +31 -0
- package/GridClientWrapper.js +9 -0
- package/GridClientWrapper.mjs +793 -0
- package/GridColumn.js +1 -1
- package/GridColumn.mjs +4 -5
- package/GridComponent.js +8 -0
- package/GridComponent.mjs +594 -0
- package/GridSearchBox.js +8 -0
- package/GridSearchBox.mjs +35 -0
- package/GridState.js +9 -0
- package/GridState.mjs +99 -0
- package/GridToolbar.js +1 -1
- package/GridToolbar.mjs +5 -6
- package/GridWatermarkOverlay.js +9 -0
- package/{GridNoRecords.js → GridWatermarkOverlay.mjs} +8 -1
- package/StatusBar.js +1 -1
- package/StatusBar.mjs +24 -25
- package/VirtualScroll.js +1 -1
- package/VirtualScroll.mjs +0 -1
- package/VirtualScrollFixed.js +1 -1
- package/VirtualScrollFixed.mjs +9 -10
- package/cells/GridCell.js +1 -1
- package/cells/GridCell.mjs +22 -34
- package/cells/GridDetailCell.js +1 -1
- package/cells/GridDetailCell.mjs +12 -20
- package/cells/GridDetailHierarchyCell.js +1 -1
- package/cells/GridDetailHierarchyCell.mjs +6 -7
- package/cells/GridEditCell.js +1 -1
- package/cells/GridEditCell.mjs +22 -131
- package/cells/GridFilterCell.js +2 -1
- package/cells/GridGroupCell.js +1 -1
- package/cells/GridGroupCell.mjs +60 -96
- package/cells/GridHierarchyCell.js +1 -1
- package/cells/GridHierarchyCell.mjs +22 -62
- package/cells/GridRowReorderCell.js +8 -0
- package/cells/GridRowReorderCell.mjs +41 -0
- package/cells/GridSelectionCell.js +1 -1
- package/cells/GridSelectionCell.mjs +18 -37
- package/cells/client/DetailCellContainer.js +9 -0
- package/cells/client/DetailCellContainer.mjs +26 -0
- package/cells/client/GridCellContainer.js +9 -0
- package/cells/client/GridCellContainer.mjs +68 -0
- package/cells/client/GridEditCellContainer.js +9 -0
- package/cells/client/GridEditCellContainer.mjs +60 -0
- package/cells/client/GridEditCellEditor.js +9 -0
- package/cells/client/GridEditCellEditor.mjs +81 -0
- package/cells/client/GridGroupCellContainer.js +9 -0
- package/cells/client/GridGroupCellContainer.mjs +87 -0
- package/cells/client/GridGroupCellToggle.js +9 -0
- package/cells/client/GridGroupCellToggle.mjs +52 -0
- package/cells/client/GridHierarchyCellContainer.js +9 -0
- package/cells/client/GridHierarchyCellContainer.mjs +63 -0
- package/cells/client/GridHierarchyCellToggle.js +9 -0
- package/cells/client/GridHierarchyCellToggle.mjs +43 -0
- package/cells/client/GridRowReorderContainer.js +9 -0
- package/cells/client/GridRowReorderContainer.mjs +24 -0
- package/cells/client/GridSelectionCellContainer.js +9 -0
- package/cells/client/GridSelectionCellContainer.mjs +60 -0
- package/cells/client/GridSelectionCellInput.js +9 -0
- package/cells/client/GridSelectionCellInput.mjs +43 -0
- package/codemods/index.js +8 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +2 -1
- package/columnMenu/GridColumnMenuColumnsList.js +2 -1
- package/columnMenu/GridColumnMenuColumnsList.mjs +16 -16
- package/columnMenu/GridColumnMenuFilter.js +2 -1
- package/columnMenu/GridColumnMenuFilterCell.js +2 -1
- package/columnMenu/GridColumnMenuFilterCell.mjs +3 -3
- package/columnMenu/GridColumnMenuFilterUI.js +2 -1
- package/columnMenu/GridColumnMenuGroup.js +2 -1
- package/columnMenu/GridColumnMenuGroup.mjs +5 -5
- package/columnMenu/GridColumnMenuItem.js +2 -1
- package/columnMenu/GridColumnMenuItem.mjs +2 -2
- package/columnMenu/GridColumnMenuItemContent.js +2 -1
- package/columnMenu/GridColumnMenuItemContent.mjs +4 -4
- package/columnMenu/GridColumnMenuItemGroup.js +2 -1
- package/columnMenu/GridColumnMenuItemGroup.mjs +4 -4
- package/columnMenu/GridColumnMenuSort.js +2 -1
- package/columnMenu/GridColumnMenuSort.mjs +26 -37
- package/columnMenu/GridColumnMenuWrapper.js +2 -1
- package/components/GridContainerElementContainer.js +9 -0
- package/components/GridContainerElementContainer.mjs +21 -0
- package/components/GridCustomCellClientContainer.js +9 -0
- package/components/GridCustomCellClientContainer.mjs +28 -0
- package/components/GridDragClue.js +9 -0
- package/components/GridDragClue.mjs +18 -0
- package/components/GridDraggableRowsContainer.js +9 -0
- package/components/GridDraggableRowsContainer.mjs +127 -0
- package/components/GridDropClue.js +9 -0
- package/components/GridDropClue.mjs +18 -0
- package/components/GridElementContainer.js +9 -0
- package/components/GridElementContainer.mjs +22 -0
- package/components/GridLoader.js +9 -0
- package/components/GridLoader.mjs +22 -0
- package/components/PagerContainer.js +9 -0
- package/components/PagerContainer.mjs +23 -0
- package/components/VirtualScrollHeightContainer.js +9 -0
- package/components/VirtualScrollHeightContainer.mjs +17 -0
- package/components/colGroup/GridColGroup.js +9 -0
- package/components/colGroup/GridColGroup.mjs +25 -0
- package/components/icons/reorder-row-svg.js +9 -0
- package/components/icons/reorder-row-svg.mjs +14 -0
- package/components/noRecords/GridNoRecords.js +9 -0
- package/{GridNoRecords.mjs → components/noRecords/GridNoRecords.mjs} +6 -6
- package/components/noRecords/GridNoRecordsContainer.js +9 -0
- package/components/noRecords/GridNoRecordsContainer.mjs +30 -0
- package/components/table/GridTable.js +9 -0
- package/components/table/GridTable.mjs +28 -0
- package/components/table/GridTableBody.js +9 -0
- package/components/table/GridTableBody.mjs +21 -0
- package/components/table/GridTableScrollable.js +9 -0
- package/components/table/GridTableScrollable.mjs +37 -0
- package/components/utils.js +8 -0
- package/components/utils.mjs +25 -0
- package/constants/index.js +1 -1
- package/constants/index.mjs +0 -1
- package/contextMenu/GridContextMenu.js +9 -0
- package/contextMenu/GridContextMenu.mjs +191 -0
- package/contextMenu/enums.js +8 -0
- package/contextMenu/enums.mjs +12 -0
- package/dist/cdn/js/kendo-react-grid.js +8 -1
- package/drag/ColumnDraggable.js +2 -1
- package/drag/ColumnDraggable.mjs +7 -7
- package/drag/ColumnResize.js +1 -1
- package/drag/ColumnResize.mjs +0 -1
- package/drag/CommonDragLogic.js +1 -1
- package/drag/CommonDragLogic.mjs +0 -1
- package/drag/GroupingIndicator.js +2 -1
- package/drag/GroupingIndicator.mjs +11 -11
- package/filterCommon.js +1 -1
- package/filterCommon.mjs +4 -5
- package/footer/Footer.js +2 -1
- package/footer/Footer.mjs +22 -21
- package/footer/FooterCell.js +8 -0
- package/footer/FooterCell.mjs +42 -0
- package/footer/FooterRow.js +1 -1
- package/footer/FooterRow.mjs +10 -40
- package/footer/client/FooterCellContainer.js +9 -0
- package/footer/client/FooterCellContainer.mjs +26 -0
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +57 -55
- package/header/GridHeaderCell.js +2 -1
- package/header/GridHeaderCell.mjs +11 -11
- package/header/GridHeaderSelectionCell.js +2 -1
- package/header/GridHeaderSelectionCell.mjs +10 -9
- package/header/GroupPanel.js +2 -1
- package/header/GroupPanel.mjs +36 -32
- package/header/Header.js +2 -1
- package/header/Header.mjs +35 -33
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +96 -126
- package/header/client/GridFilterCellContainer.js +9 -0
- package/header/client/GridFilterCellContainer.mjs +38 -0
- package/header/client/GridFilterCellElementContainer.js +9 -0
- package/header/client/GridFilterCellElementContainer.mjs +21 -0
- package/header/client/GridHeaderCellContainer.js +9 -0
- package/header/client/GridHeaderCellContainer.mjs +54 -0
- package/header/client/GridHeaderCellElementContainer.js +9 -0
- package/header/client/GridHeaderCellElementContainer.mjs +28 -0
- package/header/client/GridHeaderRowContainer.js +9 -0
- package/header/client/GridHeaderRowContainer.mjs +35 -0
- package/header/client/GridHeaderRowReorderCell.js +9 -0
- package/header/client/GridHeaderRowReorderCell.mjs +13 -0
- package/header/client/HeaderCellResizer.js +9 -0
- package/header/client/HeaderCellResizer.mjs +25 -0
- package/header/client/HeaderRowDraggable.js +9 -0
- package/header/client/HeaderRowDraggable.mjs +30 -0
- package/index.d.mts +601 -25
- package/index.d.ts +601 -25
- package/index.js +1 -1
- package/index.mjs +46 -39
- package/messages/index.js +1 -1
- package/messages/index.mjs +76 -81
- package/messages/messagesMap.js +8 -0
- package/messages/messagesMap.mjs +18 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -3
- package/package.json +27 -11
- package/paging/GridPagerSettings.js +1 -1
- package/paging/GridPagerSettings.mjs +6 -7
- package/rows/GridDetailRow.js +1 -1
- package/rows/GridDetailRow.mjs +2 -3
- package/rows/GridRow.js +2 -1
- package/rows/GridRow.mjs +42 -20
- package/sortCommon.js +8 -0
- package/sortCommon.mjs +27 -0
- package/{interfaces/GridSortSettings.js → utils/_clientModule.js} +2 -1
- package/{interfaces/GridSortSettings.mjs → utils/_clientModule.mjs} +3 -2
- package/utils/_serverModule.js +8 -0
- package/utils/_serverModule.mjs +12 -0
- package/utils/index.js +1 -1
- package/utils/index.mjs +213 -102
package/rows/GridRow.mjs
CHANGED
|
@@ -6,40 +6,62 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { useUnstyled as
|
|
11
|
-
import { GRID_ROW_INDEX_ATTRIBUTE as
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
import * as n from "react";
|
|
10
|
+
import { useUnstyled as x, uGrid as b, classNames as h, useDroppable as v } from "@progress/kendo-react-common";
|
|
11
|
+
import { GRID_ROW_INDEX_ATTRIBUTE as y } from "../constants/index.mjs";
|
|
12
|
+
import { GridContext as C } from "../GridClientWrapper.mjs";
|
|
13
|
+
const O = (e) => {
|
|
14
|
+
var s;
|
|
15
|
+
const a = n.useContext(C), {
|
|
16
|
+
reorderRowDropTargetRef: u,
|
|
17
|
+
reorderRowDragTargetRef: t,
|
|
18
|
+
activeDragRowDataItemRef: R
|
|
19
|
+
} = a, { rowType: o, isAltRow: w, isInEdit: g, isSelected: D } = e, i = x(), m = i && i.uGrid ? i.uGrid : b, f = h(
|
|
20
|
+
m.tr({
|
|
21
|
+
selected: D,
|
|
22
|
+
isHeader: o === "groupHeader",
|
|
23
|
+
isFooter: o === "groupFooter",
|
|
24
|
+
isMaster: o !== "groupHeader" && o !== "groupFooter",
|
|
25
|
+
isAltRow: w,
|
|
26
|
+
isInEdit: g
|
|
21
27
|
})
|
|
22
|
-
), d =
|
|
28
|
+
), d = n.useRef(null);
|
|
29
|
+
v(d, {
|
|
30
|
+
onDragOver: (r) => {
|
|
31
|
+
if (e.isRowReorderable && R.current) {
|
|
32
|
+
const I = r.originalEvent.target;
|
|
33
|
+
u.current = I.closest(".k-table-row");
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
onDrop: () => {
|
|
37
|
+
t.current && e.isRowReorderable && (t.current.style.userSelect = "");
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const l = {
|
|
41
|
+
onClick: (r) => a.rowClick(r, e.dataItem),
|
|
42
|
+
onDoubleClick: (r) => a.rowDblClick(r, e.dataItem)
|
|
43
|
+
}, c = /* @__PURE__ */ n.createElement(
|
|
23
44
|
"tr",
|
|
24
45
|
{
|
|
46
|
+
ref: d,
|
|
25
47
|
id: e.id,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
className: a,
|
|
48
|
+
...l,
|
|
49
|
+
className: f,
|
|
29
50
|
style: {
|
|
30
51
|
height: e.rowHeight ? e.rowHeight + "px" : "",
|
|
31
|
-
visibility: e.isHidden ? "hidden" : ""
|
|
52
|
+
visibility: e.isHidden ? "hidden" : "",
|
|
53
|
+
userSelect: (s = t == null ? void 0 : t.current) == null ? void 0 : s.style.userSelect
|
|
32
54
|
},
|
|
33
55
|
role: "row",
|
|
34
56
|
"aria-rowindex": e.ariaRowIndex,
|
|
35
57
|
"absolute-row-index": e.absoluteRowIndex,
|
|
36
58
|
key: e.absoluteRowIndex,
|
|
37
|
-
[
|
|
59
|
+
[y]: e.rowType === "data" ? e.dataIndex : void 0
|
|
38
60
|
},
|
|
39
61
|
e.children
|
|
40
62
|
);
|
|
41
|
-
return e.render ? e.render.call(void 0,
|
|
63
|
+
return e.render ? e.render.call(void 0, c, { ...e, ...l }) : c;
|
|
42
64
|
};
|
|
43
65
|
export {
|
|
44
|
-
|
|
66
|
+
O as GridRow
|
|
45
67
|
};
|
package/sortCommon.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=(...s)=>Object.assign({allowUnsort:!0,mode:"single"},...s),c={true:{asc:{asc:"",desc:"desc"},desc:{asc:"asc",desc:""},"":{asc:"asc",desc:"desc"}},false:{asc:{asc:"asc",desc:"desc"},desc:{asc:"asc",desc:"desc"},"":{asc:"asc",desc:"desc"}}},a={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}};exports.firstLevelSortSeqMap=a;exports.normalize=e;exports.sortSeqMap=c;
|
package/sortCommon.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
const c = (...s) => Object.assign({ allowUnsort: !0, mode: "single" }, ...s), e = {
|
|
9
|
+
true: {
|
|
10
|
+
asc: { asc: "", desc: "desc" },
|
|
11
|
+
desc: { asc: "asc", desc: "" },
|
|
12
|
+
"": { asc: "asc", desc: "desc" }
|
|
13
|
+
},
|
|
14
|
+
false: {
|
|
15
|
+
asc: { asc: "asc", desc: "desc" },
|
|
16
|
+
desc: { asc: "asc", desc: "desc" },
|
|
17
|
+
"": { asc: "asc", desc: "desc" }
|
|
18
|
+
}
|
|
19
|
+
}, a = {
|
|
20
|
+
true: { asc: "desc", desc: "", "": "asc" },
|
|
21
|
+
false: { asc: "desc", desc: "asc", "": "asc" }
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
a as firstLevelSortSeqMap,
|
|
25
|
+
c as normalize,
|
|
26
|
+
e as sortSeqMap
|
|
27
|
+
};
|
|
@@ -5,4 +5,5 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";
|
|
8
|
+
"use client";
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./_serverModule.js"),r=e.ServerFragment;exports.ClientFragment=r;
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
|
|
9
|
+
import { ServerFragment as r } from "./_serverModule.mjs";
|
|
10
|
+
const t = r;
|
|
10
11
|
export {
|
|
11
|
-
|
|
12
|
+
t as ClientFragment
|
|
12
13
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=()=>e.createElement(e.Fragment,null);exports.ServerFragment=r;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import e from "react";
|
|
9
|
+
const r = () => /* @__PURE__ */ e.createElement(e.Fragment, null);
|
|
10
|
+
export {
|
|
11
|
+
r as ServerFragment
|
|
12
|
+
};
|
package/utils/index.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../GridColumn.js"),D=require("@progress/kendo-data-query"),S=require("@progress/kendo-react-data-tools"),T=require("./_serverModule.js"),k=require("./_clientModule.js"),x=require("../contextMenu/enums.js");function m(e,t){const a=(e!=null?e:"").split(".");let l=t;return a.forEach(o=>{l=l?l[o]:void 0}),l}function v(e,t,a,l,o,s,n,r,i,d,f=0,h){var y;let u=f;for(let c=0;c<t.length;c++){let I;if(!o||t[c].value===void 0||t[c].items===void 0){e[e.length]={dataIndex:l.index,dataItem:t[c],rowType:"data",level:f,group:h,expanded:(y=s?m(s,t[c]):d&&!!(n!=null&&n[D.getter(d)(t[c])]))!=null?y:!1},l.index++;continue}else{let g;h!=null&&h.parents?g=[{field:h.field,value:h.value},...h.parents]:h?g=[h]:g=[],I={field:t[c].field,value:t[c].value,parents:g}}u=Math.max(u,f+1);let C=!1;if(s)C=m(s,t[c])!==!1;else{const g=S.findGroupExpand(r||[],I);g?C=g.expanded!==!1:C=i!==!1}e[e.length]={dataIndex:-1,dataItem:t[c],level:f,group:I,rowType:"groupHeader",expanded:C},C&&(I.expanded=C,u=Math.max(v(e,t[c].items,a,l,o,s,n,r,i,d,f+1,I),u)),(a==="always"||C&&a==="visible")&&(e[e.length]={dataIndex:-1,dataItem:t[c],rowType:"groupFooter",level:f,expanded:C})}return u}const A=(e,t)=>typeof e.colSpan=="function"?e.colSpan({dataItem:t,column:e}):e.colSpan||1;function B(e,t){const a=[[]];let l=0;for(let n=e.length-1;n>=0;n--)l=Math.max(l,e[n].depth),e[n].headerColSpan=e[n].headerColSpan||1,e[n].children.length>0&&(e[n].headerColSpan=e[n].children.reduce((r,i)=>i.hidden?r:r+i.headerColSpan,0));const o=[];let s=1;return e.forEach((n,r)=>{a[n.depth]=a[n.depth]||[];let i=!1;a[n.depth].length===0&&(s<=1?s=1+(n.children.length>0?0:l-n.depth):(s--,i=!0)),n.rowSpan=1+(n.children.length>0?0:l-n.depth),n.kFirst=i,n.index=a[n.depth].length,a[n.depth].push(r),n.ariaColumnIndex=o[n.depth]?o[n.depth]+1:1;for(let d=n.depth;d<n.depth+n.rowSpan;d++)o[d]=(o[d]||0)+n.headerColSpan}),S.updateLeft(a,e,t),S.updateRight(a,e,t),a}function w(e,t,a,l=0){const o=[];if(!e)return[];e&&e.length===void 0&&(e=[e]),e.filter(r=>r&&r.props?!r.props.hidden:!r.hidden).forEach((r,i)=>{r=r.props?r.props:r;const d=t[i]||null,f=w(r.children,d&&d.children||[],a,l+1);o.push(Object.assign({depth:l},M.gridDefaultProps,f.length?{cell:()=>null,filterCell:()=>null}:{},d?{width:d.width,orderIndex:d.orderIndex}:{},r,{id:r.id?r.id:S.tableKeyboardNavigationTools.generateNavigatableId(`${a.prevId++}`,a.idPrefix,"column"),declarationIndex:o.length,children:f,headerColSpan:r.headerColSpan,rowSpan:0,columnType:r.columnType||"data",colSpan:r.colSpan||1,isAccessible:!0,left:r.lockedColumn?d&&Math.floor(d.left):null,right:r.lockedColumn?d&&Math.floor(d.right):null}))});const n=(r,i)=>r.orderIndex===i.orderIndex?r.declarationIndex-i.declarationIndex:(r.orderIndex||0)-(i.orderIndex||0);if(o.sort(n),l===0){const r=[],i=(d,f)=>d.forEach(h=>{h.parentIndex=f,i(h.children,r.push(h)-1)});return i(o,-1),r}return o}function q(e,t,a,l){let o=[];Array.isArray(e)?o=e:e&&(o=e.data);const s=[];if(o.length>0){let n=o[0];if(t)for(let i=0;i<t.length;i++)n=n.items&&n.items[0];Object.getOwnPropertyNames(n).forEach(i=>{i!==a.column&&s.push(Object.assign({id:S.tableKeyboardNavigationTools.generateNavigatableId(`${l.prevId++}`,l.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,headerColSpan:0,rowSpan:0,index:0,columnType:"data",left:0,right:0,rightBorder:!1,children:[],ariaColumnIndex:0,isAccessible:!0},M.gridDefaultProps,{field:i}))})}return s}const G=(e,t)=>{let a=e[t.parentIndex];for(;a;){if(a.footerCell)return!0;a=e[a.parentIndex]}return!1},R=e=>e.filter(t=>G(e,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),E=e=>e.width!==void 0?Math.floor(parseFloat(e.width.toString()))+"px":void 0,F=(e,t)=>t&&t.filter(a=>a.field===e).length>0,b=e=>(e.sort((t,a)=>t.declarationIndex-a.declarationIndex),e.map(t=>{const{declarationIndex:a,parentIndex:l,depth:o,headerColSpan:s,rowSpan:n,index:r,kFirst:i,children:d,...f}=t;return d.length?{children:b(d),...f}:f})),N=e=>{const{filterCell:t,headerCell:a,footerCell:l,cells:o,cell:s,...n}=e;return e.children.length?{...n,children:e.children.map(N)}:n},H=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),O=17895697,j=e=>{let t=[];return e.sortable&&(t=t.concat([x.GridContextMenuItemNames.sortAsc,x.GridContextMenuItemNames.sortDesc])),t},p=e=>{let t=[];return e.clipboard&&(t=t.concat([x.GridContextMenuItemNames.copySelection,x.GridContextMenuItemNames.copySelectionNoHeaders,x.GridContextMenuItemNames.paste])),e.editable&&(t.length&&(t=t.concat([x.GridContextMenuItemNames.separator])),t=t.concat([x.GridContextMenuItemNames.create,x.GridContextMenuItemNames.edit,x.GridContextMenuItemNames.delete])),e.selectable&&(t.length&&(t=t.concat([x.GridContextMenuItemNames.separator])),t=t.concat([x.GridContextMenuItemNames.select])),e.reorderable&&(t.length&&(t=t.concat([x.GridContextMenuItemNames.separator])),t=t.concat([x.GridContextMenuItemNames.reorderRow])),t},$=(e,t)=>{if(!(!e&&!t))return t?e?{...e,...t,select:{...e.select||{},...t.select||{}},hierarchy:{...e.hierarchy||{},...t.hierarchy||{}},group:{...e.group||{},...t.group||{}},edit:{...e.edit||{},...t.edit||{}}}:t:e},z=()=>T.ServerFragment===k.ClientFragment,L=e=>!!(e&&e.$$typeof===Symbol.for("react.client.reference")),V=e=>({id:e.id,ariaColumnIndex:e.ariaColumnIndex,isSelected:e.isSelected,isInEdit:e.isInEdit,isSorted:e.isSorted,isAlt:e.isAlt,expanded:e.expanded,className:e.className,style:e.style,field:e.field,dataItem:e.dataItem,format:e.format,colSpan:e.colSpan,dataIndex:e.dataIndex,columnIndex:e.columnIndex,columnsCount:e.columnsCount,rowType:e.rowType,level:e.level,editor:e.editor,render:e.render,locked:e.locked,isRtl:e.isRtl,rowDataIndex:e.rowDataIndex,columnPosition:e.columnPosition,group:e.group});exports.autoGenerateColumns=q;exports.clientColumn=N;exports.firefox=H;exports.firefoxMaxHeight=O;exports.flatData=v;exports.footerColumns=R;exports.getClientCellProps=V;exports.getColSpan=A;exports.getColumnWidth=E;exports.getDefaultBodyContextMenuItems=p;exports.getDefaultHeadContextMenuItems=j;exports.getNestedValue=m;exports.isClient=z;exports.isClientReference=L;exports.isSorted=F;exports.mapColumns=B;exports.readColumns=w;exports.resolveCells=$;exports.sanitizeColumns=b;
|
package/utils/index.mjs
CHANGED
|
@@ -5,111 +5,168 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
import { tableKeyboardNavigationTools as
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
import { gridDefaultProps as v } from "../GridColumn.mjs";
|
|
9
|
+
import { getter as u } from "@progress/kendo-data-query";
|
|
10
|
+
import { findGroupExpand as M, updateLeft as T, updateRight as A, tableKeyboardNavigationTools as b } from "@progress/kendo-react-data-tools";
|
|
11
|
+
import { ServerFragment as D } from "./_serverModule.mjs";
|
|
12
|
+
import { ClientFragment as B } from "./_clientModule.mjs";
|
|
13
|
+
import { GridContextMenuItemNames as x } from "../contextMenu/enums.mjs";
|
|
14
|
+
function y(e, t) {
|
|
15
|
+
const n = (e != null ? e : "").split(".");
|
|
16
|
+
let l = t;
|
|
17
|
+
return n.forEach((o) => {
|
|
18
|
+
l = l ? l[o] : void 0;
|
|
19
|
+
}), l;
|
|
17
20
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
function k(e, t, n, l, o, f, r, a, i, d, h = 0, c) {
|
|
22
|
+
var w;
|
|
23
|
+
let S = h;
|
|
24
|
+
for (let s = 0; s < t.length; s++) {
|
|
25
|
+
let C;
|
|
26
|
+
if (!o || t[s].value === void 0 || t[s].items === void 0) {
|
|
22
27
|
e[e.length] = {
|
|
23
|
-
dataIndex:
|
|
24
|
-
dataItem:
|
|
28
|
+
dataIndex: l.index,
|
|
29
|
+
dataItem: t[s],
|
|
25
30
|
rowType: "data",
|
|
26
31
|
level: h,
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
group: c,
|
|
33
|
+
// This is related to detail-row expansion
|
|
34
|
+
expanded: (w = f ? y(f, t[s]) : d && !!(r != null && r[u(d)(t[s])])) != null ? w : !1
|
|
35
|
+
}, l.index++;
|
|
29
36
|
continue;
|
|
37
|
+
} else {
|
|
38
|
+
let I;
|
|
39
|
+
c != null && c.parents ? I = [{ field: c.field, value: c.value }, ...c.parents] : c ? I = [c] : I = [], C = {
|
|
40
|
+
field: t[s].field,
|
|
41
|
+
value: t[s].value,
|
|
42
|
+
parents: I
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
S = Math.max(S, h + 1);
|
|
46
|
+
let g = !1;
|
|
47
|
+
if (f)
|
|
48
|
+
g = y(f, t[s]) !== !1;
|
|
49
|
+
else {
|
|
50
|
+
const I = M(a || [], C);
|
|
51
|
+
I ? g = I.expanded !== !1 : g = i !== !1;
|
|
30
52
|
}
|
|
31
|
-
t = Math.max(t, h + 1);
|
|
32
|
-
const a = s === void 0 || c(s, r[n]) === void 0 || c(s, r[n]);
|
|
33
53
|
e[e.length] = {
|
|
34
54
|
dataIndex: -1,
|
|
35
|
-
dataItem:
|
|
55
|
+
dataItem: t[s],
|
|
36
56
|
level: h,
|
|
57
|
+
group: C,
|
|
37
58
|
rowType: "groupHeader",
|
|
38
|
-
expanded:
|
|
39
|
-
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
59
|
+
expanded: g
|
|
60
|
+
}, g && (C.expanded = g, S = Math.max(
|
|
61
|
+
k(
|
|
62
|
+
e,
|
|
63
|
+
t[s].items,
|
|
64
|
+
n,
|
|
65
|
+
l,
|
|
66
|
+
o,
|
|
67
|
+
f,
|
|
68
|
+
r,
|
|
69
|
+
a,
|
|
70
|
+
i,
|
|
71
|
+
d,
|
|
72
|
+
h + 1,
|
|
73
|
+
C
|
|
74
|
+
),
|
|
75
|
+
S
|
|
76
|
+
)), (n === "always" || g && n === "visible") && (e[e.length] = {
|
|
43
77
|
dataIndex: -1,
|
|
44
|
-
dataItem:
|
|
78
|
+
dataItem: t[s],
|
|
45
79
|
rowType: "groupFooter",
|
|
46
80
|
level: h,
|
|
47
|
-
expanded:
|
|
81
|
+
expanded: g
|
|
48
82
|
});
|
|
49
83
|
}
|
|
50
|
-
return
|
|
84
|
+
return S;
|
|
85
|
+
}
|
|
86
|
+
const L = (e, t) => typeof e.colSpan == "function" ? e.colSpan({ dataItem: t, column: e }) : e.colSpan || 1;
|
|
87
|
+
function q(e, t) {
|
|
88
|
+
const n = [[]];
|
|
89
|
+
let l = 0;
|
|
90
|
+
for (let r = e.length - 1; r >= 0; r--)
|
|
91
|
+
l = Math.max(l, e[r].depth), e[r].headerColSpan = e[r].headerColSpan || 1, e[r].children.length > 0 && (e[r].headerColSpan = e[r].children.reduce(
|
|
92
|
+
(a, i) => i.hidden ? a : a + i.headerColSpan,
|
|
93
|
+
0
|
|
94
|
+
));
|
|
95
|
+
const o = [];
|
|
96
|
+
let f = 1;
|
|
97
|
+
return e.forEach((r, a) => {
|
|
98
|
+
n[r.depth] = n[r.depth] || [];
|
|
99
|
+
let i = !1;
|
|
100
|
+
n[r.depth].length === 0 && (f <= 1 ? f = 1 + (r.children.length > 0 ? 0 : l - r.depth) : (f--, i = !0)), r.rowSpan = 1 + (r.children.length > 0 ? 0 : l - r.depth), r.kFirst = i, r.index = n[r.depth].length, n[r.depth].push(a), r.ariaColumnIndex = o[r.depth] ? o[r.depth] + 1 : 1;
|
|
101
|
+
for (let d = r.depth; d < r.depth + r.rowSpan; d++)
|
|
102
|
+
o[d] = (o[d] || 0) + r.headerColSpan;
|
|
103
|
+
}), T(n, e, t), A(n, e, t), n;
|
|
51
104
|
}
|
|
52
|
-
function
|
|
53
|
-
const
|
|
105
|
+
function p(e, t, n, l = 0) {
|
|
106
|
+
const o = [];
|
|
54
107
|
if (!e)
|
|
55
108
|
return [];
|
|
56
|
-
e && e.length === void 0 && (e = [e]), e.filter((
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
109
|
+
e && e.length === void 0 && (e = [e]), e.filter((a) => a && a.props ? !a.props.hidden : !a.hidden).forEach((a, i) => {
|
|
110
|
+
a = a.props ? a.props : a;
|
|
111
|
+
const d = t[i] || null, h = p(
|
|
112
|
+
a.children,
|
|
113
|
+
d && d.children || [],
|
|
114
|
+
n,
|
|
115
|
+
l + 1
|
|
63
116
|
);
|
|
64
|
-
|
|
117
|
+
o.push(
|
|
65
118
|
Object.assign(
|
|
66
|
-
{ depth:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
119
|
+
{ depth: l },
|
|
120
|
+
v,
|
|
121
|
+
h.length ? { cell: () => null, filterCell: () => null } : {},
|
|
122
|
+
d ? { width: d.width, orderIndex: d.orderIndex } : {},
|
|
123
|
+
a,
|
|
71
124
|
{
|
|
72
|
-
id:
|
|
73
|
-
declarationIndex:
|
|
74
|
-
children:
|
|
125
|
+
id: a.id ? a.id : b.generateNavigatableId(`${n.prevId++}`, n.idPrefix, "column"),
|
|
126
|
+
declarationIndex: o.length,
|
|
127
|
+
children: h,
|
|
128
|
+
headerColSpan: a.headerColSpan,
|
|
75
129
|
rowSpan: 0,
|
|
76
|
-
|
|
130
|
+
columnType: a.columnType || "data",
|
|
131
|
+
colSpan: a.colSpan || 1,
|
|
77
132
|
isAccessible: !0,
|
|
78
|
-
left:
|
|
79
|
-
right:
|
|
133
|
+
left: a.lockedColumn ? d && Math.floor(d.left) : null,
|
|
134
|
+
right: a.lockedColumn ? d && Math.floor(d.right) : null
|
|
80
135
|
}
|
|
81
136
|
)
|
|
82
137
|
);
|
|
83
138
|
});
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
86
|
-
const
|
|
87
|
-
|
|
139
|
+
const r = (a, i) => a.orderIndex === i.orderIndex ? a.declarationIndex - i.declarationIndex : (a.orderIndex || 0) - (i.orderIndex || 0);
|
|
140
|
+
if (o.sort(r), l === 0) {
|
|
141
|
+
const a = [], i = (d, h) => d.forEach((c) => {
|
|
142
|
+
c.parentIndex = h, i(c.children, a.push(c) - 1);
|
|
88
143
|
});
|
|
89
|
-
return
|
|
144
|
+
return i(o, -1), a;
|
|
90
145
|
}
|
|
91
|
-
return
|
|
146
|
+
return o;
|
|
92
147
|
}
|
|
93
|
-
function
|
|
94
|
-
let
|
|
95
|
-
Array.isArray(e) ?
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
98
|
-
let
|
|
99
|
-
if (
|
|
100
|
-
for (let
|
|
101
|
-
|
|
102
|
-
Object.getOwnPropertyNames(
|
|
103
|
-
|
|
148
|
+
function z(e, t, n, l) {
|
|
149
|
+
let o = [];
|
|
150
|
+
Array.isArray(e) ? o = e : e && (o = e.data);
|
|
151
|
+
const f = [];
|
|
152
|
+
if (o.length > 0) {
|
|
153
|
+
let r = o[0];
|
|
154
|
+
if (t)
|
|
155
|
+
for (let i = 0; i < t.length; i++)
|
|
156
|
+
r = r.items && r.items[0];
|
|
157
|
+
Object.getOwnPropertyNames(r).forEach((i) => {
|
|
158
|
+
i !== n.column && f.push(
|
|
104
159
|
Object.assign(
|
|
105
160
|
{
|
|
106
|
-
id:
|
|
161
|
+
id: b.generateNavigatableId(`${l.prevId++}`, l.idPrefix, "column"),
|
|
107
162
|
declarationIndex: -1,
|
|
108
163
|
parentIndex: -1,
|
|
109
164
|
depth: 0,
|
|
110
165
|
colSpan: 0,
|
|
166
|
+
headerColSpan: 0,
|
|
111
167
|
rowSpan: 0,
|
|
112
168
|
index: 0,
|
|
169
|
+
columnType: "data",
|
|
113
170
|
left: 0,
|
|
114
171
|
right: 0,
|
|
115
172
|
rightBorder: !1,
|
|
@@ -117,61 +174,115 @@ function b(e, r, i, o) {
|
|
|
117
174
|
ariaColumnIndex: 0,
|
|
118
175
|
isAccessible: !0
|
|
119
176
|
},
|
|
120
|
-
|
|
121
|
-
{ field:
|
|
177
|
+
v,
|
|
178
|
+
{ field: i }
|
|
122
179
|
)
|
|
123
180
|
);
|
|
124
181
|
});
|
|
125
182
|
}
|
|
126
|
-
return
|
|
183
|
+
return f;
|
|
127
184
|
}
|
|
128
|
-
const
|
|
129
|
-
let
|
|
130
|
-
for (;
|
|
131
|
-
if (
|
|
185
|
+
const E = (e, t) => {
|
|
186
|
+
let n = e[t.parentIndex];
|
|
187
|
+
for (; n; ) {
|
|
188
|
+
if (n.footerCell)
|
|
132
189
|
return !0;
|
|
133
|
-
|
|
190
|
+
n = e[n.parentIndex];
|
|
134
191
|
}
|
|
135
192
|
return !1;
|
|
136
|
-
},
|
|
137
|
-
const { declarationIndex:
|
|
138
|
-
return
|
|
139
|
-
children:
|
|
140
|
-
...
|
|
141
|
-
} :
|
|
142
|
-
})),
|
|
143
|
-
|
|
144
|
-
|
|
193
|
+
}, V = (e) => e.filter((t) => E(e, t) ? !1 : !!t.footerCell || !(t.children && t.children.length > 0)), W = (e) => e.width !== void 0 ? Math.floor(parseFloat(e.width.toString())) + "px" : void 0, J = (e, t) => t && t.filter((n) => n.field === e).length > 0, F = (e) => (e.sort((t, n) => t.declarationIndex - n.declarationIndex), e.map((t) => {
|
|
194
|
+
const { declarationIndex: n, parentIndex: l, depth: o, headerColSpan: f, rowSpan: r, index: a, kFirst: i, children: d, ...h } = t;
|
|
195
|
+
return d.length ? {
|
|
196
|
+
children: F(d),
|
|
197
|
+
...h
|
|
198
|
+
} : h;
|
|
199
|
+
})), m = (e) => {
|
|
200
|
+
const { filterCell: t, headerCell: n, footerCell: l, cells: o, cell: f, ...r } = e;
|
|
201
|
+
return e.children.length ? {
|
|
202
|
+
...r,
|
|
203
|
+
children: e.children.map(m)
|
|
204
|
+
} : r;
|
|
205
|
+
}, K = typeof window != "undefined" && /Firefox/.test(window.navigator.userAgent), Q = 17895697, U = (e) => {
|
|
206
|
+
let t = [];
|
|
207
|
+
return e.sortable && (t = t.concat([x.sortAsc, x.sortDesc])), t;
|
|
208
|
+
}, X = (e) => {
|
|
209
|
+
let t = [];
|
|
210
|
+
return e.clipboard && (t = t.concat([
|
|
211
|
+
x.copySelection,
|
|
212
|
+
x.copySelectionNoHeaders,
|
|
213
|
+
x.paste
|
|
214
|
+
])), e.editable && (t.length && (t = t.concat([x.separator])), t = t.concat([
|
|
215
|
+
x.create,
|
|
216
|
+
x.edit,
|
|
217
|
+
x.delete
|
|
218
|
+
])), e.selectable && (t.length && (t = t.concat([x.separator])), t = t.concat([x.select])), e.reorderable && (t.length && (t = t.concat([x.separator])), t = t.concat([x.reorderRow])), t;
|
|
219
|
+
}, Y = (e, t) => {
|
|
220
|
+
if (!(!e && !t))
|
|
221
|
+
return t ? e ? {
|
|
145
222
|
...e,
|
|
146
|
-
...
|
|
223
|
+
...t,
|
|
147
224
|
select: {
|
|
148
225
|
...e.select || {},
|
|
149
|
-
...
|
|
226
|
+
...t.select || {}
|
|
150
227
|
},
|
|
151
228
|
hierarchy: {
|
|
152
229
|
...e.hierarchy || {},
|
|
153
|
-
...
|
|
230
|
+
...t.hierarchy || {}
|
|
154
231
|
},
|
|
155
232
|
group: {
|
|
156
233
|
...e.group || {},
|
|
157
|
-
...
|
|
234
|
+
...t.group || {}
|
|
158
235
|
},
|
|
159
236
|
edit: {
|
|
160
237
|
...e.edit || {},
|
|
161
|
-
...
|
|
238
|
+
...t.edit || {}
|
|
162
239
|
}
|
|
163
|
-
} :
|
|
164
|
-
}
|
|
240
|
+
} : t : e;
|
|
241
|
+
}, Z = () => D === B, _ = (e) => !!(e && e.$$typeof === Symbol.for("react.client.reference")), P = (e) => ({
|
|
242
|
+
id: e.id,
|
|
243
|
+
ariaColumnIndex: e.ariaColumnIndex,
|
|
244
|
+
isSelected: e.isSelected,
|
|
245
|
+
isInEdit: e.isInEdit,
|
|
246
|
+
isSorted: e.isSorted,
|
|
247
|
+
isAlt: e.isAlt,
|
|
248
|
+
expanded: e.expanded,
|
|
249
|
+
className: e.className,
|
|
250
|
+
style: e.style,
|
|
251
|
+
field: e.field,
|
|
252
|
+
dataItem: e.dataItem,
|
|
253
|
+
format: e.format,
|
|
254
|
+
colSpan: e.colSpan,
|
|
255
|
+
dataIndex: e.dataIndex,
|
|
256
|
+
columnIndex: e.columnIndex,
|
|
257
|
+
columnsCount: e.columnsCount,
|
|
258
|
+
rowType: e.rowType,
|
|
259
|
+
level: e.level,
|
|
260
|
+
editor: e.editor,
|
|
261
|
+
render: e.render,
|
|
262
|
+
locked: e.locked,
|
|
263
|
+
isRtl: e.isRtl,
|
|
264
|
+
rowDataIndex: e.rowDataIndex,
|
|
265
|
+
columnPosition: e.columnPosition,
|
|
266
|
+
group: e.group
|
|
267
|
+
});
|
|
165
268
|
export {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
269
|
+
z as autoGenerateColumns,
|
|
270
|
+
m as clientColumn,
|
|
271
|
+
K as firefox,
|
|
272
|
+
Q as firefoxMaxHeight,
|
|
273
|
+
k as flatData,
|
|
274
|
+
V as footerColumns,
|
|
275
|
+
P as getClientCellProps,
|
|
276
|
+
L as getColSpan,
|
|
277
|
+
W as getColumnWidth,
|
|
278
|
+
X as getDefaultBodyContextMenuItems,
|
|
279
|
+
U as getDefaultHeadContextMenuItems,
|
|
280
|
+
y as getNestedValue,
|
|
281
|
+
Z as isClient,
|
|
282
|
+
_ as isClientReference,
|
|
283
|
+
J as isSorted,
|
|
284
|
+
q as mapColumns,
|
|
285
|
+
p as readColumns,
|
|
286
|
+
Y as resolveCells,
|
|
287
|
+
F as sanitizeColumns
|
|
177
288
|
};
|