@progress/kendo-react-grid 11.0.0-develop.10 → 11.0.0-develop.12
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 +6 -9
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +343 -364
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +343 -369
- package/StatusBar.js +1 -1
- package/StatusBar.mjs +23 -23
- package/cells/GridFilterCell.js +1 -1
- package/cells/GridFilterCell.mjs +46 -46
- package/cells/datacell/GridCell.js +1 -1
- package/cells/datacell/GridCell.mjs +9 -15
- package/cells/editcell/GridEditCell.js +1 -1
- package/cells/editcell/GridEditCell.mjs +7 -13
- package/cells/groupcell/GridGroupCell.js +1 -1
- package/cells/groupcell/GridGroupCell.mjs +8 -10
- package/cells/hierarchycell/GridHierarchyCell.js +1 -1
- package/cells/hierarchycell/GridHierarchyCell.mjs +8 -14
- package/cells/hierarchycell/useHierarchyCellClientTdProps.js +1 -1
- package/cells/hierarchycell/useHierarchyCellClientTdProps.mjs +15 -18
- package/cells/selectioncell/GridSelectionCell.js +1 -1
- package/cells/selectioncell/GridSelectionCell.mjs +7 -13
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/footer/FooterCell.js +1 -1
- package/footer/FooterCell.mjs +14 -14
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +42 -46
- package/header/GridHeaderCell.js +1 -1
- package/header/GridHeaderCell.mjs +11 -11
- package/header/GridHeaderSelectionCell.js +1 -1
- package/header/GridHeaderSelectionCell.mjs +14 -14
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +19 -20
- package/header/client/GridFilterCellContainer.js +1 -1
- package/header/client/GridFilterCellContainer.mjs +10 -11
- package/header/client/GridHeaderCellContainer.js +1 -1
- package/header/client/GridHeaderCellContainer.mjs +6 -7
- package/index.d.mts +9 -168
- package/index.d.ts +9 -168
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +16 -16
- package/rows/GridRow.js +1 -1
- package/rows/GridRow.mjs +32 -33
- package/utils/index.js +1 -1
- package/utils/index.mjs +162 -165
- package/utils/premium.js +1 -1
- package/utils/premium.mjs +18 -22
- package/components/GridCustomCellClientContainer.js +0 -9
- package/components/GridCustomCellClientContainer.mjs +0 -34
package/Grid.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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),e=require("prop-types"),c=require("./utils/index.js"),s=require("./GridClientContextReader.js"),i=require("./GridComponent.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),e=require("prop-types"),c=require("./utils/index.js"),s=require("./GridClientContextReader.js"),i=require("./GridComponent.js"),b=require("./GridState.js"),d=require("@progress/kendo-react-common"),f=require("@progress/kendo-react-intl");function m(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>n[r]})}}return t.default=n,Object.freeze(t)}const o=m(u),l=o.forwardRef((n,t)=>{const{isPaid:r}={isPaid:!0},[a]=d.useCustomComponent(r?b.GridClientStateProvider:o.Fragment);return c.isClient()?o.createElement(a,{...n},o.createElement(s.GridClientContextReader,{id:n.id},o.createElement(i.GridComponent,{ref:t,...n}))):o.createElement(f.ServerGlobalization,{locale:n.locale,language:n.language},o.createElement(i.GridComponent,{ref:t,...n}))}),p={data:e.oneOfType([e.array,e.shape({data:e.array,total:e.number})]),sortable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["single","multiple"]),allowUnsort:e.bool})]),onSortChange:e.func,sort:e.array,filterable:e.bool,filter:e.any,onFilterChange:e.func,pageable:e.oneOfType([e.bool,e.shape({buttonCount:e.number,responsive:e.bool,info:e.bool,type:e.oneOf(["numeric","input"]),pageSizes:e.oneOfType([e.bool,e.arrayOf(e.oneOfType([e.string,e.number]))]),previousNext:e.bool})]),pageSize:e.number,onPageChange:e.func,total:e.number,skip:e.number,take:e.number,fixedScroll:e.bool,onExpandChange:e.func,onSelectionChange:e.func,onHeaderSelectionChange:e.func,resizable:e.bool,reorderable:e.bool,group:e.any,groupable:e.oneOfType([e.bool,e.shape({enabled:e.bool,footer:e.oneOf(["always","visible","none"])})]),onGroupChange:e.func,onRowClick:e.func,onRowDoubleClick:e.func,onItemChange:e.func,scrollable:e.oneOf(["none","scrollable","virtual"]),rowHeight:e.number,detailRowHeight:e.number,detail:e.any,style:e.object,onDataStateChange:e.func,onColumnResize:e.func,onColumnReorder:e.func,dataItemKey:e.string,navigatable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["incell","inline","popup"])})]),size:e.oneOf(["small","medium"])};l.displayName="KendoReactGrid";l.propTypes=p;exports.Grid=l;
|
package/Grid.mjs
CHANGED
|
@@ -11,14 +11,14 @@ import { isClient as m } from "./utils/index.mjs";
|
|
|
11
11
|
import { GridClientContextReader as u } from "./GridClientContextReader.mjs";
|
|
12
12
|
import { GridComponent as r } from "./GridComponent.mjs";
|
|
13
13
|
import { GridClientStateProvider as f } from "./GridState.mjs";
|
|
14
|
-
import { useCustomComponent as
|
|
15
|
-
import { ServerGlobalization as
|
|
14
|
+
import { useCustomComponent as b } from "@progress/kendo-react-common";
|
|
15
|
+
import { ServerGlobalization as p } from "@progress/kendo-react-intl";
|
|
16
16
|
const t = o.forwardRef((n, a) => {
|
|
17
17
|
const { isPaid: l } = {
|
|
18
18
|
isPaid: !0
|
|
19
|
-
}, [i] =
|
|
20
|
-
return m() ? /* @__PURE__ */ o.createElement(i, { ...n }, /* @__PURE__ */ o.createElement(u, { id: n.id }, /* @__PURE__ */ o.createElement(r, { ref: a, ...n }))) : /* @__PURE__ */ o.createElement(
|
|
21
|
-
}),
|
|
19
|
+
}, [i] = b(l ? f : o.Fragment);
|
|
20
|
+
return m() ? /* @__PURE__ */ o.createElement(i, { ...n }, /* @__PURE__ */ o.createElement(u, { id: n.id }, /* @__PURE__ */ o.createElement(r, { ref: a, ...n }))) : /* @__PURE__ */ o.createElement(p, { locale: n.locale, language: n.language }, /* @__PURE__ */ o.createElement(r, { ref: a, ...n }));
|
|
21
|
+
}), c = {
|
|
22
22
|
data: e.oneOfType([
|
|
23
23
|
e.array,
|
|
24
24
|
e.shape({
|
|
@@ -59,8 +59,6 @@ const t = o.forwardRef((n, a) => {
|
|
|
59
59
|
take: e.number,
|
|
60
60
|
fixedScroll: e.bool,
|
|
61
61
|
onExpandChange: e.func,
|
|
62
|
-
expandField: e.string,
|
|
63
|
-
selectedField: e.string,
|
|
64
62
|
onSelectionChange: e.func,
|
|
65
63
|
onHeaderSelectionChange: e.func,
|
|
66
64
|
resizable: e.bool,
|
|
@@ -77,7 +75,6 @@ const t = o.forwardRef((n, a) => {
|
|
|
77
75
|
onRowClick: e.func,
|
|
78
76
|
onRowDoubleClick: e.func,
|
|
79
77
|
onItemChange: e.func,
|
|
80
|
-
editField: e.string,
|
|
81
78
|
scrollable: e.oneOf(["none", "scrollable", "virtual"]),
|
|
82
79
|
rowHeight: e.number,
|
|
83
80
|
detailRowHeight: e.number,
|
|
@@ -96,7 +93,7 @@ const t = o.forwardRef((n, a) => {
|
|
|
96
93
|
size: e.oneOf(["small", "medium"])
|
|
97
94
|
};
|
|
98
95
|
t.displayName = "KendoReactGrid";
|
|
99
|
-
t.propTypes =
|
|
96
|
+
t.propTypes = c;
|
|
100
97
|
export {
|
|
101
98
|
t as Grid
|
|
102
99
|
};
|
package/GridClientWrapper.js
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ot=require("react"),b=require("@progress/kendo-react-common"),c=require("@progress/kendo-react-data-tools"),Ft=require("./drag/ColumnResize.js"),Lt=require("./drag/CommonDragLogic.js"),zt=require("./constants/index.js"),A=require("./utils/index.js"),Nt=require("./VirtualScroll.js"),qt=require("./contextMenu/GridContextMenu.js"),Fe=require("./contextMenu/enums.js"),Le=require("./sortCommon.js");function Ut(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const g in t)if(g!=="default"){const F=Object.getOwnPropertyDescriptor(t,g);Object.defineProperty(v,g,F.get?F:{enumerable:!0,get:()=>t[g]})}}return v.default=t,Object.freeze(v)}const i=Ut(Ot),ze=i.createContext(void 0),Vt=t=>{var Ge,Oe;const v=t.gridProps.isClient,[g,F]=i.useState({}),Ce=b.useAdaptiveModeContext(),Ne=e=>{e.event.preventDefault(),F({...g,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Ie=()=>{F({})},R=i.useMemo(()=>t.columnsRef.find(e=>e.field===g.field),[t.columnsRef,g]),ve=i.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultHeadContextMenuItems({sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ee=i.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultBodyContextMenuItems({sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:A.isRowReorderEnabled(t.gridProps.rowReorderable)})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),$=i.useMemo(()=>{const e=(R==null?void 0:R.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(g):e;if(n&&g.offset){const o=g.dataItem?Fe.GridContextMenuAnchorPart.body:Fe.GridContextMenuAnchorPart.head,r=n[o],a=g.dataItem?Ee:ve;return r===!1?void 0:r===!0||r===void 0?a:r}},[t.gridProps.contextMenu,g,Ee,ve,R]),qe=e=>{var s,u,f,h,w,re,I,B,_;const n=e.event.item,o={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&l(t.gridProps.onContextMenuItemClick,o);const r=y(),a={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:r,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...c.getSelectionOptions(t.gridProps.selectable),...o},d=r.findIndex(j=>j===e.dataItem);switch((s=n.data)==null?void 0:s.action){case"SortCommand":if(R){const j=(u=n.name)==null?void 0:u.toLowerCase().includes("asc"),At=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,Ht=j?"asc":At,Gt=n.name?Ht:void 0;we(e.event.syntheticEvent,R,Gt)}break;case"SelectRowCommand":at(a);break;case"SelectAllRowsCommand":ot(a);break;case"ClearSelectionCommand":it(a);break;case"ReorderRowCommand":W.current=e.dataItem,(h=n.name)!=null&&h.toLowerCase().includes("rowup")&&d>0&&z(e.event.syntheticEvent,d-1,"before"),(w=n.name)!=null&&w.toLowerCase().includes("rowdown")&&d<r.length-1&&z(e.event.syntheticEvent,d+1,"after"),(re=n.name)!=null&&re.toLowerCase().includes("rowtop")&&z(e.event.syntheticEvent,0,"before"),(I=n.name)!=null&&I.toLowerCase().includes("rowbottom")&&z(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":Q(c.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((B=n.name)!=null&&B.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":Q(c.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((_=n.name)!=null&&_.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}Ie()},X=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return A.sanitizeColumns(e)},Ue=(e,n,o)=>{if(t.gridProps.onContextMenu&&v){const r={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};l(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&Ne({event:e,dataItem:n,field:o})},Ve=e=>{if(e.target!==e.currentTarget)return;clearTimeout(Pe.current),P.current&&(P.current.table=T.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!D||o===me.current)&&(Pe.current=window.setTimeout(()=>{N()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),V.current&&V.current.setScrollLeft(n),U.current&&U.current.setScrollLeft(n),P.current&&o!==me.current&&P.current.scrollHandler(e),t.gridProps.onScroll&&v&&l(t.gridProps.onScroll,{...m(e)}),me.current=o},We=e=>{c.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:K,navigationStateRef:H,onNavigationAction:_e,columns:X()}),c.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:S(),contextStateRef:K,navigationStateRef:H});const n={dataItems:y(),mode:C.mode,cell:C.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...m(e)};t.gridProps.onKeyDown&&v&&l(t.gridProps.onKeyDown,n)},Be=e=>{c.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:K})},_e=e=>{if(e.action==="moveToNextPage"&&st(e.event),e.action==="moveToPrevPage"&&ut(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&ie(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&ie(n,n-1,e.event)}if(e.action==="select"&&tt(e.event),t.gridProps.onNavigationAction&&v){const n={focusElement:e.focusElement,...m(e.event)};l(t.gridProps.onNavigationAction,n)}},je=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&l(t.gridProps.onRowClick,{dataItem:n,...m(e)})},$e=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&l(t.gridProps.onRowDoubleClick,{dataItem:n,...m(e)})},Xe=e=>{t.gridProps.onItemChange&&l(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Je=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&l(t.gridProps.onEditChange,{edit:{},...m(e.syntheticEvent)})},Ye=(e,n,o)=>{if(He.enabled&&He.mode==="incell"&&t.gridProps.dataItemKey){const r=c.editReducer(t.gridProps.edit,{type:c.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&l(t.gridProps.onEditChange,{edit:r,...m(e)})}},Qe=(e,n)=>{var r;if(c.getDetailExpandableOptions(t.detailExpandable).enabled){const a=c.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&l(t.gridProps.onDetailExpandChange,{...m(n),detailExpand:a})}},Ze=(e,n)=>{var r;const o=c.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const a=c.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&l(t.gridProps.onGroupExpandChange,{...m(n),groupExpand:a})}},we=(e,n,o)=>{const{allowUnsort:r,mode:a}=Le.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),d=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],s=o||Le.firstLevelSortSeqMap[r][d&&d.dir||""],u=a==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);s!==""&&n.field&&u.push({field:n.field,dir:s}),ye(u,e)},pe=e=>{var n;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const o=t.gridProps.dataItemKey?c.detailExpandReducer((n=t.gridProps.detailExpand)!=null?n:{},{type:c.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;l(t.gridProps.onExpandChange,{...m(e.syntheticEvent),expand:o,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&l(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},et=e=>{var n;if(t.gridProps.onSelectionChange&&C.enabled){const{event:o,dataItem:r,dataIndex:a,columnIndex:d}=e,s={...m(o.syntheticEvent),dataItem:r,startColIndex:d,endColIndex:d,startRowIndex:a,endRowIndex:a,dataItems:y(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:C.mode,cell:C.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};l(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?c.getSelectedState({event:s,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},tt=e=>{var f,h;if(t.gridProps.selectedField||!C.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:y(),mode:C.mode,cell:C.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...m(e)},o=c.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,a=c.closestTagName(r,"TD"),d=c.closestTagName(r,"TR"),s=c.getColumnIndex(a),u=c.getRowIndex(d);if(s!==void 0&&u!==void 0){const w=(h=A.getDataAsArray(t.gridProps.data))==null?void 0:h[u];t.gridProps.onSelectionChange&&l(t.gridProps.onSelectionChange,{...n,select:o,dataItem:w,startRowIndex:u,startColIndex:s,startDataItem:w,endDataItem:w,endRowIndex:u,endColIndex:s,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},nt=e=>{var n;if(t.gridProps.onHeaderSelectionChange&&C.enabled){const o=y();l(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?o.reduce((r,a)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(a)!==void 0&&(r[b.getter(t.gridProps.dataItemKey)(a)]=!0),r),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:o,selectedField:(n=t.gridProps.selectedField)!=null?n:""})}},J=(e,n)=>{t.gridProps.onSelectionChange&&C.enabled&&l(t.gridProps.onSelectionChange,{...e,select:n})},rt=e=>{var n;if(t.gridProps.onSelectionChange&&C.enabled){const o=y()[e.startRowIndex],r=y()[e.endRowIndex],a={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:y(),dataItem:null,startDataItem:o,endDataItem:r,...e},d=c.getSelectedState({event:a,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});J(a,d)}},ot=e=>{if(t.gridProps.onSelectionChange&&C.enabled){const n=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],r={},a={...e,startDataItem:n,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(d=>{const u=b.getter(t.gridProps.dataItemKey)(d);r[u]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),J(a,r)}},at=e=>{if(t.gridProps.onSelectionChange&&C.enabled){const o=b.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,a=t.columnsRef.length-1,d=e.dataItems.findIndex(w=>w[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:d,endDataItem:d,startRowIndex:d,endRowIndex:d,startColIndex:r,endColIndex:a},h=e.mode==="multiple"?t.gridProps.select||{}:{};h[o]===!0||Array.isArray(h[o])&&h[o].length===t.columnsRef.length?delete h[o]:h[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,J(f,h)}},it=e=>{t.gridProps.onSelectionChange&&C.enabled&&J(e,{})},L=(e,n,o,r,a)=>{lt();const d=t.gridProps.onDataStateChange;if(e){const s={...m(r),...n,targetEvent:a};l(e,s)}else d&&l(d,{...m(r),targetEvent:a||{},dataState:{...It(),...o}})},Y=(e,n,o)=>{var r;D&&t.gridProps.pageable&&((r=P.current)==null||r.reset()),L(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},dt=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,N()):Y(e,n,o)},ct=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},lt=()=>{D&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},st=e=>{var a,d;const n=(d=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?d:0,o=(t.gridProps.skip||0)+n,r=ct();o<r&&Y({skip:o,take:n},e)},ut=e=>{var r,a;const n=(a=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)-n;o>=0&&Y({skip:o,take:n},e)},gt=e=>{Y({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},ye=(e,n)=>{L(t.gridProps.onSortChange,{sort:e},{sort:e,...D&&!t.gridProps.pageable?{skip:0}:{}},n)},ft=(e,n)=>{L(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},n)},mt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(a=>a.field)||[],o=e.nativeEvent.target.value,r={logic:"or",filters:n.filter(a=>a!==void 0).map(a=>{var d;return typeof a=="string"?{field:a,value:o,operator:"contains"}:{value:o,operator:(d=a.operator)!=null?d:"contains",field:a.field,ignoreCase:a.ignoreCase}})};L(t.gridProps.onSearchChange,{search:r},{},e.syntheticEvent)},oe=(e,n)=>{const o=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let r={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(r={take:void 0}),e.length===0&&t.gridProps.navigatable&&(ue.current=!0),L(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},ae=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};l(t.gridProps.onColumnsStateChange,n)}},ie=(e,n,o)=>{const{columnsRef:r,columnsState:a}=t,d=r[e],s=A.getFlatColumnsState(a),u=d.depth,f=I=>{do I++;while(I<r.length&&r[I].depth>u);return I},h=r.splice(e,f(e)-e);r.splice(e<n?f(n-h.length):n,0,...h),r.filter(I=>I.declarationIndex>=0).forEach((I,B)=>{I.orderIndex=B;const _=s.find(j=>j.id===I.id);_&&(_.orderIndex=B)});const w=r[e].locked&&r[n].locked;c.updateLeft(t.columnsMapRef,r,w||te.current),c.updateRight(t.columnsMapRef,r,w||te.current),se.current&&(te.current=!1,se.current=!1);const re=X();if(N(),t.gridProps.onColumnReorder){const I={target:E.current,columns:re,columnId:d.id,nativeEvent:o};l(t.gridProps.onColumnReorder,I)}ae(a)},z=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!W.current)return;const a=t.dataRef[n];t.gridProps.onRowReorder&&l(t.gridProps.onRowReorder,{draggedDataItems:[W.current],droppedDataItem:a==null?void 0:a.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),W.current=null},Pt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),oe(r,o)},Se=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const a=(t.gridProps.group||[]).slice();a.splice(n,0,{field:r}),oe(a,o)},ht=(e,n)=>{const o=k.current.getCurrentGroupsLength;Se(e,o,n)},de=()=>{let e=0;if(!x.current.colGroupMain)return;const n=x.current.colGroupMain.children;for(let o=0;o<n.length;o++){const r=n[o].width;if(!r){e=0;break}e+=parseFloat(r.toString())}e=Math.round(e),V.current&&V.current.setWidth(e),U.current&&U.current.setWidth(e),T.current&&(T.current.style.width=e?e+"px":"")},xe=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=M.current)==null?void 0:e.offsetWidth)||0)},De=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=q.current)==null?void 0:e.offsetHeight)||0)},bt=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=A.calcRowHeight(O.current);n&&(e.current=n,N())}},Q=i.useCallback((e,n,o,r,a)=>{var f;if(!Rt()&&!o||!e)return;const d={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:a,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},s=y(),u=c.populateClipboardData({event:d,data:s,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:Me.current});e!==c.ClipboardActionType.paste&&(Me.current=u.copiedItems),t.gridProps.onClipboard&&v&&l(t.gridProps.onClipboard,{...d,...u})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Rt=()=>{var a,d,s;if(!b.canUseDOM)return!1;const e=b.getActiveElement(S()),n=e?e.matches(".k-table-td")?e:(a=S())==null?void 0:a.body:(d=S())==null?void 0:d.body,o=n.closest(".k-grid-container"),r=n&&((s=M.current)==null?void 0:s.contains(n));return!!(n&&r&&o)},Ct=(e,n,o,r,a,d,s)=>{de(),te.current=!0,se.current=!0,t.gridProps.onColumnResize&&v&&l(t.gridProps.onColumnResize,{columns:X(),nativeEvent:r,targetColumnId:s,index:e,newWidth:n,oldWidth:o,end:a,target:E.current}),a&&ae(d)},It=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},m=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),vt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),l=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(vt(n))},Et=()=>{var e,n,o;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){fe.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?ge.current=document.activeElement:ge.current=void 0;const r=Array.from((o=O.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>be.current.length?ee.current=r.filter(a=>!be.current.includes(a))[0]:r.length===1&&(ee.current=r[0],fe.current=!0),be.current=r}},y=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),S=()=>{var e;if(b.canUseDOM)return((e=Z())==null?void 0:e.ownerDocument)||document},Z=()=>M.current,ce=i.useCallback(e=>{var r,a;if(!P.current||!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;G.current&&G.current.disconnect();const{rowIndex:n}=e,o=Z();if(D){const d=((a=P.current.rowHeightService)==null?void 0:a.offset(n))||0;P.current.container.scroll(0,d)}else if(o){const d=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);d&&q.current&&(q.current.scrollTop=d.offsetTop)}},[t.gridProps.scrollable]),ke=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),wt=()=>ke(Tt)===ke(t.columnsRef),yt=()=>{ne.current=window.innerWidth,wt()||N()},St=()=>{var d;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=P.current,a=t.gridProps.rowHeight||((d=o.minRowHeightRef)==null?void 0:d.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=dt,r.pageSize=n,r.scrollableVirtual=D,r.container=q.current,r.tableBody=O.current,r.scrollHeightContainer=Te.current,r.table=T.current,(!r.rowHeightService||r.total!==e)&&a&&(r.total=e,r.rowHeightService=new b.RowHeightService(e,a)))},Ke=i.useCallback(e=>{const n={rowIndex:he.current};e.forEach(o=>{o.isIntersecting||ce(n)})},[ce]),N=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},xt=e=>e.left!==void 0?Re!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),P=i.useRef(void 0),x=i.useRef(void 0),k=i.useRef(void 0),K=i.useRef(void 0),H=i.useRef(void 0),p=i.useRef(void 0),G=i.useRef(null),O=i.useRef(null),Dt=i.useRef(null),q=i.useRef(null),T=i.useRef(null),le=i.useRef(null),M=i.useRef(null),Te=i.useRef(null),U=i.useRef(null),V=i.useRef(null),se=i.useRef(!1),ue=i.useRef(!1),ee=i.useRef(void 0),ge=i.useRef(void 0),fe=i.useRef(!1),te=i.useRef(!0),me=i.useRef(0),Pe=i.useRef(void 0),he=i.useRef(void 0),be=i.useRef([]),Me=i.useRef([]),ne=i.useRef(0),W=i.useRef(null),kt=i.useRef(null),Kt=i.useRef(null),Re=b.useDir(M),D=t.isVirtualScroll,Tt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),Ae=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,C=c.getSelectionOptions((Ge=t.gridProps.selectable)!=null?Ge:!!t.gridProps.selectedField),He=c.getEditableOptions((Oe=t.gridProps.editable)!=null?Oe:!!t.gridProps.editField),Mt=ne.current&&Ce&&ne.current<=Ce.medium&&t.gridProps.adaptive;return i.useMemo(()=>{c.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:K,navigationStateRef:H,idPrefix:t.id}),P.current=new Nt.VirtualScroll},[]),i.useMemo(()=>{var e;(e=P.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,Ae,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&(p.current=new c.ClipboardService(Q),p.current.addEventListeners(S())),()=>{p.current&&p.current.removeEventListeners(S())}),[t.gridProps.onClipboard,t.gridProps.clipboard,Q,S]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(zt.SAFARI_REGEX)&&(le.current&&(le.current.style.display="block"),T.current&&(T.current.style.display="block")),xe(),de(),b.setScrollbarWidth(),c.tableKeyboardNavigation.onComponentDidMount({scope:M.current||void 0,contextStateRef:K,navigationStateRef:H}),()=>{clearTimeout(Pe.current)}),[]),i.useEffect(()=>{var e;xe(),de(),b.setScrollbarWidth(),D&&(De(),bt(),(e=P.current)==null||e.update()),Et(),c.tableKeyboardNavigation.onComponentDidUpdate({scope:M.current||void 0,contextStateRef:K,navigationStateRef:H,focusFirst:ue.current,newEditableRow:ee.current,singleEditRow:fe.current,lastActiveElement:ge.current,navigatable:t.gridProps.navigatable}),ue.current=!1,ee.current=void 0}),i.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};G.current=window.IntersectionObserver&&new window.IntersectionObserver(Ke,e)||null}},[Ke]),i.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{yt(),D&&De()}),e.observe((n=S())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return Z()},props:t.gridProps,get columns(){return X()},scrollIntoView:e=>{var r;if(!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;he.current=n;const o=Z();if(G.current&&o){G.current.disconnect();const a=o.querySelector(`[absolute-row-index="${he.current}"]`);a?G.current.observe(a):ce(e)}},fitColumns:e=>{x.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{x.current=new Ft.ColumnResize(Ct)},[t.gridProps.onColumnResize,t.columnsRef]),i.useMemo(()=>{k.current=new Lt.CommonDragLogic(ie,Pt,Se)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),x.current.resizable=t.gridProps.resizable||!1,x.current.columns=t.columnsRef,x.current.columnsState=b.cloneArray(t.columnsState),k.current.reorderable=t.gridProps.reorderable||!1,k.current.groupable=Ae,k.current.columns=t.columnsRef,k.current.dir=Re,St(),i.createElement(ze.Provider,{value:{isClient:v,rowReorder:z,activeDragRowDataItemRef:W,reorderRowDragTargetRef:kt,reorderRowDropTargetRef:Kt,dir:Re,getCellPositionStyle:xt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,onColumnsStateChange:ae,groupChange:oe,selectionRelease:rt,pagerPageChange:gt,onContextMenu:Ue,rowClick:je,rowDblClick:$e,cellClick:Ye,headerCellClick:we,itemChange:pe,onDialogEditCancel:Je,onDialogEditSubmit:Xe,sortChange:ye,filterChange:ft,searchChange:mt,onHeaderSelectionChange:nt,columnGroupChange:ht,onKeyDown:We,onFocus:Be,scrollHandler:Ve,selectionChange:et,mobileMode:Mt,adaptiveColumnMenuRef:ne.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:Qe,dispatchGroupExpand:Ze,columnResizeRef:x,dragLogicRef:k,navigationStateRef:H,tableElementRef:T,tableBodyElementRef:O,headerElementRef:Dt,containerElementRef:q,headTableElementRef:le,elementRef:M,virtualScrollHeightContainerRef:Te,footerRef:U,headerRef:V,vsRef:P}},i.createElement(c.TableKeyboardNavigationContext.Provider,{value:K.current},t.children),i.createElement(qt.GridContextMenu,{show:g.show&&($==null?void 0:$.length),dataItem:g.dataItem,field:g.field,items:$,offset:g.offset,onClose:Ie,onSelect:qe}))};exports.GridClientWrapper=Vt;exports.GridContext=ze;
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ht=require("react"),b=require("@progress/kendo-react-common"),d=require("@progress/kendo-react-data-tools"),Gt=require("./drag/ColumnResize.js"),Ot=require("./drag/CommonDragLogic.js"),Lt=require("./constants/index.js"),A=require("./utils/index.js"),zt=require("./VirtualScroll.js"),Nt=require("./contextMenu/GridContextMenu.js"),Ge=require("./contextMenu/enums.js"),Oe=require("./sortCommon.js");function Ft(t){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const g in t)if(g!=="default"){const L=Object.getOwnPropertyDescriptor(t,g);Object.defineProperty(I,g,L.get?L:{enumerable:!0,get:()=>t[g]})}}return I.default=t,Object.freeze(I)}const i=Ft(Ht),Le=i.createContext(void 0),qt=t=>{const I=t.gridProps.isClient,[g,L]=i.useState({}),ve=b.useAdaptiveModeContext(),ze=e=>{e.event.preventDefault(),L({...g,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},Ce=()=>{L({})},R=i.useMemo(()=>t.columnsRef.find(e=>e.field===g.field),[t.columnsRef,g]),Ie=i.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultHeadContextMenuItems({sortable:!!e,selectable:d.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ee=i.useMemo(()=>{const e=t.gridProps.sortable&&(R==null?void 0:R.sortable);return A.getDefaultBodyContextMenuItems({sortable:!!e,selectable:d.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:A.isRowReorderEnabled(t.gridProps.rowReorderable)})},[R,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),$=i.useMemo(()=>{const e=(R==null?void 0:R.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(g):e;if(n&&g.offset){const o=g.dataItem?Ge.GridContextMenuAnchorPart.body:Ge.GridContextMenuAnchorPart.head,r=n[o],a=g.dataItem?Ee:Ie;return r===!1?void 0:r===!0||r===void 0?a:r}},[t.gridProps.contextMenu,g,Ee,Ie,R]),Ne=e=>{var l,u,f,h,w,re,C,j,B;const n=e.event.item,o={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&s(t.gridProps.onContextMenuItemClick,o);const r=y(),a={selectedField:"",componentId:t.id,dataItems:r,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...d.getSelectionOptions(t.gridProps.selectable),...o},c=r.findIndex(_=>_===e.dataItem);switch((l=n.data)==null?void 0:l.action){case"SortCommand":if(R){const _=(u=n.name)==null?void 0:u.toLowerCase().includes("asc"),Mt=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,Tt=_?"asc":Mt,At=n.name?Tt:void 0;we(e.event.syntheticEvent,R,At)}break;case"SelectRowCommand":rt(a);break;case"SelectAllRowsCommand":nt(a);break;case"ClearSelectionCommand":ot(a);break;case"ReorderRowCommand":W.current=e.dataItem,(h=n.name)!=null&&h.toLowerCase().includes("rowup")&&c>0&&N(e.event.syntheticEvent,c-1,"before"),(w=n.name)!=null&&w.toLowerCase().includes("rowdown")&&c<r.length-1&&N(e.event.syntheticEvent,c+1,"after"),(re=n.name)!=null&&re.toLowerCase().includes("rowtop")&&N(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&N(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":Q(d.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((j=n.name)!=null&&j.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":Q(d.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((B=n.name)!=null&&B.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}Ce()},X=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return A.sanitizeColumns(e)},Fe=(e,n,o)=>{if(t.gridProps.onContextMenu&&I){const r={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};s(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&ze({event:e,dataItem:n,field:o})},qe=e=>{if(e.target!==e.currentTarget)return;clearTimeout(Pe.current),P.current&&(P.current.table=M.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!D||o===me.current)&&(Pe.current=window.setTimeout(()=>{F()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),V.current&&V.current.setScrollLeft(n),U.current&&U.current.setScrollLeft(n),P.current&&o!==me.current&&P.current.scrollHandler(e),t.gridProps.onScroll&&I&&s(t.gridProps.onScroll,{...m(e)}),me.current=o},Ue=e=>{d.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:K,navigationStateRef:H,onNavigationAction:We,columns:X()}),d.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:S(),contextStateRef:K,navigationStateRef:H});const n={dataItems:y(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...m(e)};t.gridProps.onKeyDown&&I&&s(t.gridProps.onKeyDown,n)},Ve=e=>{d.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:K})},We=e=>{if(e.action==="moveToNextPage"&&dt(e.event),e.action==="moveToPrevPage"&<(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&ie(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&ie(n,n-1,e.event)}if(e.action==="select"&&pe(e.event),t.gridProps.onNavigationAction&&I){const n={focusElement:e.focusElement,...m(e.event)};s(t.gridProps.onNavigationAction,n)}},je=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&s(t.gridProps.onRowClick,{dataItem:n,...m(e)})},Be=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&s(t.gridProps.onRowDoubleClick,{dataItem:n,...m(e)})},_e=e=>{t.gridProps.onItemChange&&s(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},$e=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&s(t.gridProps.onEditChange,{edit:{},...m(e.syntheticEvent)})},Xe=(e,n,o)=>{if(He.enabled&&He.mode==="incell"&&t.gridProps.dataItemKey){const r=d.editReducer(t.gridProps.edit,{type:d.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&s(t.gridProps.onEditChange,{edit:r,...m(e)})}},Je=(e,n)=>{var r;if(d.getDetailExpandableOptions(t.detailExpandable).enabled){const a=d.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&s(t.gridProps.onDetailExpandChange,{...m(n),detailExpand:a})}},Ye=(e,n)=>{var r;const o=d.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const a=d.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&s(t.gridProps.onGroupExpandChange,{...m(n),groupExpand:a})}},we=(e,n,o)=>{const{allowUnsort:r,mode:a}=Oe.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),c=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],l=o||Oe.firstLevelSortSeqMap[r][c&&c.dir||""],u=a==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);l!==""&&n.field&&u.push({field:n.field,dir:l}),ye(u,e)},Qe=e=>{t.gridProps.onItemChange&&s(t.gridProps.onItemChange,{...m(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Ze=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const{event:o,dataItem:r,dataIndex:a,columnIndex:c}=e,l={...m(o.syntheticEvent),dataItem:r,startColIndex:c,endColIndex:c,startRowIndex:a,endRowIndex:a,dataItems:y(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:v.mode,cell:v.cell,isDrag:!1,componentId:t.id,selectedField:""};s(t.gridProps.onSelectionChange,{...l,select:t.gridProps.dataItemKey?d.getSelectedState({event:l,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},pe=e=>{var f,h;if(!v.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:y(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:"",...m(e)},o=d.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,a=d.closestTagName(r,"TD"),c=d.closestTagName(r,"TR"),l=d.getColumnIndex(a),u=d.getRowIndex(c);if(l!==void 0&&u!==void 0){const w=(h=A.getDataAsArray(t.gridProps.data))==null?void 0:h[u];t.gridProps.onSelectionChange&&s(t.gridProps.onSelectionChange,{...n,select:o,dataItem:w,startRowIndex:u,startColIndex:l,startDataItem:w,endDataItem:w,endRowIndex:u,endColIndex:l,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},et=e=>{if(t.gridProps.onHeaderSelectionChange&&v.enabled){const n=y();s(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((o,r)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(r)!==void 0&&(o[b.getter(t.gridProps.dataItemKey)(r)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:n})}},J=(e,n)=>{t.gridProps.onSelectionChange&&v.enabled&&s(t.gridProps.onSelectionChange,{...e,select:n})},tt=e=>{var n;if(t.gridProps.onSelectionChange&&v.enabled){const o=y()[e.startRowIndex],r=y()[e.endRowIndex],a={syntheticEvent:void 0,target:E.current,selectedField:"",componentId:t.id,dataItems:y(),dataItem:null,startDataItem:o,endDataItem:r,...e},c=d.getSelectedState({event:a,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});J(a,c)}},nt=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const n=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],r={},a={...e,startDataItem:n,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(c=>{const u=b.getter(t.gridProps.dataItemKey)(c);r[u]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),J(a,r)}},rt=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const o=b.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,a=t.columnsRef.length-1,c=e.dataItems.findIndex(w=>w[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:r,endColIndex:a},h=e.mode==="multiple"?t.gridProps.select||{}:{};h[o]===!0||Array.isArray(h[o])&&h[o].length===t.columnsRef.length?delete h[o]:h[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,J(f,h)}},ot=e=>{t.gridProps.onSelectionChange&&v.enabled&&J(e,{})},z=(e,n,o,r,a)=>{ct();const c=t.gridProps.onDataStateChange;if(e){const l={...m(r),...n,targetEvent:a};s(e,l)}else c&&s(c,{...m(r),targetEvent:a||{},dataState:{...Rt(),...o}})},Y=(e,n,o)=>{var r;D&&t.gridProps.pageable&&((r=P.current)==null||r.reset()),z(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},at=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,F()):Y(e,n,o)},it=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},ct=()=>{D&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},dt=e=>{var a,c;const n=(c=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?c:0,o=(t.gridProps.skip||0)+n,r=it();o<r&&Y({skip:o,take:n},e)},lt=e=>{var r,a;const n=(a=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)-n;o>=0&&Y({skip:o,take:n},e)},st=e=>{Y({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},ye=(e,n)=>{z(t.gridProps.onSortChange,{sort:e},{sort:e,...D&&!t.gridProps.pageable?{skip:0}:{}},n)},ut=(e,n)=>{z(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},gt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(a=>a.field)||[],o=e.nativeEvent.target.value,r={logic:"or",filters:n.filter(a=>a!==void 0).map(a=>{var c;return typeof a=="string"?{field:a,value:o,operator:"contains"}:{value:o,operator:(c=a.operator)!=null?c:"contains",field:a.field,ignoreCase:a.ignoreCase}})};z(t.gridProps.onSearchChange,{search:r},{},e.syntheticEvent)},oe=(e,n)=>{const o=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let r={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(r={take:void 0}),e.length===0&&t.gridProps.navigatable&&(ue.current=!0),z(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},ae=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};s(t.gridProps.onColumnsStateChange,n)}},ie=(e,n,o)=>{const{columnsRef:r,columnsState:a}=t,c=r[e],l=A.getFlatColumnsState(a),u=c.depth,f=C=>{do C++;while(C<r.length&&r[C].depth>u);return C},h=r.splice(e,f(e)-e);r.splice(e<n?f(n-h.length):n,0,...h),r.filter(C=>C.declarationIndex>=0).forEach((C,j)=>{C.orderIndex=j;const B=l.find(_=>_.id===C.id);B&&(B.orderIndex=j)});const w=r[e].locked&&r[n].locked;d.updateLeft(t.columnsMapRef,r,w||te.current),d.updateRight(t.columnsMapRef,r,w||te.current),se.current&&(te.current=!1,se.current=!1);const re=X();if(F(),t.gridProps.onColumnReorder){const C={target:E.current,columns:re,columnId:c.id,nativeEvent:o};s(t.gridProps.onColumnReorder,C)}ae(a)},N=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!W.current)return;const a=t.dataRef[n];t.gridProps.onRowReorder&&s(t.gridProps.onRowReorder,{draggedDataItems:[W.current],droppedDataItem:a==null?void 0:a.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),W.current=null},ft=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),oe(r,o)},Se=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const a=(t.gridProps.group||[]).slice();a.splice(n,0,{field:r}),oe(a,o)},mt=(e,n)=>{const o=k.current.getCurrentGroupsLength;Se(e,o,n)},ce=()=>{let e=0;if(!x.current.colGroupMain)return;const n=x.current.colGroupMain.children;for(let o=0;o<n.length;o++){const r=n[o].width;if(!r){e=0;break}e+=parseFloat(r.toString())}e=Math.round(e),V.current&&V.current.setWidth(e),U.current&&U.current.setWidth(e),M.current&&(M.current.style.width=e?e+"px":"")},xe=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=T.current)==null?void 0:e.offsetWidth)||0)},De=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=q.current)==null?void 0:e.offsetHeight)||0)},Pt=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=A.calcRowHeight(O.current);n&&(e.current=n,F())}},Q=i.useCallback((e,n,o,r,a)=>{var f;if(!ht()&&!o||!e)return;const c={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:a,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},l=y(),u=d.populateClipboardData({event:c,data:l,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:Te.current});e!==d.ClipboardActionType.paste&&(Te.current=u.copiedItems),t.gridProps.onClipboard&&I&&s(t.gridProps.onClipboard,{...c,...u})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),ht=()=>{var a,c,l;if(!b.canUseDOM)return!1;const e=b.getActiveElement(S()),n=e?e.matches(".k-table-td")?e:(a=S())==null?void 0:a.body:(c=S())==null?void 0:c.body,o=n.closest(".k-grid-container"),r=n&&((l=T.current)==null?void 0:l.contains(n));return!!(n&&r&&o)},bt=(e,n,o,r,a,c,l)=>{ce(),te.current=!0,se.current=!0,t.gridProps.onColumnResize&&I&&s(t.gridProps.onColumnResize,{columns:X(),nativeEvent:r,targetColumnId:l,index:e,newWidth:n,oldWidth:o,end:a,target:E.current}),a&&ae(c)},Rt=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},m=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),vt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),s=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(vt(n))},Ct=()=>{var e,n,o;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){fe.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?ge.current=document.activeElement:ge.current=void 0;const r=Array.from((o=O.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>be.current.length?ee.current=r.filter(a=>!be.current.includes(a))[0]:r.length===1&&(ee.current=r[0],fe.current=!0),be.current=r}},y=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),S=()=>{var e;if(b.canUseDOM)return((e=Z())==null?void 0:e.ownerDocument)||document},Z=()=>T.current,de=i.useCallback(e=>{var r,a;if(!P.current||!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;G.current&&G.current.disconnect();const{rowIndex:n}=e,o=Z();if(D){const c=((a=P.current.rowHeightService)==null?void 0:a.offset(n))||0;P.current.container.scroll(0,c)}else if(o){const c=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);c&&q.current&&(q.current.scrollTop=c.offsetTop)}},[t.gridProps.scrollable]),ke=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),It=()=>ke(kt)===ke(t.columnsRef),Et=()=>{ne.current=window.innerWidth,It()||F()},wt=()=>{var c;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=P.current,a=t.gridProps.rowHeight||((c=o.minRowHeightRef)==null?void 0:c.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=at,r.pageSize=n,r.scrollableVirtual=D,r.container=q.current,r.tableBody=O.current,r.scrollHeightContainer=Me.current,r.table=M.current,(!r.rowHeightService||r.total!==e)&&a&&(r.total=e,r.rowHeightService=new b.RowHeightService(e,a)))},Ke=i.useCallback(e=>{const n={rowIndex:he.current};e.forEach(o=>{o.isIntersecting||de(n)})},[de]),F=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},yt=e=>e.left!==void 0?Re!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),P=i.useRef(void 0),x=i.useRef(void 0),k=i.useRef(void 0),K=i.useRef(void 0),H=i.useRef(void 0),p=i.useRef(void 0),G=i.useRef(null),O=i.useRef(null),St=i.useRef(null),q=i.useRef(null),M=i.useRef(null),le=i.useRef(null),T=i.useRef(null),Me=i.useRef(null),U=i.useRef(null),V=i.useRef(null),se=i.useRef(!1),ue=i.useRef(!1),ee=i.useRef(void 0),ge=i.useRef(void 0),fe=i.useRef(!1),te=i.useRef(!0),me=i.useRef(0),Pe=i.useRef(void 0),he=i.useRef(void 0),be=i.useRef([]),Te=i.useRef([]),ne=i.useRef(0),W=i.useRef(null),xt=i.useRef(null),Dt=i.useRef(null),Re=b.useDir(T),D=t.isVirtualScroll,kt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),Ae=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,v=d.getSelectionOptions(t.gridProps.selectable),He=d.getEditableOptions(t.gridProps.editable),Kt=ne.current&&ve&&ne.current<=ve.medium&&t.gridProps.adaptive;return i.useMemo(()=>{d.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:K,navigationStateRef:H,idPrefix:t.id}),P.current=new zt.VirtualScroll},[]),i.useMemo(()=>{var e;(e=P.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,Ae,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&(p.current=new d.ClipboardService(Q),p.current.addEventListeners(S())),()=>{p.current&&p.current.removeEventListeners(S())}),[t.gridProps.onClipboard,t.gridProps.clipboard,Q,S]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(Lt.SAFARI_REGEX)&&(le.current&&(le.current.style.display="block"),M.current&&(M.current.style.display="block")),xe(),ce(),b.setScrollbarWidth(),d.tableKeyboardNavigation.onComponentDidMount({scope:T.current||void 0,contextStateRef:K,navigationStateRef:H}),()=>{clearTimeout(Pe.current)}),[]),i.useEffect(()=>{var e;xe(),ce(),b.setScrollbarWidth(),D&&(De(),Pt(),(e=P.current)==null||e.update()),Ct(),d.tableKeyboardNavigation.onComponentDidUpdate({scope:T.current||void 0,contextStateRef:K,navigationStateRef:H,focusFirst:ue.current,newEditableRow:ee.current,singleEditRow:fe.current,lastActiveElement:ge.current,navigatable:t.gridProps.navigatable}),ue.current=!1,ee.current=void 0}),i.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};G.current=window.IntersectionObserver&&new window.IntersectionObserver(Ke,e)||null}},[Ke]),i.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{Et(),D&&De()}),e.observe((n=S())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return Z()},props:t.gridProps,get columns(){return X()},scrollIntoView:e=>{var r;if(!((r=P.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;he.current=n;const o=Z();if(G.current&&o){G.current.disconnect();const a=o.querySelector(`[absolute-row-index="${he.current}"]`);a?G.current.observe(a):de(e)}},fitColumns:e=>{x.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{x.current=new Gt.ColumnResize(bt)},[t.gridProps.onColumnResize,t.columnsRef]),i.useMemo(()=>{k.current=new Ot.CommonDragLogic(ie,ft,Se)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),x.current.resizable=t.gridProps.resizable||!1,x.current.columns=t.columnsRef,x.current.columnsState=b.cloneArray(t.columnsState),k.current.reorderable=t.gridProps.reorderable||!1,k.current.groupable=Ae,k.current.columns=t.columnsRef,k.current.dir=Re,wt(),i.createElement(Le.Provider,{value:{isClient:I,rowReorder:N,activeDragRowDataItemRef:W,reorderRowDragTargetRef:xt,reorderRowDropTargetRef:Dt,dir:Re,getCellPositionStyle:yt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,onColumnsStateChange:ae,groupChange:oe,selectionRelease:tt,pagerPageChange:st,onContextMenu:Fe,rowClick:je,rowDblClick:Be,cellClick:Xe,headerCellClick:we,itemChange:Qe,onDialogEditCancel:$e,onDialogEditSubmit:_e,sortChange:ye,filterChange:ut,searchChange:gt,onHeaderSelectionChange:et,columnGroupChange:mt,onKeyDown:Ue,onFocus:Ve,scrollHandler:qe,selectionChange:Ze,mobileMode:Kt,adaptiveColumnMenuRef:ne.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:Je,dispatchGroupExpand:Ye,columnResizeRef:x,dragLogicRef:k,navigationStateRef:H,tableElementRef:M,tableBodyElementRef:O,headerElementRef:St,containerElementRef:q,headTableElementRef:le,elementRef:T,virtualScrollHeightContainerRef:Me,footerRef:U,headerRef:V,vsRef:P}},i.createElement(d.TableKeyboardNavigationContext.Provider,{value:K.current},t.children),i.createElement(Nt.GridContextMenu,{show:g.show&&($==null?void 0:$.length),dataItem:g.dataItem,field:g.field,items:$,offset:g.offset,onClose:Ce,onSelect:Ne}))};exports.GridClientWrapper=qt;exports.GridContext=Le;
|