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