@progress/kendo-react-grid 10.0.0-develop.3 → 10.0.0-develop.5
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/GridClientContextReader.js +1 -1
- package/GridClientContextReader.mjs +14 -15
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +427 -432
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +374 -357
- package/README.md +61 -15
- package/components/colGroup/GridColGroup.js +1 -1
- package/components/colGroup/GridColGroup.mjs +6 -6
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/drag/ColumnResize.js +1 -1
- package/drag/ColumnResize.mjs +111 -80
- package/index.d.mts +10 -2
- package/index.d.ts +10 -2
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -13
- package/utils/index.js +1 -1
- package/utils/index.mjs +163 -151
- package/utils/premium.js +1 -1
- package/utils/premium.mjs +6 -6
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),o=require("@progress/kendo-react-common"),r=require("@progress/kendo-react-intl"),m=require("./GridState.js"),g=require("./utils/index.js");function y(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const i=y(b),p=e=>{const n=o.useId(),t=e.id||n,c=o.useUnstyled(),a=r.useLocalization(),s=r.useInternationalization(),[,l]=i.useReducer(R=>!R,!0),u=i.useRef(0),[d,,f]=m.useGridState();return g.cloneReactElement(e.children,{...d,...f,id:t,unstyled:c,localization:a,intl:s,scrollLeftRef:u,forceUpdate:l,isClient:!0})};exports.GridClientContextReader=p;
|
|
@@ -6,26 +6,25 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { useId as
|
|
11
|
-
import { useLocalization as
|
|
12
|
-
import { useGridState as
|
|
13
|
-
import { cloneReactElement as
|
|
14
|
-
const
|
|
15
|
-
const o =
|
|
16
|
-
return
|
|
17
|
-
...
|
|
9
|
+
import * as e from "react";
|
|
10
|
+
import { useId as m, useUnstyled as f } from "@progress/kendo-react-common";
|
|
11
|
+
import { useLocalization as R, useInternationalization as p } from "@progress/kendo-react-intl";
|
|
12
|
+
import { useGridState as z } from "./GridState.mjs";
|
|
13
|
+
import { cloneReactElement as C } from "./utils/index.mjs";
|
|
14
|
+
const L = (t) => {
|
|
15
|
+
const o = m(), n = t.id || o, c = f(), i = R(), r = p(), [, s] = e.useReducer((u) => !u, !0), a = e.useRef(0), [l, , d] = z();
|
|
16
|
+
return C(t.children, {
|
|
17
|
+
...l,
|
|
18
18
|
...d,
|
|
19
19
|
id: n,
|
|
20
|
-
unstyled:
|
|
21
|
-
localization:
|
|
22
|
-
intl:
|
|
23
|
-
columnsRef: l,
|
|
20
|
+
unstyled: c,
|
|
21
|
+
localization: i,
|
|
22
|
+
intl: r,
|
|
24
23
|
scrollLeftRef: a,
|
|
25
|
-
forceUpdate:
|
|
24
|
+
forceUpdate: s,
|
|
26
25
|
isClient: !0
|
|
27
26
|
});
|
|
28
27
|
};
|
|
29
28
|
export {
|
|
30
|
-
|
|
29
|
+
L as GridClientContextReader
|
|
31
30
|
};
|
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 kt=require("react"),R=require("@progress/kendo-react-common"),l=require("@progress/kendo-react-data-tools"),Kt=require("./drag/ColumnResize.js"),Mt=require("./drag/CommonDragLogic.js"),Tt=require("./constants/index.js"),w=require("./utils/index.js"),Me=require("./VirtualScrollFixed.js"),At=require("./VirtualScroll.js"),Ht=require("./contextMenu/GridContextMenu.js"),Te=require("./contextMenu/enums.js"),Ae=require("./sortCommon.js");function Ft(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const h in t)if(h!=="default"){const H=Object.getOwnPropertyDescriptor(t,h);Object.defineProperty(v,h,H.get?H:{enumerable:!0,get:()=>t[h]})}}return v.default=t,Object.freeze(v)}const i=Ft(kt),He=i.createContext(void 0),Gt=t=>{var we,xe;const v=t.gridProps.isClient,[h,H]=i.useState({}),Fe=e=>{e.event.preventDefault(),H({...h,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},ge=()=>{H({})},b=i.useMemo(()=>t.columnsRef.current.find(e=>e.field===h.field),[t.columnsRef,h]),fe=i.useMemo(()=>{const e=t.gridProps.sortable&&(b==null?void 0:b.sortable);return w.getDefaultHeadContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[b,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),me=i.useMemo(()=>{const e=t.gridProps.sortable&&(b==null?void 0:b.sortable);return w.getDefaultBodyContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:w.isRowReorderEnabled(t.gridProps.rowReorderable)})},[b,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ge=i.useMemo(()=>{const e=(b==null?void 0:b.contextMenu)||t.gridProps.contextMenu,r=typeof e=="function"?e(h):e;if(r&&h.offset){const n=h.dataItem?Te.GridContextMenuAnchorPart.body:Te.GridContextMenuAnchorPart.head,a=r[n],o=h.dataItem?me:fe;return a===!1?void 0:a===!0||a===void 0?o:a}},[t.gridProps.contextMenu,h,me,fe,b]),Le=e=>{var s,u,P,m,y,Se,De,ke,Ke;const r=e.event.item,n={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:r,...e};t.gridProps.onContextMenuItemClick&&g(t.gridProps.onContextMenuItemClick,n);const a=j(),o={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:a,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...n},c=a.findIndex(ue=>ue===e.dataItem);switch((s=r.data)==null?void 0:s.action){case"SortCommand":if(b){const ue=(u=r.name)==null?void 0:u.toLowerCase().includes("asc"),xt=((P=r.name)==null?void 0:P.toLowerCase().includes("desc"))?"desc":void 0,St=ue?"asc":xt,Dt=r.name?St:void 0;Pe(e.event.syntheticEvent,b,Dt)}break;case"SelectRowCommand":pe(o);break;case"SelectAllRowsCommand":Ze(o);break;case"ClearSelectionCommand":et(o);break;case"ReorderRowCommand":q.current=e.dataItem,(m=r.name)!=null&&m.toLowerCase().includes("rowup")&&c>0&&G(e.event.syntheticEvent,c-1,"before"),(y=r.name)!=null&&y.toLowerCase().includes("rowdown")&&c<a.length-1&&G(e.event.syntheticEvent,c+1,"after"),(Se=r.name)!=null&&Se.toLowerCase().includes("rowtop")&&G(e.event.syntheticEvent,0,"before"),(De=r.name)!=null&&De.toLowerCase().includes("rowbottom")&&G(e.event.syntheticEvent,a.length-1,"after");break;case"CopySelectionCommand":B(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((ke=r.name)!=null&&ke.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":B(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((Ke=r.name)!=null&&Ke.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}ge()},U=()=>{const e=f.current.filter(r=>r.declarationIndex>=0&&r.parentIndex===-1);return w.sanitizeColumns(e)},Oe=(e,r,n)=>{if(t.gridProps.onContextMenu&&v){const a={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:r,field:n};g(t.gridProps.onContextMenu,a)}t.gridProps.contextMenu&&Fe({event:e,dataItem:r,field:n})},ze=e=>{if(e.target!==e.currentTarget)return;clearTimeout(de.current),d.current&&(d.current.table=k.current);const r=e.currentTarget.scrollLeft,n=e.currentTarget.scrollTop,a=t.gridProps.scrollable==="virtual";t.gridProps.columnVirtualization&&(!a||n===ce.current)&&(de.current=window.setTimeout(()=>{te()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=r),N.current&&N.current.setScrollLeft(r),z.current&&z.current.setScrollLeft(r),d.current&&n!==ce.current&&d.current.scrollHandler(e),t.gridProps.onScroll&&v&&g(t.gridProps.onScroll,{...I(e)}),ce.current=n},Ne=e=>{l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:D,navigationStateRef:M,onNavigationAction:Ue,columns:U()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:x(),contextStateRef:D,navigationStateRef:M});const r={dataItems:L(),mode:C.mode,cell:C.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)};t.gridProps.onKeyDown&&v&&g(t.gridProps.onKeyDown,r)},qe=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:D})},Ue=e=>{if(e.action==="moveToNextPage"&&rt(e.event),e.action==="moveToPrevPage"&&nt(e.event),e.focusElement&&e.action==="reorderToRight"){const r=parseInt(e.focusElement.ariaColIndex,10)-1;r<f.current.length-1&&Z(r,r+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const r=parseInt(e.focusElement.ariaColIndex,10)-1;r>0&&Z(r,r-1,e.event)}if(e.action==="select"&&Je(e.event),t.gridProps.onNavigationAction&&v){const r={focusElement:e.focusElement,...I(e.event)};g(t.gridProps.onNavigationAction,r)}},Ve=(e,r)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&g(t.gridProps.onRowClick,{dataItem:r,...I(e)})},_e=(e,r)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&g(t.gridProps.onRowDoubleClick,{dataItem:r,...I(e)})},Be=(e,r,n)=>{if(Ee.enabled&&Ee.mode==="incell"&&t.gridProps.dataItemKey){const a=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:r[t.gridProps.dataItemKey],field:n}});t.gridProps.onEditChange&&g(t.gridProps.onEditChange,{edit:a,...I(e)})}},je=(e,r)=>{var a;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const o=l.detailExpandReducer((a=t.gridProps.detailExpand)!=null?a:{},e);t.gridProps.onDetailExpandChange&&g(t.gridProps.onDetailExpandChange,{...I(r),detailExpand:o})}},We=(e,r)=>{var a;const n=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(n.enabled){const o=l.groupExpandReducer((a=t.gridProps.groupExpand)!=null?a:[],e,n);t.gridProps.onGroupExpandChange&&g(t.gridProps.onGroupExpandChange,{...I(r),groupExpand:o})}},Pe=(e,r,n)=>{const{allowUnsort:a,mode:o}=Ae.normalizeSortable(t.gridProps.sortable||!1,r.sortable||!1),c=(t.gridProps.sort||[]).filter(P=>P.field===r.field)[0],s=n||Ae.firstLevelSortSeqMap[a][c&&c.dir||""],u=o==="single"?[]:(t.gridProps.sort||[]).filter(P=>P.field!==r.field);s!==""&&r.field&&u.push({field:r.field,dir:s}),he(u,e)},$e=e=>{var r;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const n=t.gridProps.dataItemKey?l.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},{type:l.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;g(t.gridProps.onExpandChange,{...I(e.syntheticEvent),expand:n,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&g(t.gridProps.onItemChange,{...I(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Xe=e=>{var r;if(t.gridProps.onSelectionChange&&C.enabled){const{event:n,dataItem:a,dataIndex:o,columnIndex:c}=e,s={...I(n.syntheticEvent),dataItem:a,startColIndex:c,endColIndex:c,startRowIndex:o,endRowIndex:o,dataItems:L(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:C.mode,cell:C.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};g(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?l.getSelectedState({event:s,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Je=e=>{var P,m;if(t.gridProps.selectedField||!C.enabled||!t.gridProps.dataItemKey)return;const r={dataItems:L(),mode:C.mode,cell:C.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)},n=l.getSelectedStateFromKeyDown({event:r,selectedState:(P=t.gridProps.select)!=null?P:{},dataItemKey:t.gridProps.dataItemKey});if(n===t.gridProps.select)return;const a=e.target,o=l.closestTagName(a,"TD"),c=l.closestTagName(a,"TR"),s=l.getColumnIndex(o),u=l.getRowIndex(c);if(s!==void 0&&u!==void 0){const y=(m=w.getDataAsArray(t.gridProps.data))==null?void 0:m[u];t.gridProps.onSelectionChange&&g(t.gridProps.onSelectionChange,{...r,select:n,dataItem:y,startRowIndex:u,startColIndex:s,startDataItem:y,endDataItem:y,endRowIndex:u,endColIndex:s,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},Ye=e=>{var r;if(t.gridProps.onHeaderSelectionChange&&C.enabled){const n=L();g(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((a,o)=>(t.gridProps.dataItemKey&&R.getter(t.gridProps.dataItemKey)(o)!==void 0&&(a[R.getter(t.gridProps.dataItemKey)(o)]=!0),a),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:n,selectedField:(r=t.gridProps.selectedField)!=null?r:""})}},V=(e,r)=>{t.gridProps.onSelectionChange&&C.enabled&&g(t.gridProps.onSelectionChange,{...e,select:r})},Qe=e=>{var r;if(t.gridProps.onSelectionChange&&C.enabled){const n=j()[e.startRowIndex],a=j()[e.endRowIndex],o={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:L(),dataItem:null,startDataItem:n,endDataItem:a,...e},c=l.getSelectedState({event:o,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey});V(o,c)}},Ze=e=>{if(t.gridProps.onSelectionChange&&C.enabled){const r=e.dataItems[0],n=e.dataItems[e.dataItems.length-1],a={},o={...e,startDataItem:r,endDataItem:n,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:f.current.length-1};e.dataItems.forEach(c=>{const u=R.getter(t.gridProps.dataItemKey)(c);a[u]=e.cell?[...Array(f.current.length).keys()]:!0}),V(o,a)}},pe=e=>{if(t.gridProps.onSelectionChange&&C.enabled){const n=R.getter(t.gridProps.dataItemKey)(e.dataItem),a=0,o=f.current.length-1,c=e.dataItems.findIndex(y=>y[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),P={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:a,endColIndex:o},m=e.mode==="multiple"?t.gridProps.select||{}:{};m[n]===!0||Array.isArray(m[n])&&m[n].length===f.current.length?delete m[n]:m[n]=e.cell?[...Array(f.current.length).keys()]:!0,V(P,m)}},et=e=>{t.gridProps.onSelectionChange&&C.enabled&&V(e,{})},F=(e,r,n,a,o)=>{const c=t.gridProps.onDataStateChange;if(e){const s={...I(a),...r,targetEvent:o};g(e,s)}else c&&g(c,{...I(a),targetEvent:o||{},dataState:{...gt(),...n}})},_=(e,r,n)=>{F(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},r,n)},tt=()=>{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},rt=e=>{var o,c;const r=(c=(o=t.gridProps.take)!=null?o:t.gridProps.pageSize)!=null?c:0,n=(t.gridProps.skip||0)+r,a=tt();n<a&&_({skip:n,take:r},e)},nt=e=>{var a,o;const r=(o=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?o:0,n=(t.gridProps.skip||0)-r;n>=0&&_({skip:n,take:r},e)},at=e=>{_({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},he=(e,r)=>{F(t.gridProps.onSortChange,{sort:e},{sort:e,...t.gridProps.scrollable==="virtual"?{skip:0}:{}},r)},ot=(e,r)=>{F(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},r)},it=e=>{const r=t.gridProps.searchFields||f.current.map(o=>o.field)||[],n=e.nativeEvent.target.value,a={logic:"or",filters:r.filter(o=>o!==void 0).map(o=>{var c;return typeof o=="string"?{field:o,value:n,operator:"contains"}:{value:n,operator:(c=o.operator)!=null?c:"contains",field:o.field,ignoreCase:o.ignoreCase}})};F(t.gridProps.onSearchChange,{search:a},{},e.syntheticEvent)},Q=(e,r)=>{const n=r.nativeEvent?r:{nativeEvent:r.nativeEvent||r.originalEvent};e.length===0&&t.gridProps.navigatable&&(ae.current=!0),F(t.gridProps.onGroupChange,{group:e},{group:e,skip:0},n)},ct=e=>{if(t.gridProps.onColumnsStateChange){const r={target:E.current,columnsState:e};g(t.gridProps.onColumnsStateChange,r)}},Z=(e,r,n)=>{const a=f.current[e],o=a.depth,c=m=>{do m++;while(m<f.current.length&&f.current[m].depth>o);return m},s=f.current.splice(e,c(e)-e);f.current.splice(e<r?c(r-s.length):r,0,...s),f.current.filter(m=>m.declarationIndex>=0).forEach((m,y)=>m.orderIndex=y);const u=f.current[e].locked&&f.current[r].locked;l.updateLeft(t.columnsMapRef,f.current,u||Y.current),l.updateRight(t.columnsMapRef,f.current,u||Y.current),ne.current&&(Y.current=!1,ne.current=!1);const P=U();if(te(),t.gridProps.onColumnReorder){const m={target:E.current,columns:P,columnId:a.id,nativeEvent:n};g(t.gridProps.onColumnReorder,m)}},G=(e,r,n)=>{const a=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(n==="forbidden"||!a||!q.current)return;const{slicedData:o,dataRef:c}=t,s=(o||c)[r];t.gridProps.onRowReorder&&g(t.gridProps.onRowReorder,{draggedDataItems:[q.current],droppedDataItem:s==null?void 0:s.dataItem,dropPosition:n,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),q.current=null},dt=(e,r,n)=>{if(t.gridProps.group===void 0)return;const a=t.gridProps.group.slice();a.splice(r,0,...a.splice(e,1)),Q(a,n)},be=(e,r,n)=>{const a=f.current[e].field;if(!a)return;const o=(t.gridProps.group||[]).slice();o.splice(r,0,{field:a}),Q(o,n)},lt=(e,r)=>{const n=K.current.getCurrentGroupsLength;be(e,n,r)},p=()=>{let e=0;if(!S.current.colGroupMain)return;const r=S.current.colGroupMain.children;for(let n=0;n<r.length;n++){const a=r[n].width;if(!a)return;e+=parseFloat(a.toString())}e=Math.round(e),N.current&&N.current.setWidth(e),z.current&&z.current.setWidth(e),k.current&&(k.current.style.width=e+"px")},B=i.useCallback((e,r,n,a,o)=>{var P;if(!st()&&!n||!e)return;const c={type:e,nativeEvent:r,columns:f.current,dataItemKey:t.gridProps.dataItemKey||"",dataItem:a,field:o,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...n},s=j(),u=l.populateClipboardData({event:c,data:s,selectedState:(P=t.gridProps.select)!=null?P:{},previousCopiedItems:Re.current});e!==l.ClipboardActionType.paste&&(Re.current=u.copiedItems),t.gridProps.onClipboard&&v&&g(t.gridProps.onClipboard,{...c,...u})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),st=()=>{var o,c,s;if(!R.canUseDOM)return!1;const e=R.getActiveElement(x()),r=e?e.matches(".k-table-td")?e:(o=x())==null?void 0:o.body:(c=x())==null?void 0:c.body,n=r.closest(".k-grid-container"),a=r&&((s=A.current)==null?void 0:s.contains(r));return!!(r&&a&&n)},ut=(e,r,n,a,o,c)=>{p(),Y.current=!0,ne.current=!0,t.gridProps.onColumnResize&&v&&g(t.gridProps.onColumnResize,{columns:U(),nativeEvent:a,targetColumnId:c,index:e,newWidth:r,oldWidth:n,end:o,target:E.current})},gt=()=>{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}},I=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),ft=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),g=(e,r)=>{if(t.gridProps.isClient){e(r);return}e(ft(r))},mt=()=>{var e,r,n;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ie.current=!1,(r=document.activeElement)!=null&&r.closest(".k-grid-edit-row")?oe.current=document.activeElement:oe.current=void 0;const a=Array.from((n=O.current)==null?void 0:n.getElementsByClassName("k-grid-edit-row"));a.length>se.current.length?J.current=a.filter(o=>!se.current.includes(o))[0]:a.length===1&&(J.current=a[0],ie.current=!0),se.current=a}},L=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),j=()=>(t.slicedData||t.dataRef).filter(e=>e.rowType==="data").map(e=>e.dataItem),x=()=>{var e;if(R.canUseDOM)return((e=W())==null?void 0:e.ownerDocument)||document},W=()=>A.current,ee=i.useCallback(e=>{var a;if(!d.current||!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;T.current&&T.current.disconnect();const{rowIndex:r}=e,n=W();if(t.gridProps.scrollable==="virtual")d.current.askedSkip=r,d.current.container.scroll(0,Math.round(d.current.askedSkip/d.current.total*d.current.container.scrollHeight));else if(n){const o=r<1?n.querySelector("tbody > tr:nth-child(1)"):n.querySelector(`tbody > tr:nth-child(${r+1})`);o&&X.current&&(X.current.scrollTop=o.offsetTop)}},[t.gridProps.scrollable]),Ie=e=>JSON.stringify(e.map(r=>({id:r.id,field:r.field,title:r.title,children:r.children}))),Pt=()=>Ie(yt)===Ie(f.current),ht=()=>{Pt()||te()},bt=(e,r)=>{var n,a;if(d.current){if(d.current.fixedScroll=t.gridProps.fixedScroll||!1,d.current.PageChange=_,d.current.realSkip=t.gridProps.skip||0,d.current.pageSize=(a=(n=t.gridProps.take)!=null?n:t.gridProps.pageSize)!=null?a:0,d.current.scrollableVirtual=t.gridProps.scrollable==="virtual",d.current.total=e,d.current.propsSkip=(t.gridProps.skip||0)+(t.gridProps.scrollable==="virtual"?d.current.topCacheCount+(d.current.attendedSkip-(t.gridProps.skip||0)):0),t.gridProps.rowHeight!==void 0&&t.gridProps.rowHeight>0&&!r){const o=t.gridProps.rowHeight*e;d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,o):o}else d.current.containerHeight=1533915;if(d.current.containerRef=X,d.current.tableBodyRef=O,d.current.table=k.current,d.current instanceof Me.VirtualScrollFixed){const{rowHeight:o=0,detail:c,expandField:s}=t.gridProps;let{detailRowHeight:u=0}=t.gridProps;u=c&&s?u:o,t.isAllData?(d.current.total=t.dataRef.length,d.current.rowHeightService=new R.RowHeightService(t.dataRef.length,o,u,t.dataRef)):d.current.rowHeightService=new R.RowHeightService(e,o,u);const P=d.current.rowHeightService.totalHeight();d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,P):P}}},It=()=>{const e=n=>n.map(a=>({id:a.id,field:a.field,title:a.title,hidden:!1,children:a.children?e(a.children):null})),r=t.columnsRef.current.filter(n=>n.depth===0);return e(r)},Ce=i.useCallback(e=>{const r={rowIndex:le.current};e.forEach(n=>{n.isIntersecting||ee(r)})},[ee]),te=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},Ct=e=>e.left!==void 0?ve!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),f=t.columnsRef,d=i.useRef(),S=i.useRef(),K=i.useRef(),D=i.useRef(),M=i.useRef(),$=i.useRef(),T=i.useRef(null),O=i.useRef(null),Rt=i.useRef(null),X=i.useRef(null),k=i.useRef(null),re=i.useRef(null),A=i.useRef(null),z=i.useRef(null),N=i.useRef(null),ne=i.useRef(!1),ae=i.useRef(!1),J=i.useRef(),oe=i.useRef(),ie=i.useRef(!1),Y=i.useRef(!0),ce=i.useRef(0),de=i.useRef(),le=i.useRef(),se=i.useRef([]),Re=i.useRef([]),q=i.useRef(null),vt=i.useRef(null),Et=i.useRef(null),ve=R.useDir(A),yt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),C=l.getSelectionOptions((we=t.gridProps.selectable)!=null?we:!!t.gridProps.selectedField),Ee=l.getEditableOptions((xe=t.gridProps.editable)!=null?xe:!!t.gridProps.editField);i.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:D,navigationStateRef:M,idPrefix:t.id})},[]),i.useMemo(()=>{var n;(n=d.current)==null||n.reset();const e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,r=t.isFixedVirtualScroll?Me.VirtualScrollFixed:At.VirtualScroll;d.current=new r(e||t.gridProps.rowHeight===void 0||t.gridProps.rowHeight===0)},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,t.gridProps.groupable,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&($.current=new l.ClipboardService(B),$.current.addEventListeners(x())),()=>{$.current&&$.current.removeEventListeners(x())}),[t.gridProps.onClipboard,t.gridProps.clipboard,B,x]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(Tt.SAFARI_REGEX)&&(re.current&&(re.current.style.display="block"),k.current&&(k.current.style.display="block")),p(),R.setScrollbarWidth(),l.tableKeyboardNavigation.onComponentDidMount({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M}),()=>{clearTimeout(de.current)}),[]),i.useEffect(()=>{var e;p(),R.setScrollbarWidth(),(e=d.current)!=null&&e.tableTransform&&d.current.table&&(d.current.table.style.transform=d.current.tableTransform,d.current.tableTransform=""),mt(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M,focusFirst:ae.current,newEditableRow:J.current,singleEditRow:ie.current,lastActiveElement:oe.current,navigatable:t.gridProps.navigatable}),ae.current=!1,J.current=void 0}),i.useEffect(()=>{if(R.canUseDOM){const e={rootMargin:"0px",threshold:.9};T.current=window.IntersectionObserver&&new window.IntersectionObserver(Ce,e)||null}},[Ce]),i.useEffect(()=>{var r;let e;return R.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(ht),e.observe((r=x())==null?void 0:r.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return W()},props:t.gridProps,get columns(){return U()},scrollIntoView:e=>{var a;if(!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;const{rowIndex:r}=e;le.current=r;const n=W();if(T.current&&n){T.current.disconnect();const o=n.querySelector(`[absolute-row-index="${le.current}"]`);o?T.current.observe(o):ee(e)}},fitColumns:e=>{S.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{S.current=new Kt.ColumnResize(ut)},[t.gridProps.onColumnResize]),i.useMemo(()=>{K.current=new Mt.CommonDragLogic(Z,dt,be)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.gridProps.groupable]),S.current.resizable=t.gridProps.resizable||!1,S.current.columns=f.current;const ye=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1;K.current.reorderable=t.gridProps.reorderable||!1,K.current.groupable=ye,K.current.columns=f.current,bt(t.total,ye);const wt=t.gridProps.columnsState||It();return i.createElement(He.Provider,{value:{isClient:v,rowReorder:G,activeDragRowDataItemRef:q,reorderRowDragTargetRef:vt,reorderRowDropTargetRef:Et,dir:ve,getCellPositionStyle:Ct,dataItemKey:t.gridProps.dataItemKey,columnsState:wt,onColumnsStateChange:ct,groupChange:Q,selectionRelease:Qe,pagerPageChange:at,onContextMenu:Oe,rowClick:Ve,rowDblClick:_e,cellClick:Be,headerCellClick:Pe,itemChange:$e,sortChange:he,filterChange:ot,searchChange:it,onHeaderSelectionChange:Ye,columnGroupChange:lt,onKeyDown:Ne,onFocus:qe,scrollHandler:ze,selectionChange:Xe,dispatchDetailExpand:je,dispatchGroupExpand:We,columnResizeRef:S,dragLogicRef:K,navigationStateRef:M,tableElementRef:k,tableBodyElementRef:O,headerElementRef:Rt,containerElementRef:X,headTableElementRef:re,elementRef:A,footerRef:z,headerRef:N,vsRef:d}},i.createElement(l.TableKeyboardNavigationContext.Provider,{value:D.current},t.children),i.createElement(Ht.GridContextMenu,{show:h.show,dataItem:h.dataItem,field:h.field,items:Ge,offset:h.offset,onClose:ge,onSelect:Le}))};exports.GridClientWrapper=Gt;exports.GridContext=He;
|
|
9
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const xt=require("react"),b=require("@progress/kendo-react-common"),l=require("@progress/kendo-react-data-tools"),St=require("./drag/ColumnResize.js"),Dt=require("./drag/CommonDragLogic.js"),kt=require("./constants/index.js"),w=require("./utils/index.js"),Me=require("./VirtualScrollFixed.js"),Kt=require("./VirtualScroll.js"),Mt=require("./contextMenu/GridContextMenu.js"),Te=require("./contextMenu/enums.js"),Ae=require("./sortCommon.js");function Tt(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const m in t)if(m!=="default"){const H=Object.getOwnPropertyDescriptor(t,m);Object.defineProperty(v,m,H.get?H:{enumerable:!0,get:()=>t[m]})}}return v.default=t,Object.freeze(v)}const i=Tt(xt),He=i.createContext(void 0),At=t=>{var ke,Ke;const v=t.gridProps.isClient,[m,H]=i.useState({}),Fe=e=>{e.event.preventDefault(),H({...m,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},be=()=>{H({})},h=i.useMemo(()=>t.columnsRef.find(e=>e.field===m.field),[t.columnsRef,m]),he=i.useMemo(()=>{const e=t.gridProps.sortable&&(h==null?void 0:h.sortable);return w.getDefaultHeadContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[h,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ie=i.useMemo(()=>{const e=t.gridProps.sortable&&(h==null?void 0:h.sortable);return w.getDefaultBodyContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:w.isRowReorderEnabled(t.gridProps.rowReorderable)})},[h,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Ge=i.useMemo(()=>{const e=(h==null?void 0:h.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(m):e;if(n&&m.offset){const r=m.dataItem?Te.GridContextMenuAnchorPart.body:Te.GridContextMenuAnchorPart.head,a=n[r],o=m.dataItem?Ie:he;return a===!1?void 0:a===!0||a===void 0?o:a}},[t.gridProps.contextMenu,m,Ie,he,h]),Le=e=>{var s,g,f,P,y,ee,C,U,V;const n=e.event.item,r={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&u(t.gridProps.onContextMenuItemClick,r);const a=X(),o={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:a,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...r},c=a.findIndex(_=>_===e.dataItem);switch((s=n.data)==null?void 0:s.action){case"SortCommand":if(h){const _=(g=n.name)==null?void 0:g.toLowerCase().includes("asc"),Et=((f=n.name)==null?void 0:f.toLowerCase().includes("desc"))?"desc":void 0,yt=_?"asc":Et,wt=n.name?yt:void 0;Re(e.event.syntheticEvent,h,wt)}break;case"SelectRowCommand":pe(o);break;case"SelectAllRowsCommand":Ze(o);break;case"ClearSelectionCommand":et(o);break;case"ReorderRowCommand":q.current=e.dataItem,(P=n.name)!=null&&P.toLowerCase().includes("rowup")&&c>0&&G(e.event.syntheticEvent,c-1,"before"),(y=n.name)!=null&&y.toLowerCase().includes("rowdown")&&c<a.length-1&&G(e.event.syntheticEvent,c+1,"after"),(ee=n.name)!=null&&ee.toLowerCase().includes("rowtop")&&G(e.event.syntheticEvent,0,"before"),(C=n.name)!=null&&C.toLowerCase().includes("rowbottom")&&G(e.event.syntheticEvent,a.length-1,"after");break;case"CopySelectionCommand":$(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((U=n.name)!=null&&U.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":$(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((V=n.name)!=null&&V.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}be()},B=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return w.sanitizeColumns(e)},Oe=(e,n,r)=>{if(t.gridProps.onContextMenu&&v){const a={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:r};u(t.gridProps.onContextMenu,a)}t.gridProps.contextMenu&&Fe({event:e,dataItem:n,field:r})},ze=e=>{if(e.target!==e.currentTarget)return;clearTimeout(fe.current),d.current&&(d.current.table=k.current);const n=e.currentTarget.scrollLeft,r=e.currentTarget.scrollTop,a=t.gridProps.scrollable==="virtual";t.gridProps.columnVirtualization&&(!a||r===ge.current)&&(fe.current=window.setTimeout(()=>{ie()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),N.current&&N.current.setScrollLeft(n),z.current&&z.current.setScrollLeft(n),d.current&&r!==ge.current&&d.current.scrollHandler(e),t.gridProps.onScroll&&v&&u(t.gridProps.onScroll,{...I(e)}),ge.current=r},Ne=e=>{l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:D,navigationStateRef:M,onNavigationAction:Ue,columns:B()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:x(),contextStateRef:D,navigationStateRef:M});const n={dataItems:L(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)};t.gridProps.onKeyDown&&v&&u(t.gridProps.onKeyDown,n)},qe=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:D})},Ue=e=>{if(e.action==="moveToNextPage"&&nt(e.event),e.action==="moveToPrevPage"&&rt(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<t.columnsRef.length-1&&re(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&re(n,n-1,e.event)}if(e.action==="select"&&Je(e.event),t.gridProps.onNavigationAction&&v){const n={focusElement:e.focusElement,...I(e.event)};u(t.gridProps.onNavigationAction,n)}},Ve=(e,n)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowClick,{dataItem:n,...I(e)})},_e=(e,n)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowDoubleClick,{dataItem:n,...I(e)})},Be=(e,n,r)=>{if(Se.enabled&&Se.mode==="incell"&&t.gridProps.dataItemKey){const a=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:r}});t.gridProps.onEditChange&&u(t.gridProps.onEditChange,{edit:a,...I(e)})}},je=(e,n)=>{var a;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const o=l.detailExpandReducer((a=t.gridProps.detailExpand)!=null?a:{},e);t.gridProps.onDetailExpandChange&&u(t.gridProps.onDetailExpandChange,{...I(n),detailExpand:o})}},We=(e,n)=>{var a;const r=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(r.enabled){const o=l.groupExpandReducer((a=t.gridProps.groupExpand)!=null?a:[],e,r);t.gridProps.onGroupExpandChange&&u(t.gridProps.onGroupExpandChange,{...I(n),groupExpand:o})}},Re=(e,n,r)=>{const{allowUnsort:a,mode:o}=Ae.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),c=(t.gridProps.sort||[]).filter(f=>f.field===n.field)[0],s=r||Ae.firstLevelSortSeqMap[a][c&&c.dir||""],g=o==="single"?[]:(t.gridProps.sort||[]).filter(f=>f.field!==n.field);s!==""&&n.field&&g.push({field:n.field,dir:s}),Ce(g,e)},$e=e=>{var n;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const r=t.gridProps.dataItemKey?l.detailExpandReducer((n=t.gridProps.detailExpand)!=null?n:{},{type:l.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;u(t.gridProps.onExpandChange,{...I(e.syntheticEvent),expand:r,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&u(t.gridProps.onItemChange,{...I(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Xe=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const{event:r,dataItem:a,dataIndex:o,columnIndex:c}=e,s={...I(r.syntheticEvent),dataItem:a,startColIndex:c,endColIndex:c,startRowIndex:o,endRowIndex:o,dataItems:L(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};u(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?l.getSelectedState({event:s,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Je=e=>{var f,P;if(t.gridProps.selectedField||!R.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:L(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...I(e)},r=l.getSelectedStateFromKeyDown({event:n,selectedState:(f=t.gridProps.select)!=null?f:{},dataItemKey:t.gridProps.dataItemKey});if(r===t.gridProps.select)return;const a=e.target,o=l.closestTagName(a,"TD"),c=l.closestTagName(a,"TR"),s=l.getColumnIndex(o),g=l.getRowIndex(c);if(s!==void 0&&g!==void 0){const y=(P=w.getDataAsArray(t.gridProps.data))==null?void 0:P[g];t.gridProps.onSelectionChange&&u(t.gridProps.onSelectionChange,{...n,select:r,dataItem:y,startRowIndex:g,startColIndex:s,startDataItem:y,endDataItem:y,endRowIndex:g,endColIndex:s,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},Ye=e=>{var n;if(t.gridProps.onHeaderSelectionChange&&R.enabled){const r=L();u(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?r.reduce((a,o)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(o)!==void 0&&(a[b.getter(t.gridProps.dataItemKey)(o)]=!0),a),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:r,selectedField:(n=t.gridProps.selectedField)!=null?n:""})}},j=(e,n)=>{t.gridProps.onSelectionChange&&R.enabled&&u(t.gridProps.onSelectionChange,{...e,select:n})},Qe=e=>{var n;if(t.gridProps.onSelectionChange&&R.enabled){const r=X()[e.startRowIndex],a=X()[e.endRowIndex],o={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:L(),dataItem:null,startDataItem:r,endDataItem:a,...e},c=l.getSelectedState({event:o,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});j(o,c)}},Ze=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const n=e.dataItems[0],r=e.dataItems[e.dataItems.length-1],a={},o={...e,startDataItem:n,endDataItem:r,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(c=>{const g=b.getter(t.gridProps.dataItemKey)(c);a[g]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),j(o,a)}},pe=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const r=b.getter(t.gridProps.dataItemKey)(e.dataItem),a=0,o=t.columnsRef.length-1,c=e.dataItems.findIndex(y=>y[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),f={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:a,endColIndex:o},P=e.mode==="multiple"?t.gridProps.select||{}:{};P[r]===!0||Array.isArray(P[r])&&P[r].length===t.columnsRef.length?delete P[r]:P[r]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,j(f,P)}},et=e=>{t.gridProps.onSelectionChange&&R.enabled&&j(e,{})},F=(e,n,r,a,o)=>{const c=t.gridProps.onDataStateChange;if(e){const s={...I(a),...n,targetEvent:o};u(e,s)}else c&&u(c,{...I(a),targetEvent:o||{},dataState:{...ut(),...r}})},W=(e,n,r)=>{F(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,r)},tt=()=>{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},nt=e=>{var o,c;const n=(c=(o=t.gridProps.take)!=null?o:t.gridProps.pageSize)!=null?c:0,r=(t.gridProps.skip||0)+n,a=tt();r<a&&W({skip:r,take:n},e)},rt=e=>{var a,o;const n=(o=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?o:0,r=(t.gridProps.skip||0)-n;r>=0&&W({skip:r,take:n},e)},at=e=>{W({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Ce=(e,n)=>{F(t.gridProps.onSortChange,{sort:e},{sort:e,...t.gridProps.scrollable==="virtual"?{skip:0}:{}},n)},ot=(e,n)=>{F(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},n)},it=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(o=>o.field)||[],r=e.nativeEvent.target.value,a={logic:"or",filters:n.filter(o=>o!==void 0).map(o=>{var c;return typeof o=="string"?{field:o,value:r,operator:"contains"}:{value:r,operator:(c=o.operator)!=null?c:"contains",field:o.field,ignoreCase:o.ignoreCase}})};F(t.gridProps.onSearchChange,{search:a},{},e.syntheticEvent)},te=(e,n)=>{const r=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};e.length===0&&t.gridProps.navigatable&&(le.current=!0),F(t.gridProps.onGroupChange,{group:e},{group:e,skip:0},r)},ne=e=>{if(t.gridProps.onColumnsStateChange){const n={target:E.current,columnsState:e};u(t.gridProps.onColumnsStateChange,n)}},re=(e,n,r)=>{const{columnsRef:a,columnsState:o}=t,c=a[e],s=w.getFlatColumnsState(o),g=c.depth,f=C=>{do C++;while(C<a.length&&a[C].depth>g);return C},P=a.splice(e,f(e)-e);a.splice(e<n?f(n-P.length):n,0,...P),a.filter(C=>C.declarationIndex>=0).forEach((C,U)=>{C.orderIndex=U;const V=s.find(_=>_.id===C.id);V&&(V.orderIndex=U)});const y=a[e].locked&&a[n].locked;l.updateLeft(t.columnsMapRef,a,y||p.current),l.updateRight(t.columnsMapRef,a,y||p.current),de.current&&(p.current=!1,de.current=!1);const ee=B();if(ie(),t.gridProps.onColumnReorder){const C={target:E.current,columns:ee,columnId:c.id,nativeEvent:r};u(t.gridProps.onColumnReorder,C)}ne(o)},G=(e,n,r)=>{const a=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(r==="forbidden"||!a||!q.current)return;const{slicedData:o,dataRef:c}=t,s=(o||c)[n];t.gridProps.onRowReorder&&u(t.gridProps.onRowReorder,{draggedDataItems:[q.current],droppedDataItem:s==null?void 0:s.dataItem,dropPosition:r,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),q.current=null},ct=(e,n,r)=>{if(t.gridProps.group===void 0)return;const a=t.gridProps.group.slice();a.splice(n,0,...a.splice(e,1)),te(a,r)},ve=(e,n,r)=>{const a=t.columnsRef[e].field;if(!a)return;const o=(t.gridProps.group||[]).slice();o.splice(n,0,{field:a}),te(o,r)},dt=(e,n)=>{const r=K.current.getCurrentGroupsLength;ve(e,r,n)},ae=()=>{let e=0;if(!S.current.colGroupMain)return;const n=S.current.colGroupMain.children;for(let r=0;r<n.length;r++){const a=n[r].width;if(!a)return;e+=parseFloat(a.toString())}e=Math.round(e),N.current&&N.current.setWidth(e),z.current&&z.current.setWidth(e),k.current&&(k.current.style.width=e+"px")},$=i.useCallback((e,n,r,a,o)=>{var f;if(!lt()&&!r||!e)return;const c={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:a,field:o,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...r},s=X(),g=l.populateClipboardData({event:c,data:s,selectedState:(f=t.gridProps.select)!=null?f:{},previousCopiedItems:we.current});e!==l.ClipboardActionType.paste&&(we.current=g.copiedItems),t.gridProps.onClipboard&&v&&u(t.gridProps.onClipboard,{...c,...g})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),lt=()=>{var o,c,s;if(!b.canUseDOM)return!1;const e=b.getActiveElement(x()),n=e?e.matches(".k-table-td")?e:(o=x())==null?void 0:o.body:(c=x())==null?void 0:c.body,r=n.closest(".k-grid-container"),a=n&&((s=A.current)==null?void 0:s.contains(n));return!!(n&&a&&r)},st=(e,n,r,a,o,c,s)=>{ae(),p.current=!0,de.current=!0,t.gridProps.onColumnResize&&v&&u(t.gridProps.onColumnResize,{columns:B(),nativeEvent:a,targetColumnId:s,index:e,newWidth:n,oldWidth:r,end:o,target:E.current}),o&&ne(c)},ut=()=>{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}},I=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),gt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),u=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(gt(n))},ft=()=>{var e,n,r;if(O.current&&((e=O.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ue.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?se.current=document.activeElement:se.current=void 0;const a=Array.from((r=O.current)==null?void 0:r.getElementsByClassName("k-grid-edit-row"));a.length>Pe.current.length?Z.current=a.filter(o=>!Pe.current.includes(o))[0]:a.length===1&&(Z.current=a[0],ue.current=!0),Pe.current=a}},L=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),X=()=>(t.slicedData||t.dataRef).filter(e=>e.rowType==="data").map(e=>e.dataItem),x=()=>{var e;if(b.canUseDOM)return((e=J())==null?void 0:e.ownerDocument)||document},J=()=>A.current,oe=i.useCallback(e=>{var a;if(!d.current||!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;T.current&&T.current.disconnect();const{rowIndex:n}=e,r=J();if(t.gridProps.scrollable==="virtual")d.current.askedSkip=n,d.current.container.scroll(0,Math.round(d.current.askedSkip/d.current.total*d.current.container.scrollHeight));else if(r){const o=n<1?r.querySelector("tbody > tr:nth-child(1)"):r.querySelector(`tbody > tr:nth-child(${n+1})`);o&&Q.current&&(Q.current.scrollTop=o.offsetTop)}},[t.gridProps.scrollable]),Ee=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),mt=()=>Ee(vt)===Ee(t.columnsRef),Pt=()=>{mt()||ie()},bt=(e,n)=>{var r,a;if(d.current){if(d.current.fixedScroll=t.gridProps.fixedScroll||!1,d.current.PageChange=W,d.current.realSkip=t.gridProps.skip||0,d.current.pageSize=(a=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?a:0,d.current.scrollableVirtual=t.gridProps.scrollable==="virtual",d.current.total=e,d.current.propsSkip=(t.gridProps.skip||0)+(t.gridProps.scrollable==="virtual"?d.current.topCacheCount+(d.current.attendedSkip-(t.gridProps.skip||0)):0),t.gridProps.rowHeight!==void 0&&t.gridProps.rowHeight>0&&!n){const o=t.gridProps.rowHeight*e;d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,o):o}else d.current.containerHeight=1533915;if(d.current.containerRef=Q,d.current.tableBodyRef=O,d.current.table=k.current,d.current instanceof Me.VirtualScrollFixed){const{rowHeight:o=0,detail:c,expandField:s}=t.gridProps;let{detailRowHeight:g=0}=t.gridProps;g=c&&s?g:o,t.isAllData?(d.current.total=t.dataRef.length,d.current.rowHeightService=new b.RowHeightService(t.dataRef.length,o,g,t.dataRef)):d.current.rowHeightService=new b.RowHeightService(e,o,g);const f=d.current.rowHeightService.totalHeight();d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,f):f}}},ye=i.useCallback(e=>{const n={rowIndex:me.current};e.forEach(r=>{r.isIntersecting||oe(n)})},[oe]),ie=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},ht=e=>e.left!==void 0?xe!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),d=i.useRef(),S=i.useRef(),K=i.useRef(),D=i.useRef(),M=i.useRef(),Y=i.useRef(),T=i.useRef(null),O=i.useRef(null),It=i.useRef(null),Q=i.useRef(null),k=i.useRef(null),ce=i.useRef(null),A=i.useRef(null),z=i.useRef(null),N=i.useRef(null),de=i.useRef(!1),le=i.useRef(!1),Z=i.useRef(),se=i.useRef(),ue=i.useRef(!1),p=i.useRef(!0),ge=i.useRef(0),fe=i.useRef(),me=i.useRef(),Pe=i.useRef([]),we=i.useRef([]),q=i.useRef(null),Rt=i.useRef(null),Ct=i.useRef(null),xe=b.useDir(A),vt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),R=l.getSelectionOptions((ke=t.gridProps.selectable)!=null?ke:!!t.gridProps.selectedField),Se=l.getEditableOptions((Ke=t.gridProps.editable)!=null?Ke:!!t.gridProps.editField);i.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:D,navigationStateRef:M,idPrefix:t.id})},[]),i.useMemo(()=>{var r;(r=d.current)==null||r.reset();const e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,n=t.isFixedVirtualScroll?Me.VirtualScrollFixed:Kt.VirtualScroll;d.current=new n(e||t.gridProps.rowHeight===void 0||t.gridProps.rowHeight===0)},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,t.gridProps.groupable,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&(Y.current=new l.ClipboardService($),Y.current.addEventListeners(x())),()=>{Y.current&&Y.current.removeEventListeners(x())}),[t.gridProps.onClipboard,t.gridProps.clipboard,$,x]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(kt.SAFARI_REGEX)&&(ce.current&&(ce.current.style.display="block"),k.current&&(k.current.style.display="block")),ae(),b.setScrollbarWidth(),l.tableKeyboardNavigation.onComponentDidMount({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M}),()=>{clearTimeout(fe.current)}),[]),i.useEffect(()=>{var e;ae(),b.setScrollbarWidth(),(e=d.current)!=null&&e.tableTransform&&d.current.table&&(d.current.table.style.transform=d.current.tableTransform,d.current.tableTransform=""),ft(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M,focusFirst:le.current,newEditableRow:Z.current,singleEditRow:ue.current,lastActiveElement:se.current,navigatable:t.gridProps.navigatable}),le.current=!1,Z.current=void 0}),i.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};T.current=window.IntersectionObserver&&new window.IntersectionObserver(ye,e)||null}},[ye]),i.useEffect(()=>{var n;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(Pt),e.observe((n=x())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return J()},props:t.gridProps,get columns(){return B()},scrollIntoView:e=>{var a;if(!((a=d.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;me.current=n;const r=J();if(T.current&&r){T.current.disconnect();const o=r.querySelector(`[absolute-row-index="${me.current}"]`);o?T.current.observe(o):oe(e)}},fitColumns:e=>{S.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{S.current=new St.ColumnResize(st)},[t.gridProps.onColumnResize,t.columnsRef]),i.useMemo(()=>{K.current=new Dt.CommonDragLogic(re,ct,ve)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),S.current.resizable=t.gridProps.resizable||!1,S.current.columns=t.columnsRef,S.current.columnsState=b.cloneArray(t.columnsState);const De=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1;return K.current.reorderable=t.gridProps.reorderable||!1,K.current.groupable=De,K.current.columns=t.columnsRef,bt(t.total,De),i.createElement(He.Provider,{value:{isClient:v,rowReorder:G,activeDragRowDataItemRef:q,reorderRowDragTargetRef:Rt,reorderRowDropTargetRef:Ct,dir:xe,getCellPositionStyle:ht,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,onColumnsStateChange:ne,groupChange:te,selectionRelease:Qe,pagerPageChange:at,onContextMenu:Oe,rowClick:Ve,rowDblClick:_e,cellClick:Be,headerCellClick:Re,itemChange:$e,sortChange:Ce,filterChange:ot,searchChange:it,onHeaderSelectionChange:Ye,columnGroupChange:dt,onKeyDown:Ne,onFocus:qe,scrollHandler:ze,selectionChange:Xe,dispatchDetailExpand:je,dispatchGroupExpand:We,columnResizeRef:S,dragLogicRef:K,navigationStateRef:M,tableElementRef:k,tableBodyElementRef:O,headerElementRef:It,containerElementRef:Q,headTableElementRef:ce,elementRef:A,footerRef:z,headerRef:N,vsRef:d}},i.createElement(l.TableKeyboardNavigationContext.Provider,{value:D.current},t.children),i.createElement(Mt.GridContextMenu,{show:m.show,dataItem:m.dataItem,field:m.field,items:Ge,offset:m.offset,onClose:be,onSelect:Le}))};exports.GridClientWrapper=At;exports.GridContext=He;
|