@progress/kendo-react-grid 9.3.1-develop.1 → 9.4.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Grid.js +1 -1
- package/Grid.mjs +80 -1042
- package/GridClientContextReader.js +8 -0
- package/GridClientContextReader.mjs +30 -0
- package/GridClientWrapper.js +8 -0
- package/GridClientWrapper.mjs +759 -0
- package/GridComponent.js +8 -0
- package/GridComponent.mjs +584 -0
- package/GridState.js +8 -0
- package/GridState.mjs +93 -0
- package/GridWatermarkOverlay.js +8 -0
- package/GridWatermarkOverlay.mjs +15 -0
- package/StatusBar.js +1 -1
- package/StatusBar.mjs +24 -24
- package/cells/GridCell.js +1 -1
- package/cells/GridCell.mjs +23 -33
- package/cells/GridDetailCell.js +1 -1
- package/cells/GridDetailCell.mjs +11 -18
- package/cells/GridDetailHierarchyCell.js +1 -1
- package/cells/GridDetailHierarchyCell.mjs +5 -5
- package/cells/GridEditCell.js +1 -1
- package/cells/GridEditCell.mjs +22 -130
- package/cells/GridGroupCell.js +1 -1
- package/cells/GridGroupCell.mjs +60 -95
- package/cells/GridHierarchyCell.js +1 -1
- package/cells/GridHierarchyCell.mjs +22 -61
- package/cells/GridRowReorderCell.js +8 -0
- package/cells/GridRowReorderCell.mjs +42 -0
- package/cells/GridSelectionCell.js +1 -1
- package/cells/GridSelectionCell.mjs +17 -35
- package/cells/client/DetailCellContainer.js +8 -0
- package/cells/client/DetailCellContainer.mjs +26 -0
- package/cells/client/GridCellContainer.js +8 -0
- package/cells/client/GridCellContainer.mjs +68 -0
- package/cells/client/GridEditCellContainer.js +8 -0
- package/cells/client/GridEditCellContainer.mjs +60 -0
- package/cells/client/GridEditCellEditor.js +8 -0
- package/cells/client/GridEditCellEditor.mjs +81 -0
- package/cells/client/GridGroupCellContainer.js +8 -0
- package/cells/client/GridGroupCellContainer.mjs +87 -0
- package/cells/client/GridGroupCellToggle.js +8 -0
- package/cells/client/GridGroupCellToggle.mjs +52 -0
- package/cells/client/GridHierarchyCellContainer.js +8 -0
- package/cells/client/GridHierarchyCellContainer.mjs +63 -0
- package/cells/client/GridHierarchyCellToggle.js +8 -0
- package/cells/client/GridHierarchyCellToggle.mjs +43 -0
- package/cells/client/GridRowReorderContainer.js +8 -0
- package/cells/client/GridRowReorderContainer.mjs +24 -0
- package/cells/client/GridSelectionCellContainer.js +8 -0
- package/cells/client/GridSelectionCellContainer.mjs +60 -0
- package/cells/client/GridSelectionCellInput.js +8 -0
- package/cells/client/GridSelectionCellInput.mjs +43 -0
- package/columnMenu/GridColumnMenuSort.js +1 -1
- package/columnMenu/GridColumnMenuSort.mjs +23 -34
- package/components/GridContainerElementContainer.js +8 -0
- package/components/GridContainerElementContainer.mjs +21 -0
- package/components/GridCustomCellClientContainer.js +8 -0
- package/components/GridCustomCellClientContainer.mjs +28 -0
- package/components/GridDragClue.js +8 -0
- package/components/GridDragClue.mjs +18 -0
- package/components/GridDraggableRowsContainer.js +8 -0
- package/components/GridDraggableRowsContainer.mjs +127 -0
- package/components/GridDropClue.js +8 -0
- package/components/GridDropClue.mjs +18 -0
- package/components/GridElementContainer.js +8 -0
- package/components/GridElementContainer.mjs +22 -0
- package/components/PagerContainer.js +8 -0
- package/components/PagerContainer.mjs +23 -0
- package/components/VirtualScrollHeightContainer.js +8 -0
- package/components/VirtualScrollHeightContainer.mjs +17 -0
- package/components/colGroup/GridColGroup.js +8 -0
- package/components/colGroup/GridColGroup.mjs +25 -0
- package/components/icons/reorder-row-svg.js +8 -0
- package/components/icons/reorder-row-svg.mjs +14 -0
- package/{GridNoRecords.js → components/noRecords/GridNoRecords.js} +1 -1
- package/{GridNoRecords.mjs → components/noRecords/GridNoRecords.mjs} +1 -1
- package/components/noRecords/GridNoRecordsContainer.js +8 -0
- package/components/noRecords/GridNoRecordsContainer.mjs +30 -0
- package/components/table/GridTable.js +8 -0
- package/components/table/GridTable.mjs +28 -0
- package/components/table/GridTableBody.js +8 -0
- package/components/table/GridTableBody.mjs +21 -0
- package/components/table/GridTableScrollable.js +8 -0
- package/components/table/GridTableScrollable.mjs +37 -0
- package/components/utils.js +8 -0
- package/components/utils.mjs +26 -0
- package/contextMenu/GridContextMenu.js +8 -0
- package/contextMenu/GridContextMenu.mjs +191 -0
- package/contextMenu/enums.js +8 -0
- package/contextMenu/enums.mjs +13 -0
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/footer/Footer.js +1 -1
- package/footer/Footer.mjs +22 -21
- package/footer/FooterCell.js +8 -0
- package/footer/FooterCell.mjs +43 -0
- package/footer/FooterRow.js +1 -1
- package/footer/FooterRow.mjs +10 -39
- package/footer/client/FooterCellContainer.js +8 -0
- package/footer/client/FooterCellContainer.mjs +26 -0
- package/header/FilterRow.js +1 -1
- package/header/FilterRow.mjs +58 -54
- package/header/GridHeaderCell.js +1 -1
- package/header/GridHeaderCell.mjs +11 -11
- package/header/GridHeaderSelectionCell.js +1 -1
- package/header/GridHeaderSelectionCell.mjs +10 -9
- package/header/GroupPanel.js +1 -1
- package/header/GroupPanel.mjs +36 -32
- package/header/Header.js +1 -1
- package/header/Header.mjs +35 -33
- package/header/HeaderRow.js +1 -1
- package/header/HeaderRow.mjs +97 -125
- package/header/client/GridFilterCellContainer.js +8 -0
- package/header/client/GridFilterCellContainer.mjs +38 -0
- package/header/client/GridFilterCellElementContainer.js +8 -0
- package/header/client/GridFilterCellElementContainer.mjs +21 -0
- package/header/client/GridHeaderCellContainer.js +8 -0
- package/header/client/GridHeaderCellContainer.mjs +54 -0
- package/header/client/GridHeaderCellElementContainer.js +8 -0
- package/header/client/GridHeaderCellElementContainer.mjs +28 -0
- package/header/client/GridHeaderRowContainer.js +8 -0
- package/header/client/GridHeaderRowContainer.mjs +35 -0
- package/header/client/GridHeaderRowReorderCell.js +8 -0
- package/header/client/GridHeaderRowReorderCell.mjs +13 -0
- package/header/client/HeaderCellResizer.js +8 -0
- package/header/client/HeaderCellResizer.mjs +25 -0
- package/header/client/HeaderRowDraggable.js +8 -0
- package/header/client/HeaderRowDraggable.mjs +30 -0
- package/index.d.mts +543 -24
- package/index.d.ts +543 -24
- package/index.js +1 -1
- package/index.mjs +58 -52
- package/interfaces/GridSortSettings.js +1 -1
- package/interfaces/GridSortSettings.mjs +18 -2
- package/messages/index.js +1 -1
- package/messages/index.mjs +76 -82
- package/messages/messagesMap.js +8 -0
- package/messages/messagesMap.mjs +19 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -11
- package/rows/GridRow.js +1 -1
- package/rows/GridRow.mjs +42 -20
- package/utils/_clientModule.js +8 -0
- package/utils/_clientModule.mjs +13 -0
- package/utils/_serverModule.js +8 -0
- package/utils/_serverModule.mjs +13 -0
- package/utils/index.js +1 -1
- package/utils/index.mjs +213 -101
package/Grid.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const tn=require("react"),o=require("prop-types"),s=require("@progress/kendo-react-common"),u=require("@progress/kendo-react-data-tools"),nn=require("./cells/GridSelectionCell.js"),rn=require("./cells/GridHierarchyCell.js"),an=require("./cells/GridEditCell.js"),ln=require("./header/Header.js"),on=require("./header/HeaderRow.js"),cn=require("./header/FilterRow.js"),dn=require("./header/GroupPanel.js"),sn=require("./footer/Footer.js"),un=require("@progress/kendo-react-intl"),ue=require("./messages/index.js"),fn=require("./VirtualScroll.js"),it=require("./VirtualScrollFixed.js"),gn=require("./drag/ColumnResize.js"),mn=require("./drag/CommonDragLogic.js"),v=require("./utils/index.js"),bn=require("./cells/GridCell.js"),dt=require("./cells/GridGroupCell.js"),hn=require("./rows/GridRow.js"),Cn=require("./header/GridHeaderSelectionCell.js"),vn=require("./GridNoRecords.js"),st=require("./filterCommon.js"),Rn=require("./footer/FooterRow.js"),yn=require("./paging/GridPagerSettings.js"),ut=require("./package-metadata.js"),wn=require("./cells/GridDetailCell.js"),En=require("./cells/GridDetailHierarchyCell.js"),In=require("./constants/index.js");function Sn(t){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const N in t)if(N!=="default"){const y=Object.getOwnPropertyDescriptor(t,N);Object.defineProperty(V,N,y.get?y:{enumerable:!0,get:()=>t[N]})}}return V.default=t,Object.freeze(V)}const r=Sn(tn),Te=r.forwardRef((t,V)=>{var rt,at,lt,ot;const N=s.useId();s.validatePackage(ut.packageMetadata);const y=()=>{var e;if(s.canUseDOM)return((e=p())==null?void 0:e.ownerDocument)||document},G=()=>(t.id||N)+"-role-element-id",B=()=>{const e=g.current.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return v.sanitizeColumns(e)},p=()=>O.current,fe=r.useCallback(e=>{var l;if(!c.current||!((l=c.current)!=null&&l.container)||t.scrollable==="none")return;z.current&&z.current.disconnect();const{rowIndex:n}=e,a=p();if(t.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(a){const i=n<1?a.querySelector("tbody > tr:nth-child(1)"):a.querySelector(`tbody > tr:nth-child(${n+1})`);i&&U.current&&(U.current.scrollTop=i.offsetTop)}},[t.scrollable]),Ge=r.useCallback(e=>{const n={rowIndex:Se.current};e.forEach(a=>{a.isIntersecting||fe(n)})},[fe]),[,ge]=r.useReducer(e=>!e,!0),Fe=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),W=r.useMemo(()=>r.Children.toArray(t.children),[t.children]),ft=()=>Fe(W)===Fe(g.current),gt=()=>{ft()||ge()},me=(e,n,a)=>{if(t.onContextMenu){const l={target:S.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:a};t.onContextMenu.call(void 0,l)}},Oe=()=>{const{data:e,total:n}=t;return Array.isArray(e)?e.length===n:e?n===e.total:!1},mt=()=>{const{rowHeight:e,detailRowHeight:n,detail:a,expandField:l,groupable:i}=t,f=Oe(),d=e!==void 0&&e>0,C=n!==void 0&&n>0,k=i===!0||typeof i=="object"&&i.enabled!==!1;return!d||k&&!f||!!(a&&l)&&(!C||!f)?fn.VirtualScroll:it.VirtualScrollFixed},bt=(e,n)=>{if(c.current){if(c.current.fixedScroll=t.fixedScroll||!1,c.current.PageChange=ee,c.current.realSkip=t.skip||0,c.current.pageSize=(t.take!==void 0?t.take:t.pageSize)||0,c.current.scrollableVirtual=t.scrollable==="virtual",c.current.total=e,c.current.propsSkip=(t.skip||0)+(t.scrollable==="virtual"?c.current.topCacheCount+(c.current.attendedSkip-(t.skip||0)):0),t.rowHeight!==void 0&&t.rowHeight>0&&!n){const a=t.rowHeight*e;c.current.containerHeight=v.firefox?Math.min(v.firefoxMaxHeight,a):a}else c.current.containerHeight=1533915;if(c.current.containerRef=U,c.current.tableBodyRef=j,c.current.table=I.current,le.current=void 0,c.current instanceof it.VirtualScrollFixed){const{rowHeight:a=0,detail:l,expandField:i}=t;let{detailRowHeight:f=0}=t;f=l&&i?f:a,Oe()?(c.current.total=R.current.length,le.current=R.current.slice(c.current.realSkip,c.current.realSkip+c.current.pageSize),c.current.rowHeightService=new s.RowHeightService(R.current.length,a,f,R.current)):c.current.rowHeightService=new s.RowHeightService(e,a,f);const d=c.current.rowHeightService.totalHeight();c.current.containerHeight=v.firefox?Math.min(v.firefoxMaxHeight,d):d}}},Ae=()=>(we.current||(we.current=s.getScrollbarWidth()||void 0),we.current),ht=e=>{var l;if(e.target!==e.currentTarget)return;clearTimeout(Ie.current),c.current&&(c.current.table=I.current);const n=e.currentTarget.scrollLeft,a=e.currentTarget.scrollTop;t.columnVirtualization&&(!((l=c.current)!=null&&l.scrollableVirtual)||a===Ee.current)&&(Ie.current=window.setTimeout(()=>{ge()},0)),q.current&&q.current.setScrollLeft(n),_.current&&_.current.setScrollLeft(n),c.current&&a!==Ee.current&&c.current.scrollHandler(e),s.dispatchEvent(t.onScroll,e,S.current,void 0),Ee.current=a},Me=e=>{if(u.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.navigatable||!1,contextStateRef:H,navigationStateRef:F,onNavigationAction:Ct,columns:B()}),u.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:y(),contextStateRef:H,navigationStateRef:F}),t.onKeyDown){const{mode:n,cell:a}=u.getSelectionOptions(t.selectable),l={dataItems:re(),mode:n,cell:a,componentId:G(),selectedField:t.selectedField,...E(e)};t.onKeyDown.call(void 0,l)}},Ke=e=>{u.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.navigatable,contextStateRef:H})},Ct=e=>{if(e.action==="moveToNextPage"&&St(e.event),e.action==="moveToPrevPage"&&kt(e.event),e.focusElement&&e.action==="reorderToRight"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n<g.current.length-1&&be(n,n+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const n=parseInt(e.focusElement.ariaColIndex,10)-1;n>0&&be(n,n-1,e.event)}if(t.onNavigationAction){const n={focusElement:e.focusElement,...E(e.event)};t.onNavigationAction.call(void 0,n)}},vt=(e,n)=>{t.onRowClick&&e.target.nodeName==="TD"&&t.onRowClick.call(void 0,{dataItem:n.dataItem,...E(e)})},Rt=(e,n)=>{t.onRowDoubleClick&&e.target.nodeName==="TD"&&t.onRowDoubleClick.call(void 0,{dataItem:n.dataItem,...E(e)})},yt=e=>{if(e.field===t.expandField||t.group&&e.field===void 0){t.onExpandChange&&t.onExpandChange.call(void 0,{...E(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value});return}t.onItemChange&&t.onItemChange.call(void 0,{...E(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},wt=e=>{if(t.onSelectionChange){const{event:n,dataItem:a,dataIndex:l,columnIndex:i}=e,{mode:f,cell:d}=u.getSelectionOptions(t.selectable),C={...E(n.syntheticEvent),dataItem:a,startColIndex:i,endColIndex:i,startRowIndex:l,endRowIndex:l,dataItems:re(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:f,cell:d,isDrag:!1,componentId:G(),selectedField:t.selectedField||""};t.onSelectionChange.call(void 0,C)}},Et=e=>{t.onHeaderSelectionChange&&t.onHeaderSelectionChange.call(void 0,{field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:S.current,dataItems:re(),selectedField:t.selectedField})},ze=e=>{if(t.onSelectionChange){const n=Le()[e.startRowIndex],a=Le()[e.endRowIndex],l={syntheticEvent:void 0,target:S.current,selectedField:t.selectedField||"",componentId:G(),dataItems:re(),dataItem:null,startDataItem:n,endDataItem:a,...e};t.onSelectionChange.call(void 0,l)}},ee=(e,n,a)=>{ne(t.onPageChange,{page:e},{skip:e.skip,take:e.take},n,a)},It=()=>{let e=t.total||0;return Array.isArray(t.data)?e=e||t.data.length:t.data&&(e=e||t.data.total),e},St=e=>{const n=t.take||0,a=(t.skip||0)+n,l=It();a<l&&ee({skip:a,take:n},e)},kt=e=>{const n=t.take||0,a=(t.skip||0)-n;a>=0&&ee({skip:a,take:n},e)},xt=e=>{ee({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Nt=(e,n)=>{ne(t.onSortChange,{sort:e},{sort:e,...t.scrollable==="virtual"?{skip:0}:{}},n)},Pe=(e,n)=>{ne(t.onFilterChange,{filter:e},{filter:e||void 0,skip:0},n)},te=(e,n)=>{const a=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};e.length===0&&t.navigatable&&(ve.current=!0),ne(t.onGroupChange,{group:e},{group:e,skip:0},a)},ne=(e,n,a,l,i)=>{const f=t.onDataStateChange;if(e){const d={...E(l),...n,targetEvent:i};e.call(void 0,d)}else f&&f.call(void 0,{...E(l),targetEvent:i||{},dataState:{...qt(),...a}})},be=(e,n,a)=>{const l=g.current[e],i=l.depth,f=m=>{do m++;while(m<g.current.length&&g.current[m].depth>i);return m},d=g.current.splice(e,f(e)-e);g.current.splice(e<n?f(n-d.length):n,0,...d),g.current.filter(m=>m.declarationIndex>=0).forEach((m,L)=>m.orderIndex=L);const C=g.current[e].locked&&g.current[n].locked;u.updateLeft(P.current,g.current,C||ce.current),u.updateRight(P.current,g.current,C||ce.current),Ce.current&&(ce.current=!1,Ce.current=!1);const k=B();if(ge(),t.onColumnReorder){const m={target:S.current,columns:k,columnId:l.id,nativeEvent:a};t.onColumnReorder.call(void 0,m)}},Ht=(e,n,a)=>{if(t.group===void 0)return;const l=t.group.slice();l.splice(n,0,...l.splice(e,1)),te(l,a)},qe=(e,n,a)=>{const l=g.current[e].field;if(!l)return;const i=(t.group||[]).slice();i.splice(n,0,{field:l}),te(i,a)},Dt=(e,n)=>{const a=b.current.getCurrentGroupsLength;qe(e,a,n)},he=()=>{let e=0;if(!w.current.colGroupMain)return;const n=w.current.colGroupMain.children;for(let a=0;a<n.length;a++){const l=n[a].width;if(!l)return;e+=parseFloat(l.toString())}e=Math.round(e),q.current&&q.current.setWidth(e),_.current&&_.current.setWidth(e),I.current&&(I.current.style.width=e+"px")},Tt=(e,n)=>{if(t.onClipboard){if(!Gt()||!e)return;t.onClipboard.call(void 0,{type:e,nativeEvent:n,columns:g.current,dataItemKey:t.dataItemKey||"",...typeof t.clipboard!="boolean"?t.clipboard:{}})}},Gt=()=>{var i,f,d;if(!s.canUseDOM)return!1;const e=s.getActiveElement(y()),n=e?e.matches(".k-table-td")?e:(i=y())==null?void 0:i.body:(f=y())==null?void 0:f.body,a=n.closest(".k-grid-container"),l=n&&((d=O.current)==null?void 0:d.contains(n));return!!(n&&l&&a)},Ft=(e,n,a,l,i,f)=>{he(),ce.current=!0,Ce.current=!0,t.onColumnResize&&t.onColumnResize.call(void 0,{columns:B(),nativeEvent:l,targetColumnId:f,index:e,newWidth:n,oldWidth:a,end:i,target:S.current})},Ot=(e,n,a,l,i)=>{const f=[],d=v.flatData(f,e,n,{index:a},l!==void 0,i);return{flattedData:f,resolvedGroupsCount:d}},At=(e,n)=>{const a=e.filter(l=>l&&l.type&&l.type.displayName==="KendoReactGridColumn");return v.readColumns(a,B(),{prevId:0,idPrefix:n})},Mt=e=>e.filter(n=>s.canUseDOM&&n&&n.media?window.matchMedia(n.media).matches:n),Kt=(e,n)=>{const a=u.tableKeyboardNavigationTools.getIdPrefix(F),l=At(e,a),i=Mt(l);g.current=i,g.current.length===0&&(g.current=v.autoGenerateColumns(t.data,t.group,t.expandField,{prevId:0,idPrefix:a})),zt(g.current,n),P.current=u.mapColumns(g.current,!0),w.current.columns=g.current,b.current.columns=g.current},zt=(e,n)=>{t.selectedField&&e.filter(i=>i.field===t.selectedField).forEach(i=>{i.width=i.width||"50px",i.cell=i.cell||nn.GridSelectionCell,i.headerCell=i.headerCell||Cn.GridHeaderSelectionCell});const a={id:"",resizable:!0,width:"32px",title:" ",declarationIndex:-1,orderIndex:-1,children:[],parentIndex:-1,depth:0,colSpan:0,rowSpan:0,left:0,right:0,index:0,rightBorder:!1,ariaColumnIndex:0,isAccessible:!0};let l=0;t.expandField&&t.onExpandChange&&t.detail&&(e.unshift({...a,cell:rn.GridHierarchyCell,field:t.expandField,headerClassName:s.classNames(h.hierarchyCell({}))}),l++);for(let i=0;i<n;i++)e.unshift({...a,isAccessible:!1,cell:dt.GridGroupCell,field:"value",locked:t.lockGroups}),l++;e.slice(l).forEach(i=>i.parentIndex>=0&&(i.parentIndex+=l))},Pt=e=>{const n=g.current.find(l=>l.field===e),a=n&&(n.title||n.field);return a===void 0?e:a},qt=()=>({filter:t.filter,sort:t.sort,skip:t.skip,take:t.take!==void 0?t.take:t.pageSize,group:t.group}),E=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:S.current}),re=()=>R.current.filter(e=>e.rowType==="data").map(e=>e.dataItem),Le=()=>(le.current||R.current).filter(e=>e.rowType==="data").map(e=>e.dataItem),Lt=()=>{var e,n,a;if(j.current&&((e=j.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ye.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?Re.current=document.activeElement:Re.current=void 0;const l=Array.from((a=j.current)==null?void 0:a.getElementsByClassName("k-grid-edit-row"));l.length>ke.current.length?oe.current=l.filter(i=>!ke.current.includes(i))[0]:l.length===1&&(oe.current=l[0],ye.current=!0),ke.current=l}},b=r.useRef(),H=r.useRef(),F=r.useRef(),ae=r.useRef(),c=r.useRef(),w=r.useRef(),z=r.useRef(null),R=r.useRef([]),le=r.useRef(),g=r.useRef([]),P=r.useRef([[]]),Ce=r.useRef(!1),ve=r.useRef(!1),oe=r.useRef(),Re=r.useRef(),ye=r.useRef(!1),ce=r.useRef(!0),we=r.useRef(),Ee=r.useRef(0),Ie=r.useRef(),Se=r.useRef(),ke=r.useRef([]),_=r.useRef(null),q=r.useRef(null),Ve=r.useRef(null),O=r.useRef(null),I=r.useRef(null),U=r.useRef(null),j=r.useRef(null),ie=r.useRef(null),Vt=un.useLocalization(),xe=s.useUnstyled(),h=xe&&xe.uGrid?xe.uGrid:s.uGrid,Bt=s.shouldShowValidationUI(ut.packageMetadata),A=s.useDir(O);r.useMemo(()=>{u.tableKeyboardNavigation.onConstructor({navigatable:!!t.navigatable,contextStateRef:H,navigationStateRef:F,idPrefix:G()})},[]),r.useMemo(()=>{var a;(a=c.current)==null||a.reset();const e=t.groupable===!0||typeof t.groupable=="object"&&t.groupable.enabled!==!1,n=mt();c.current=new n(e||t.rowHeight===void 0||t.rowHeight===0)},[t.scrollable,t.total,t.filter,t.group,t.groupable,t.sort,t.rowHeight]),r.useEffect(()=>(t.clipboard&&(ae.current=new u.ClipboardService(Tt),ae.current.addEventListeners(y())),()=>{ae.current&&ae.current.removeEventListeners(y())}),[t.onClipboard,t.clipboard]),r.useMemo(()=>{w.current=new gn.ColumnResize(Ft)},[t.onColumnResize]),r.useMemo(()=>{b.current=new mn.CommonDragLogic(be,Ht,qe)},[t.onColumnReorder,t.onGroupChange,t.group,t.groupable]),r.useEffect(()=>(t.columnVirtualization&&!window.navigator.userAgent.match(In.SAFARI_REGEX)&&(ie.current&&(ie.current.style.display="block"),I.current&&(I.current.style.display="block")),he(),s.setScrollbarWidth(Ae()),u.tableKeyboardNavigation.onComponentDidMount({scope:O.current||void 0,contextStateRef:H,navigationStateRef:F}),()=>{clearTimeout(Ie.current)}),[]),r.useEffect(()=>{var e;he(),s.setScrollbarWidth(Ae()),(e=c.current)!=null&&e.tableTransform&&c.current.table&&(c.current.table.style.transform=c.current.tableTransform,c.current.tableTransform=""),Lt(),u.tableKeyboardNavigation.onComponentDidUpdate({scope:O.current||void 0,contextStateRef:H,navigationStateRef:F,focusFirst:ve.current,newEditableRow:oe.current,singleEditRow:ye.current,lastActiveElement:Re.current,navigatable:t.navigatable}),ve.current=!1,oe.current=void 0}),r.useEffect(()=>{if(s.canUseDOM){const e={rootMargin:"0px",threshold:.9};z.current=window.IntersectionObserver&&new window.IntersectionObserver(Ge,e)||null}},[Ge]),r.useEffect(()=>{var n;let e;return s.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(gt),e.observe((n=y())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]);const S=r.useRef(null);r.useImperativeHandle(S,()=>({get element(){return p()},props:t,get columns(){return B()},scrollIntoView:e=>{var l;if(!((l=c.current)!=null&&l.container)||t.scrollable==="none")return;const{rowIndex:n}=e;Se.current=n;const a=p();if(z.current&&a){z.current.disconnect();const i=a.querySelector(`[absolute-row-index="${Se.current}"]`);i?z.current.observe(i):fe(e)}},fitColumns:e=>{w.current.dblClickHandler(null,e)}})),r.useImperativeHandle(V,()=>S.current);let M=t.total||0;const $=u.tableKeyboardNavigationTools.getIdPrefix(F),{size:D="medium"}=t;let Ne=[];Array.isArray(t.data)?(Ne=t.data,M=M||t.data.length):t.data&&(Ne=t.data.data,M=M||t.data.total);const Wt=typeof t.groupable=="object"&&t.groupable.footer||"none",J=t.scrollable==="virtual",{resolvedGroupsCount:_t,flattedData:Ut}=Ot(Ne,Wt,t.skip||0,t.group,t.expandField);R.current=Ut;const X=t.groupable===!0||typeof t.groupable=="object"&&t.groupable.enabled!==!1;w.current.resizable=t.resizable||!1,b.current.reorderable=t.reorderable||!1,b.current.groupable=X;const jt=t.selectable&&t.selectable.drag?"none":void 0;bt(M,X),Kt(W,_t);const Be=W.map(e=>e&&e.type&&e.type.displayName==="KendoReactGridToolbar"?r.cloneElement(e,{...e.props,ariaControls:G()}):null),We=W.filter(e=>e&&e.type&&e.type.displayName==="KendoReactGridNoRecords"),_e=W.filter(e=>e&&e.type&&e.type.displayName==="KendoReactGridStatusBar"),T=g.current.filter(e=>e.children.length===0),Ue=X&&r.createElement(dn.GroupPanel,{group:t.group||[],groupChange:te,pressHandler:b.current.pressHandler,dragHandler:b.current.dragHandler,releaseHandler:b.current.releaseHandler,refCallback:b.current.refGroupPanelDiv,resolveTitle:Pt,ariaControls:G(),onContextMenu:me}),je=r.createElement(ln.Header,{size:D,columnResize:w.current,staticHeaders:t.scrollable!=="none",scrollableDataElement:()=>{var e;return((e=c.current)==null?void 0:e.container)||null},draggable:t.reorderable||X,ref:q,elemRef:Ve,headerRow:r.createElement(on.HeaderRow,{cells:t.cells,sort:t.sort,sortable:t.sortable,sortChange:Nt,group:t.group||[],groupable:X,groupChange:te,filter:t.filter,filterable:t.filterable,filterOperators:t.filterOperators||st.operators,filterChange:Pe,columnMenu:t.columnMenu,columnMenuIcon:t.columnMenuIcon,selectionChange:Et,columns:g.current,columnResize:w.current,pressHandler:b.current.pressHandler,dragHandler:b.current.dragHandler,releaseHandler:b.current.releaseHandler,columnsMap:P.current,cellRender:t.headerCellRender,isRtl:A==="rtl",dragClue:b.current.dragClueRef,headerRef:Ve,containerRef:U,navigatable:!!t.navigatable,columnGroupChange:Dt}),filterRow:t.filterable&&r.createElement(cn.FilterRow,{cells:t.cells,size:D,columns:g.current,filter:t.filter,filterOperators:t.filterOperators||st.operators,filterChange:Pe,sort:t.sort,cellRender:t.filterCellRender,isRtl:A==="rtl",navigatable:!!t.navigatable,ariaRowIndex:P.current.length+1})||void 0,cols:T.map((e,n)=>r.createElement("col",{key:n.toString(),width:v.getColumnWidth(e)}))}),$t=c.current&&c.current.container&&c.current.container.scrollLeft||0,Jt=parseFloat(((t.style||{}).width||"").toString()),{colSpans:Xt,hiddenColumns:Yt}=u.tableColumnsVirtualization({enabled:t.columnVirtualization,columns:T,tableViewPortWidth:Jt,scrollLeft:$t}),Qt=(e,n,a,l)=>{let i=!1;const f=t.selectedField?v.getNestedValue(t.selectedField,e.dataItem):void 0;return{row:T.map((d,C)=>{if(Yt[C])return null;const k=d.id?d.id:C,m=s.classNames(h.contentSticky({locked:d.locked}),d.className),L=d.left!==void 0?A!=="rtl"?{left:d.left,right:d.right}:{left:d.right,right:d.left}:{};let Q=!1;if(d.editable&&t.editField){const x=v.getNestedValue(t.editField,e.dataItem);x&&(x===!0||x===d.field)&&(i=!0,Q=!0)}const K=d.cell||Q&&an.GridEditCell||bn.GridCell,De=t.expandField&&t.detail&&d.field===t.expandField;return r.createElement(K,{onContextMenu:me,key:k,locked:t.lockGroups,id:u.tableKeyboardNavigationTools.generateNavigatableId(`${n}-${String(C)}`,$,De||e.rowType==="groupHeader"||e.rowType==="groupFooter"||d.field==="value"?"nodata":"cell"),colSpan:Xt[C],dataItem:e.dataItem,field:d.field,editor:d.editor,format:d.format,className:m,render:t.cellRender,cells:v.resolveCells(t.cells,d.cells),onChange:yt,selectionChange:t.onSelectionChange?x=>{wt({event:x,dataItem:e.dataItem,dataIndex:a,columnIndex:C})}:void 0,columnIndex:C,columnsCount:T.length,rowType:e.rowType,level:e.level,expanded:e.expanded,dataIndex:e.dataIndex,style:L,ariaColumnIndex:d.ariaColumnIndex,isSelected:Array.isArray(f)&&f.indexOf(C)>-1,isSorted:!!v.isSorted(d.field,t.sort),isAlt:l})}),isInEdit:i,isSelected:typeof f=="boolean"&&f}};let $e=0;if(J&&c.current)for(let e=0;e<c.current.topCacheCount+c.current.attendedSkip-(t.skip||0);){const n=R.current.shift();if(n)R.current.push(n),$e++,n.rowType==="groupHeader"&&e--;else break;e++}const Je=e=>e>=R.current.length-$e;let Xe=((rt=c.current)==null?void 0:rt.realSkip)||0;const de=[];let He=!1;const Ye=P.current.length+(t.filterable?1:0)+1;let Y=0;if(R.current.length){let e=-1,n=0;(le.current||R.current).forEach((a,l)=>{var L,Q;a.rowType==="data"&&(Xe++,e++);const i=Xe%2===0,f=t.dataItemKey&&s.getter(t.dataItemKey)(a.dataItem),d=l+(((L=c.current)==null?void 0:L.realSkip)||0),C=f||"ai"+d,k=C+"_1",m=Qt(a,C,e,i);if(Y=d+Ye+n,de.push(r.createElement(hn.GridRow,{key:C,dataItem:a.dataItem,isAltRow:i,isInEdit:m.isInEdit,rowType:a.rowType,isHidden:Je(l),onClick:K=>vt(K,a),onDoubleClick:K=>Rt(K,a),selectedField:t.selectedField,rowHeight:t.rowHeight,render:t.rowRender,ariaRowIndex:Y,absoluteRowIndex:d,dataIndex:(Q=c.current)!=null&&Q.scrollableVirtual&&!t.groupable?d:e,isSelected:m.isSelected},m.row)),t.detail&&a.rowType==="data"&&a.expanded){const K=T.length-(t.expandField?1:0)-(t.group?t.group.length:0)||1;n++,Y=d+Ye+n,de.push(r.createElement("tr",{key:k,className:s.classNames(h.detailTr({isAlt:i})),style:{visibility:Je(l)?"hidden":"",height:t.detailRowHeight},role:"row","aria-rowindex":Y},t.group&&t.group.map((De,x)=>{var ct;const Z=(ct=m==null?void 0:m.row[x])==null?void 0:ct.props.style,en=Z?A!=="rtl"?{left:Z.left,right:Z.right}:{left:Z.right,right:Z.left}:{};return r.createElement(dt.GridGroupCell,{id:"",dataIndex:a.dataIndex,field:De.field,dataItem:a.dataItem,key:x,style:en,ariaColumnIndex:1+x,isSelected:!1,locked:t.lockGroups,isRtl:A==="rtl",cells:t.cells})}),t.expandField&&r.createElement(En.GridDetailHierarchyCell,{id:u.tableKeyboardNavigationTools.generateNavigatableId(`${k}-dhcell`,$)}),r.createElement(wn.GridDetailCell,{onContextMenu:me,dataItem:a.dataItem,dataIndex:a.dataIndex,colSpan:K,ariaColIndex:2+(t.group?t.group.length:0),detail:t.detail,id:u.tableKeyboardNavigationTools.generateNavigatableId(`${k}-dcell`,$)})))}})}else He=!0;const Zt=()=>{const e=q.current;return e&&e.table()&&e.table().clientWidth},Qe=()=>r.createElement("div",{key:"no-records",className:s.classNames(h.noRecords({})),style:{width:Zt()}},r.createElement("div",{className:s.classNames(h.noRecordsTemplate({})),[u.KEYBOARD_NAV_DATA_ID]:u.tableKeyboardNavigationTools.generateNavigatableId("no-records",$)},We.length?We:r.createElement(vn.GridNoRecords,null))),Ze={size:D,onPageChange:xt,total:M,dir:A,skip:((at=c.current)==null?void 0:at.propsSkip)||0,take:(t.take!==void 0?t.take:t.pageSize)||10,messagesMap:ue.pagerMessagesMap,...yn.normalize(t.pageable||{})},pe=t.pager?r.createElement(t.pager,{...Ze}):r.createElement(u.Pager,{className:s.classNames(h.pager({})),...Ze}),pt=(e,n)=>r.createElement("col",{key:n.toString(),width:v.getColumnWidth(e)}),et=(lt=t.cells)!=null&<.footerCell||g.current.some(e=>{var n;return!!(e.footerCell||(n=e.cells)!=null&&n.footerCell)})?r.createElement(sn.Footer,{size:D,columnResize:w.current,staticHeaders:t.scrollable!=="none",ref:_,row:r.createElement(Rn.FooterRow,{cells:t.cells,idPrefix:$,columns:g.current,isRtl:A==="rtl",ariaRowIndex:Y+1}),cols:T.map(pt)}):null,tt=r.createElement("colgroup",{ref:e=>{w.current.colGroupMain=e}},T.map((e,n)=>r.createElement("col",{key:n.toString(),className:v.isSorted(e.field,t.sort)?s.classNames(h.sorted({})):void 0,width:v.getColumnWidth(e)}))),nt=b.current.reorderable||b.current.groupable;if(t.scrollable==="none")return r.createElement(u.TableKeyboardNavigationContext.Provider,{value:H.current},r.createElement("div",{id:t.id||N,style:t.style,className:s.classNames(h.wrapper({size:D}),t.className),ref:O,"aria-label":t.ariaLabel,onKeyDown:Me,onFocus:Ke,...u.tableKeyboardNavigationScopeAttributes},Be,Ue,r.createElement(u.TableSelection,{selectable:t.selectable,onRelease:ze,childRef:e=>{I.current=e,ie.current=e}},r.createElement("table",{ref:ie,className:s.classNames(h.table({size:D}))},tt,je,r.createElement("tbody",{role:"rowgroup",className:s.classNames(h.tbody({})),...u.tableKeyboardNavigationBodyAttributes},de),et)),He&&Qe(),nt&&r.createElement(r.Fragment,null,r.createElement(u.DropClue,{ref:b.current.refDropElementClue}),r.createElement(u.DragClue,{ref:b.current.refDragElementClue}))),_e,t.pageable&&pe);let se=t.style||{};return J&&(se.height||(se=Object.assign({},se,{height:"450px"}))),r.createElement(u.TableKeyboardNavigationContext.Provider,{value:H.current},r.createElement("div",{id:t.id||N,style:se,className:s.classNames(h.wrapper({size:D,virtual:J}),t.className),ref:O,"aria-label":t.ariaLabel,onKeyDown:Me,onFocus:Ke,...u.tableKeyboardNavigationScopeAttributes},Be,Ue,r.createElement("div",{className:s.classNames(h.ariaRoot({})),role:"grid","aria-colcount":T.length,"aria-rowcount":M,id:G(),"aria-label":Vt.toLanguageString(ue.gridAriaLabel,ue.messages[ue.gridAriaLabel])},je,r.createElement("div",{className:s.classNames(h.container({})),role:"presentation"},r.createElement("div",{ref:U,className:s.classNames(h.content({})),onScroll:ht,role:"presentation"},r.createElement("div",{className:s.classNames(h.tableWrap({})),role:"presentation"},r.createElement(u.TableSelection,{selectable:t.selectable,onRelease:ze,childRef:e=>{I.current=e}},r.createElement("table",{ref:I,className:s.classNames(h.table({size:D})),role:"presentation",style:{userSelect:jt}},tt,r.createElement("tbody",{className:s.classNames(h.tbody({})),ref:j,role:"rowgroup",...u.tableKeyboardNavigationBodyAttributes},de))),He&&Qe()),J&&r.createElement("div",{className:s.classNames(h.heightContainer({})),role:"presentation"},r.createElement("div",{style:J?{height:((ot=c.current)==null?void 0:ot.containerHeight)+"px"}:{}})))),et,nt&&r.createElement(r.Fragment,null,r.createElement(u.DropClue,{ref:b.current.refDropElementClue}),r.createElement(u.DragClue,{ref:b.current.refDragElementClue})),Bt&&r.createElement(s.WatermarkOverlay,null)),_e,t.pageable&&pe))}),kn={data:o.oneOfType([o.array,o.shape({data:o.array,total:o.number})]),sortable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["single","multiple"]),allowUnsort:o.bool})]),onSortChange:o.func,sort:o.array,filterable:o.bool,filter:o.any,onFilterChange:o.func,pageable:o.oneOfType([o.bool,o.shape({buttonCount:o.number,responsive:o.bool,info:o.bool,type:o.oneOf(["numeric","input"]),pageSizes:o.oneOfType([o.bool,o.arrayOf(o.oneOfType([o.string,o.number]))]),previousNext:o.bool})]),pageSize:o.number,onPageChange:o.func,total:o.number,skip:o.number,take:o.number,fixedScroll:o.bool,onExpandChange:o.func,expandField:o.string,selectedField:o.string,onSelectionChange:o.func,onHeaderSelectionChange:o.func,resizable:o.bool,reorderable:o.bool,group:o.any,groupable:o.oneOfType([o.bool,o.shape({enabled:o.bool,footer:o.oneOf(["always","visible","none"])})]),onGroupChange:o.func,onRowClick:o.func,onRowDoubleClick:o.func,onItemChange:o.func,editField:o.string,scrollable:o.oneOf(["none","scrollable","virtual"]),rowHeight:o.number,detailRowHeight:o.number,detail:o.any,style:o.object,onDataStateChange:o.func,onColumnResize:o.func,onColumnReorder:o.func,dataItemKey:o.string,navigatable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["incell","inline","popup"])})]),size:o.oneOf(["small","medium"])};Te.displayName="KendoReactGrid";Te.propTypes=kn;exports.Grid=Te;
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),e=require("prop-types"),c=require("./utils/index.js"),s=require("./GridClientContextReader.js"),l=require("./GridComponent.js"),d=require("./GridState.js"),b=require("@progress/kendo-react-common");function f(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(o,t,a.get?a:{enumerable:!0,get:()=>n[t]})}}return o.default=n,Object.freeze(o)}const r=f(u),i=r.forwardRef((n,o)=>{const{isPaid:t}={isPaid:!0},[a]=b.useCustomComponent(t?d.GridClientStateProvider:r.Fragment);return c.isClient()?r.createElement(a,{...n},r.createElement(s.GridClientContextReader,{id:n.id},r.createElement(l.GridComponent,{ref:o,...n}))):r.createElement(l.GridComponent,{ref:o,...n})}),p={data:e.oneOfType([e.array,e.shape({data:e.array,total:e.number})]),sortable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["single","multiple"]),allowUnsort:e.bool})]),onSortChange:e.func,sort:e.array,filterable:e.bool,filter:e.any,onFilterChange:e.func,pageable:e.oneOfType([e.bool,e.shape({buttonCount:e.number,responsive:e.bool,info:e.bool,type:e.oneOf(["numeric","input"]),pageSizes:e.oneOfType([e.bool,e.arrayOf(e.oneOfType([e.string,e.number]))]),previousNext:e.bool})]),pageSize:e.number,onPageChange:e.func,total:e.number,skip:e.number,take:e.number,fixedScroll:e.bool,onExpandChange:e.func,expandField:e.string,selectedField:e.string,onSelectionChange:e.func,onHeaderSelectionChange:e.func,resizable:e.bool,reorderable:e.bool,group:e.any,groupable:e.oneOfType([e.bool,e.shape({enabled:e.bool,footer:e.oneOf(["always","visible","none"])})]),onGroupChange:e.func,onRowClick:e.func,onRowDoubleClick:e.func,onItemChange:e.func,editField:e.string,scrollable:e.oneOf(["none","scrollable","virtual"]),rowHeight:e.number,detailRowHeight:e.number,detail:e.any,style:e.object,onDataStateChange:e.func,onColumnResize:e.func,onColumnReorder:e.func,dataItemKey:e.string,navigatable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["incell","inline","popup"])})]),size:e.oneOf(["small","medium"])};i.displayName="KendoReactGrid";i.propTypes=p;exports.Grid=i;
|