@progress/kendo-react-treelist 7.0.3-develop.9 → 7.1.0-develop.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-react-treelist.js +1 -1
- package/index.js +1 -1
- package/index.mjs +23 -22
- package/package.json +8 -8
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
(function(o,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","react-dom","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs"],T):(o=typeof globalThis<"u"?globalThis:o||self,T(o.KendoReactTreelist={},o.React,o.PropTypes,o.KendoReactCommon,o.KendoReactDataTools,o.KendoReactIntl,o.KendoSvgIcons,o.ReactDOM,o.KendoReactInputs,o.KendoReactDateinputs))})(this,function(o,T,h,u,s,N,K,Fe,De,Te){"use strict";"use client";function Z(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=Z(T),Re=Z(Fe);function Ke(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,a,t){const i=Array.from(e.tHead&&e.tHead.rows||[]),r=[a];let l;const c=t||(d=>window.getComputedStyle(d).height||void 0);i.forEach(d=>{let g=c(d);r.push(Ke(g)?parseFloat(String(g)):d.offsetHeight)});for(let d=0;d<i.length;d++)l=r.slice(0,d+1).reduce((g,m)=>g+m),Array.from(i[d].cells).forEach(g=>g.style.top=l+"px")}const U=1e6;function te(e){const{rows:a,tableViewPortHeight:t,scrollTop:i}=e;if(a.length===0)return[];const r=a[0].height,l=Math.min(Math.round(i/r),a.length),c=Math.round(t/r),d=Math.max(0,l-c),g=Math.min(a.length,l+2*c),m=a.slice(d,g),b=m[m.length-1];return d>0&&m.unshift({dataItem:{},level:[U],offsetTop:0,height:m[0].offsetTop,levelCount:0}),g<a.length-1&&m.push({dataItem:{},level:[U,U],offsetTop:b.offsetTop+b.height,height:(a.length-g)*r,levelCount:0}),m}const ie=s.TABLE_ROW_INDEX_ATTRIBUTE,L=s.TABLE_COL_INDEX_ATTRIBUTE,re=s.TABLE_PREVENT_SELECTION_ELEMENT,W=e=>{const{hasChildren:a,level:t=[0],expanded:i,dataItem:r,format:l,id:c,ariaColumnIndex:d,isSelected:g}=e,m=u.getNestedValue(e.field,r),b=N.useInternationalization(),E=s.useTableKeyboardNavigation(c);let w="";const y=n.useCallback(x=>{x.isDefaultPrevented()||x.keyCode===u.Keys.enter&&e.expandable&&(x.preventDefault(),e.onExpandChange(x,r,t))},[e.expandable,r,t]);m!=null&&(w=l?b.format(l,m):m.toString());const I=[];if(e.expandable){const x=v=>n.createElement("span",{key:v,className:"k-treelist-toggle k-icon k-svg-icon"},n.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));I.push(...t.slice(1).map((v,q)=>x(q))),a?I.push(n.createElement(u.IconWrap,{className:"k-treelist-toggle",name:i?"caret-alt-down":"caret-alt-right",icon:i?K.caretAltDownIcon:K.caretAltRightIcon,key:"expand-collapse",onClick:v=>e.onExpandChange(v.syntheticEvent||v,r,t),[re]:!0})):I.push(x(I.length))}const V=n.createElement("td",{style:e.style,className:u.classNames("k-table-td",e.className,{["k-text-nowrap"]:e.expandable,["k-selected"]:g}),colSpan:e.colSpan,"aria-colindex":d,"aria-expanded":a?i:void 0,"aria-selected":g,role:"gridcell",onKeyDown:y,[L]:e.colIndex,...E},I,w);return e.render?e.render.call(void 0,V,e):V};W.displayName="KendoReactTreeListCell";const X="treelist.filterClearButton",A="treelist.filterEqOperator",M="treelist.filterNotEqOperator",z="treelist.filterIsNullOperator",B="treelist.filterIsNotNullOperator",le="treelist.filterIsEmptyOperator",ae="treelist.filterIsNotEmptyOperator",ne="treelist.filterStartsWithOperator",se="treelist.filterContainsOperator",oe="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",fe="treelist.filterIsTrue",me="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",ve="treelist.filterAfterOperator",Ce="treelist.filterBeforeOperator",Ee="treelist.filterBeforeOrEqualOperator",G="treelist.noRecords",$={[X]:"Clear",[A]:"Is equal to",[M]:"Is not equal to",[z]:"Is null",[B]:"Is not null",[le]:"Is empty",[ae]:"Is not empty",[ne]:"Starts with",[se]:"Contains",[oe]:"Does not contain",[ce]:"Ends with",[de]:"Is greater than or equal to",[he]:"Is greater than",[ue]:"Is less than or equal to",[ge]:"Is less than",[fe]:"Is true",[me]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[ve]:"Is after",[Ce]:"Is before",[Ee]:"Is before or equal to",[G]:"No records available"};class Y extends n.Component{render(){return this.props.children||N.provideLocalizationService(this).toLanguageString(G,$[G])}}N.registerForLocalization(Y);const _=n.forwardRef((e,a)=>{const{isSelected:t,rowHeight:i,isAltRow:r,expanded:l,ariaRowIndex:c,level:d,ariaSetSize:g,ariaPosInSet:m}=e,b=u.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":r}),E=n.useMemo(()=>i!==void 0?{height:i+"px"}:void 0,[i]),w=n.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:b,style:E,ref:a,"aria-expanded":l,role:"row","aria-rowindex":c,"aria-level":d.length,"aria-posinset":m,"aria-setsize":g,[ie]:e.rowIndex},e.children);return n.createElement(n.Fragment,null,e.render?e.render.call(void 0,w,e):w)});_.displayName="KendoReactTreeListRow";const Ae={name:"@progress/kendo-react-treelist",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class J extends n.Component{constructor(a){super(a),this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=t=>{if(!this.element)return;const{rowIndex:i=0}=t,{scrollable:r,rowHeight:l=0}=this.props;if(r==="virtual"||l)this.element.scroll(0,(i-1)*l);else{const c=this.element.querySelector(`tbody > tr:nth-child(${i})`);if(c){const d=c.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},this.getExtendedColumn=u.memoizeOne((t,i)=>s.readColumns(t,{prevId:0,idPrefix:i})),this.getColumnsMap=u.memoizeOne(t=>s.mapColumns(t)),this.onKeyDown=t=>{if(s.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:i,cell:r}=s.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:i,cell:r,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,l)}},this.onFocus=t=>{s.tableKeyboardNavigation.onFocus(t,{contextStateRef:this.contextStateRef})},this.onRowDrag=t=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...t,target:this})},this.onRowDrop=t=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...t,target:this})},this.columnReorder=(t,i,r)=>{const l=this.extendedColumn[t].depth,c=g=>{do g++;while(g<this.extendedColumn.length&&this.extendedColumn[g].depth>l);return g},d=this.extendedColumn.splice(t,c(t)-t);if(this.extendedColumn.splice(t<i?c(i-d.length):i,0,...d),this.extendedColumn.filter(g=>g.declarationIndex>=0).forEach((g,m)=>g.orderIndex=m),this.props.onColumnReorder){const g={target:this,columns:this.columns,nativeEvent:r};this.props.onColumnReorder.call(void 0,g)}},this.onResize=(t,i,r,l,c)=>{if(this.props.onColumnResize){const d=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,b)=>m+=parseFloat(String(b.width)),0),g={columns:this.columns,totalWidth:d,index:t,nativeEvent:l,newWidth:i,oldWidth:r,end:c,target:this};this.props.onColumnResize.call(void 0,g)}},this.handleOnScroll=t=>{const i=t.currentTarget.scrollLeft,r=t.currentTarget.scrollTop,{columnVirtualization:l,scrollable:c,rowHeight:d=0}=this.props,g=d,m=0;let b=!1;l&&Math.abs(this.wrapperScrollLeft-i)>m&&(this.wrapperScrollLeft=i,b=!0),c==="virtual"&&Math.abs(this.wrapperScrollTop-r)>g&&(this.wrapperScrollTop=r,b=!0),b&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const i=Array.from(t.childNodes),r=i.find(d=>d.nodeName==="TABLE"),l=this.props.toolbar&&i.find(d=>d.nodeType===1&&d.classList.contains("k-grid-toolbar"));let c=0;if(l){const d=l.style.boxSizing;l.style.boxSizing="border-box",c=parseFloat(String(window.getComputedStyle(l).height))||l.offsetHeight,l.style.boxSizing=d,l.getAttribute("style")||l.removeAttribute("style")}this.tbodyOffsetTop=r.tBodies[0].offsetTop,ee(r,c)},this.itemChange=t=>{const i=this.props.onItemChange;if(t.field===this.props.expandField){const r=this.props.onExpandChange;if(r){const l={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};r.call(void 0,l)}return}if(i){const r={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};i.call(void 0,r)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const i={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,i)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...t};this.props.onSelectionChange.call(void 0,i)}},this.sortChange=(t,i,r)=>{this.raiseDataEvent(this.props.onSortChange,{sort:i,field:r},t)},this.headerFilterChange=(t,i,r)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:i,field:r},t)},this.filterChange=t=>{const{filter:i,field:r}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:i,field:r},t.syntheticEvent)},this.columnMenuFilterChange=(t,i,r)=>{const{onColumnMenuFilterChange:l}=this.props;if(!l)return;const c={syntheticEvent:t,filter:i,field:r,target:this,nativeEvent:t.nativeEvent};l.call(void 0,c)},this.expandChange=(t,i,r)=>{const{expandField:l,onExpandChange:c}=this.props;if(l&&c){const d={...this.getArguments(t),dataItem:i,level:r,value:this.expanded(i)};c.call(void 0,d)}},this.rowClick=(t,i)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,r)}},this.rowDoubleClick=(t,i)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,r)}},this.rowContextMenu=(t,i)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,r)}},this.onPageChange=t=>{if(this.props.onPageChange){const i={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,i)}},this.expandedSubItems=t=>{const i=[];return this.expanded(t)&&this.hasChildren(t)&&i.push(...u.getNestedValue(this.props.subItemsField,t)),i},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!u.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!u.getNestedValue(this.props.subItemsField,t),u.validatePackage(Ae),this.dragLogic=new s.CommonDragLogic(this.columnReorder,u.noop,u.noop),this.columnResize=new s.ColumnResize(this.onResize.bind(this)),s.tableKeyboardNavigation.onConstructor({navigatable:!!a.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(u.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),s.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(a){a.columns!==this.props.columns&&this.calculateSizes(this.element),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:a=[],filterRow:t,scrollable:i="scrollable",resizable:r=!1,reorderable:l=!1,skip:c,take:d}=this.props,g=a.some(f=>!!f.filter||!!f.filterCell)||t!==void 0,m=t||s.FilterRow,b=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(a,b),this.columnsMap=this.getColumnsMap(this.extendedColumn);const E=this.extendedColumn.filter(f=>f.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=r,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const w=n.createElement(s.Header,{headerRow:n.createElement(s.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.sortChange,selectionChange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.columnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,filterChange:this.headerFilterChange}),filterRow:g&&n.createElement(m,{columns:E,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),y=this.props.style||{},{colSpans:I,hiddenColumns:V}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:E,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((y.width||"").toString())}),x=(f,S,j,P,k,R)=>E.map((p,C)=>{if(V[C])return null;const F=p.id?p.id:C,Q=`${p.className?p.className+" ":""}${p.locked?"k-grid-content-sticky":""}`,D={id:s.tableKeyboardNavigationTools.generateNavigatableId(`${j}-${String(C)}`,b),colSpan:I[C],dataItem:f.dataItem,field:p.field,format:p.format,className:Q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?O=>{this.selectionChange({event:O,item:f,columnIndex:C,dataIndex:k})}:void 0,level:f.level,expandable:p.expandable,expanded:P,hasChildren:this.hasChildren(f.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:p.ariaColumnIndex,style:p.left!==void 0&&{left:p.left,right:p.right,borderRightWidth:p.rightBorder?"1px":""}||{},isSelected:Array.isArray(R)&&R.indexOf(C)>-1};return S&&p.editCell?n.createElement(p.editCell,{key:F,...D,onChange:this.itemChange}):p.cell?n.createElement(p.cell,{key:F,...D}):n.createElement(W,{key:F,...D})});let v=this.flatData;const q=v.length;c!==void 0&&d!==void 0&&(v=v.slice(c,c+d)),i==="virtual"&&(v=te({rows:v,tableViewPortHeight:parseFloat((y.height||y.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const Ye=v.map(f=>f.level),Je=this.columnsMap.length+(g?1:0)+1,Qe=v.length>0&&v.map((f,S)=>{const j=u.getNestedValue(this.props.editField,f.dataItem),P=this.props.dataItemKey&&u.getter(this.props.dataItemKey)(f.dataItem),k=String(P||f.level.join(".")),R=this.expanded(f.dataItem),p=this.props.selectedField?u.getNestedValue(this.props.selectedField,f.dataItem):void 0,C={key:k,level:f.level,levels:Ye,dataItem:f.dataItem,selectedField:this.props.selectedField,rowHeight:i==="virtual"?f.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:O=>this.rowClick(O,f),onDoubleClick:O=>this.rowDoubleClick(O,f),onContextMenu:O=>this.rowContextMenu(O,f),isAltRow:S%2!==0,expanded:R,rowIndex:S,ariaRowIndex:Je+S,ariaSetSize:f.levelCount,ariaPosInSet:f.level[f.level.length-1]+1,isSelected:typeof p=="boolean"&&p},F=this.props.editRow,Q=this.props.row||_,D=x(f,j,k,R,S,p);return j&&F?n.createElement(F,{...C,key:C.key},D):n.createElement(Q,{...C,key:C.key},D)})||n.createElement("tr",{className:"k-table-row k-grid-norecords"},n.createElement("td",{colSpan:E.length},this.props.noRecords||n.createElement(Y,null))),Ze=f=>this.props.sort&&this.props.sort.some(S=>S.field===f),et=n.createElement("colgroup",{ref:f=>{this.columnResize.colGroupMain=f}},E.map((f,S)=>n.createElement("col",{key:S.toString(),className:Ze(f.field)?"k-sorted":void 0,style:f.width!==void 0?{width:f.width}:void 0}))),tt=this.props.columnVirtualization||this.props.scrollable==="virtual",it=this.props.selectable&&this.props.selectable.drag?"none":void 0,Le=this.props.tableProps||{};return n.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},n.createElement("div",{id:this.props.id,style:this.props.style,className:u.classNames("k-grid k-grid-md",this.props.className,{"k-treelist-scrollable":i!=="none"}),ref:f=>this.element=f,onScroll:tt?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":q,"aria-colcount":E.length,role:"treegrid",...s.tableKeyboardNavigationScopeAttributes},this.props.toolbar,n.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},n.createElement("table",{className:"k-table k-table-md k-grid-table",...Le,style:{...Le.style||{},userSelect:it},role:"presentation"},et,w,n.createElement("tbody",{className:"k-table-tbody",...s.tableKeyboardNavigationBodyAttributes,role:"presentation"},Qe))),this.props.pager&&n.createElement(this.props.pager,{className:"k-grid-pager",total:q,skip:c,take:d,onPageChange:this.onPageChange}),l&&n.createElement(n.Fragment,null,n.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),n.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const a=this.extendedColumn.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1),t=i=>(i.sort((r,l)=>r.declarationIndex-l.declarationIndex),i.map(r=>{const{declarationIndex:l,parentIndex:c,depth:d,colSpan:g,rowSpan:m,index:b,kFirst:E,groupable:w,children:y,...I}=r;return y.length?{children:t(y),...I}:I}));return t(a)}get flatData(){const{data:a=[],rowHeight:t=0}=this.props;let i=0;const r=c=>{const d={height:t,offsetTop:i};return i+=d.height,d};let l=this.updateOnScroll&&this.prevData===a&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:s.flatData(a,this.expandedSubItems,r);return this.prevData=a,this.flattedData=l,l}selectionChange(a){if(this.props.onSelectionChange){const{event:t,item:i,dataIndex:r,columnIndex:l}=a,{mode:c,cell:d}=s.getSelectionOptions(this.props.selectable),g={...this.getArguments(t.syntheticEvent),dataItem:i.dataItem,level:i.level,startColIndex:l,endColIndex:l,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:c,cell:d,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,g)}}raiseDataEvent(a,t,i){const r=this.props.onDataStateChange;if(a)a.call(void 0,{...this.getArguments(i),...t});else if(r){const l={...this.getArguments(i),dataState:{...this.getDataState(),...t}};r.call(void 0,l)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(a){return{nativeEvent:a&&a.nativeEvent,syntheticEvent:a,target:this}}}J.propTypes={data:h.array,resizable:h.bool,reorderable:h.bool,sortable:h.oneOfType([h.bool,h.shape({mode:h.oneOf(["single","multiple"]),allowUnsort:h.bool})]),onSortChange:h.func,sort:h.array,columns:h.arrayOf(h.object),columnVirtualization:h.bool,filter:h.array,onFilterChange:h.func,filterRow:h.any,toolbar:h.any,noRecords:h.any,onExpandChange:h.func,expandField:h.string,subItemsField:h.string,selectedField:h.string,onSelectionChange:h.func,onHeaderSelectionChange:h.func,onRowClick:h.func,onItemChange:h.func,editField:h.string,scrollable:h.oneOf(["none","scrollable","virtual"]),rowHeight:h.number,style:h.object,tableProps:h.object,pager:h.any,skip:h.number,take:h.number,onPageChange:h.func,onDataStateChange:h.func,onColumnResize:h.func,onColumnReorder:h.func,dataItemKey:h.string,navigatable:h.bool},J.contextType=s.TableKeyboardNavigationContext;const Me=e=>n.createElement(s.HeaderCell,{...e}),Ie=e=>{const a=n.useCallback(c=>{e.selectionChange&&e.selectionChange({syntheticEvent:c})},[e.selectionChange]),t=u.useId(),i=u.getNestedValue(e.field,e.dataItem),r=s.useTableKeyboardNavigation(e.id),l=n.createElement("td",{style:e.style,className:u.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...r},n.createElement("input",{checked:typeof i=="boolean"&&i,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:a}),n.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,l,e):l};Ie.displayName="KendoReactTreeListSelectionCell";class ze extends n.Component{constructor(){super(...arguments),this._inputId=u.guid()}render(){return n.createElement(s.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const Be=e=>e.visible&&u.canUseDOM?Re.createPortal(n.createElement("div",{className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:e.top+"px",left:e.left+"px"}},n.createElement(u.IconWrap,{className:u.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?K.plusIcon:K.cancelIcon}),e.text),document.body):null;function _e(e,a,t){if(!e.originalEvent)return-1;let i=Se(e,"tr",t);if(i){const r=a?a.childNodes:[];for(let l=0;l<r.length;l++)if(r[l]===i)return l}return-1}function Se(e,a,t){let i=t?t.elementFromPoint(e.clientX,e.clientY):null;return a&&i?i.closest(a):null}const He="k-grid k-grid-md",xe={visible:!1,top:0,left:0,text:"",allowDrop:!1};class Ve extends n.Component{constructor(){super(...arguments),this.state={clueProps:{...xe}},this.draggable=n.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=a=>{if(!u.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,i=t?t.ownerDocument:document;if(!i)return;const r=a.event,l=this.dragged;if(t&&l){!r.isTouch&&r.type!=="scroll"&&r.originalEvent.preventDefault();const c=this.props.levels[_e(r,t.parentNode,i)];this.draggedOver=c;const d=c?!l.every((g,m)=>g===c[m]):!!Se(r,He,i);this.setState({clueProps:{visible:!0,top:r.pageY+10,left:r.pageX,text:t.innerText,allowDrop:d}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:r.originalEvent,dragged:l,draggedOver:c,draggedItem:this.props.dataItem})}},this.onRelease=a=>{const t=a.event;if(this.dragged){const i=[...this.dragged],r=this.draggedOver&&[...this.draggedOver],l=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...xe}});const c=this.props.dataItem;l&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:i,draggedOver:r,draggedItem:c})}}}render(){const{clueProps:a}=this.state;return n.createElement(n.Fragment,null,n.createElement(u.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},n.createElement(_,{...this.props})),n.createElement(Be,{...a}))}}class qe extends n.Component{render(){return n.createElement("div",{className:"k-toolbar k-grid-toolbar"},this.props.children)}}const je=[{text:se,operator:"contains"},{text:oe,operator:"doesnotcontain"},{text:A,operator:"eq"},{text:M,operator:"neq"},{text:ne,operator:"startswith"},{text:ce,operator:"endswith"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"},{text:le,operator:"isempty"},{text:ae,operator:"isnotempty"}],Pe=[{text:A,operator:"eq"},{text:M,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"}],ke=[{text:A,operator:"eq"},{text:M,operator:"neq"},{text:be,operator:"gte"},{text:ve,operator:"gt"},{text:Ce,operator:"lt"},{text:Ee,operator:"lte"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"}],Ue=[{text:pe,operator:""},{text:fe,operator:!0},{text:me,operator:!1}];function H(e,a){return{clearButtonTitle:e.toLanguageString(X,$[X]),operators:a.map(t=>({text:e.toLanguageString(t.text,$[t.text]),operator:t.operator}))}}const We=function(e){const{operators:a,...t}=e;return n.createElement(s.TextFilterCell,{ariaLabel:"text filter",...H(N.useLocalization(),a||je),...t})},Xe=function(e){const{operators:a,...t}=e;return n.createElement(s.NumericFilterCell,{ariaLabel:"numeric filter",...H(N.useLocalization(),a||Pe),...t})},Ge=function(e){const{operators:a,...t}=e;return n.createElement(s.DateFilterCell,{ariaLabel:"date filter",...H(N.useLocalization(),a||ke),...t})},$e=function(e){const{operators:a,...t}=e;return n.createElement(s.BooleanFilterCell,{ariaLabel:"boolean filter",...H(N.useLocalization(),a||Ue),...t})},we=e=>{const a=n.useCallback(l=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:l,value:l.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className),r=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement("input",{style:{width:"100%"},className:"k-input",value:u.getNestedValue(e.field,e.dataItem)||"",onChange:a}));return e.render?e.render.call(void 0,r,e):r};we.displayName="KendoReactTreeListTextEditor";const ye=e=>{const a=n.useCallback(c=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:c.syntheticEvent,value:c.value})},[e.onChange,e.dataItem,e.level,e.field]),t=u.getNestedValue(e.field,e.dataItem),i=s.useTableKeyboardNavigation(e.id),r=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...i,[L]:e.colIndex},n.createElement(De.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:a}));return e.render?e.render.call(void 0,l,e):l};ye.displayName="KendoReactTreeListNumericEditor";const Ne=e=>{const a=n.useCallback(c=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:c,value:c.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=u.useId(),i=s.useTableKeyboardNavigation(e.id),r=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...i,[L]:e.colIndex},n.createElement("input",{checked:u.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:a}),n.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,l,e):l};Ne.displayName="KendoReactTreeListBooleanEditor";const Oe=e=>{const a=n.useCallback(l=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:l.syntheticEvent,value:l.value})},[e.onChange,e.dataItem,e.level,e.field]),t=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className);let r=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement(Te.DatePicker,{width:"100%",value:u.getNestedValue(e.field,e.dataItem),onChange:a}));return e.render?e.render.call(void 0,r,e):r};Oe.displayName="KendoReactTreeListDateEditor",Object.defineProperty(o,"getNestedValue",{enumerable:!0,get:()=>u.getNestedValue}),Object.defineProperty(o,"mapTree",{enumerable:!0,get:()=>u.mapTree}),Object.defineProperty(o,"mapTreeItem",{enumerable:!0,get:()=>u.mapTreeItem}),Object.defineProperty(o,"createDataTree",{enumerable:!0,get:()=>s.createDataTree}),Object.defineProperty(o,"extendDataItem",{enumerable:!0,get:()=>s.extendDataItem}),Object.defineProperty(o,"filterBy",{enumerable:!0,get:()=>s.filterBy}),Object.defineProperty(o,"flatData",{enumerable:!0,get:()=>s.flatData}),Object.defineProperty(o,"getItemPath",{enumerable:!0,get:()=>s.getItemPath}),Object.defineProperty(o,"getSelectedState",{enumerable:!0,get:()=>s.getSelectedState}),Object.defineProperty(o,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>s.getSelectedStateFromKeyDown}),Object.defineProperty(o,"modifySubItems",{enumerable:!0,get:()=>s.modifySubItems}),Object.defineProperty(o,"moveTreeItem",{enumerable:!0,get:()=>s.moveTreeItem}),Object.defineProperty(o,"orderBy",{enumerable:!0,get:()=>s.orderBy}),Object.defineProperty(o,"removeItems",{enumerable:!0,get:()=>s.removeItems}),Object.defineProperty(o,"setSelectedState",{enumerable:!0,get:()=>s.setSelectedState}),Object.defineProperty(o,"treeToFlat",{enumerable:!0,get:()=>s.treeToFlat}),o.TREELIST_COL_INDEX_ATTRIBUTE=L,o.TREELIST_PREVENT_SELECTION_ELEMENT=re,o.TREELIST_ROW_INDEX_ATTRIBUTE=ie,o.TreeList=J,o.TreeListBooleanEditor=Ne,o.TreeListBooleanFilter=$e,o.TreeListCell=W,o.TreeListDateEditor=Oe,o.TreeListDateFilter=Ge,o.TreeListDraggableRow=Ve,o.TreeListHeaderCell=Me,o.TreeListHeaderSelectionCell=ze,o.TreeListNoRecords=Y,o.TreeListNumericEditor=ye,o.TreeListNumericFilter=Xe,o.TreeListRow=_,o.TreeListSelectionCell=Ie,o.TreeListTextEditor=we,o.TreeListTextFilter=We,o.TreeListToolbar=qe,o.setHeaderRowsTop=ee,o.tableRowsVirtualization=te,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
(function(o,T){typeof exports=="object"&&typeof module!="undefined"?T(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","react-dom","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs"],T):(o=typeof globalThis!="undefined"?globalThis:o||self,T(o.KendoReactTreelist={},o.React,o.PropTypes,o.KendoReactCommon,o.KendoReactDataTools,o.KendoReactIntl,o.KendoSvgIcons,o.ReactDOM,o.KendoReactInputs,o.KendoReactDateinputs))})(this,function(o,T,h,u,s,N,K,Fe,De,Te){"use strict";"use client";function Z(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=Z(T),Re=Z(Fe);function Ke(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,a,t){const i=Array.from(e.tHead&&e.tHead.rows||[]),r=[a];let l;const c=t||(d=>window.getComputedStyle(d).height||void 0);i.forEach(d=>{let g=c(d);r.push(Ke(g)?parseFloat(String(g)):d.offsetHeight)});for(let d=0;d<i.length;d++)l=r.slice(0,d+1).reduce((g,m)=>g+m),Array.from(i[d].cells).forEach(g=>g.style.top=l+"px")}const U=1e6;function te(e){const{rows:a,tableViewPortHeight:t,scrollTop:i}=e;if(a.length===0)return[];const r=a[0].height,l=Math.min(Math.round(i/r),a.length),c=Math.round(t/r),d=Math.max(0,l-c),g=Math.min(a.length,l+2*c),m=a.slice(d,g),b=m[m.length-1];return d>0&&m.unshift({dataItem:{},level:[U],offsetTop:0,height:m[0].offsetTop,levelCount:0}),g<a.length-1&&m.push({dataItem:{},level:[U,U],offsetTop:b.offsetTop+b.height,height:(a.length-g)*r,levelCount:0}),m}const ie=s.TABLE_ROW_INDEX_ATTRIBUTE,L=s.TABLE_COL_INDEX_ATTRIBUTE,re=s.TABLE_PREVENT_SELECTION_ELEMENT,W=e=>{const{hasChildren:a,level:t=[0],expanded:i,dataItem:r,format:l,id:c,ariaColumnIndex:d,isSelected:g}=e,m=u.getNestedValue(e.field,r),b=N.useInternationalization(),E=s.useTableKeyboardNavigation(c);let w="";const y=n.useCallback(x=>{x.isDefaultPrevented()||x.keyCode===u.Keys.enter&&e.expandable&&(x.preventDefault(),e.onExpandChange(x,r,t))},[e.expandable,r,t]);m!=null&&(w=l?b.format(l,m):m.toString());const I=[];if(e.expandable){const x=v=>n.createElement("span",{key:v,className:"k-treelist-toggle k-icon k-svg-icon"},n.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));I.push(...t.slice(1).map((v,q)=>x(q))),a?I.push(n.createElement(u.IconWrap,{className:"k-treelist-toggle",name:i?"caret-alt-down":"caret-alt-right",icon:i?K.caretAltDownIcon:K.caretAltRightIcon,key:"expand-collapse",onClick:v=>e.onExpandChange(v.syntheticEvent||v,r,t),[re]:!0})):I.push(x(I.length))}const V=n.createElement("td",{style:e.style,className:u.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":g}),colSpan:e.colSpan,"aria-colindex":d,"aria-expanded":a?i:void 0,"aria-selected":g,role:"gridcell",onKeyDown:y,[L]:e.colIndex,...E},I,w);return e.render?e.render.call(void 0,V,e):V};W.displayName="KendoReactTreeListCell";const X="treelist.filterClearButton",A="treelist.filterEqOperator",M="treelist.filterNotEqOperator",z="treelist.filterIsNullOperator",B="treelist.filterIsNotNullOperator",le="treelist.filterIsEmptyOperator",ae="treelist.filterIsNotEmptyOperator",ne="treelist.filterStartsWithOperator",se="treelist.filterContainsOperator",oe="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",fe="treelist.filterIsTrue",me="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",ve="treelist.filterAfterOperator",Ce="treelist.filterBeforeOperator",Ee="treelist.filterBeforeOrEqualOperator",G="treelist.noRecords",$={[X]:"Clear",[A]:"Is equal to",[M]:"Is not equal to",[z]:"Is null",[B]:"Is not null",[le]:"Is empty",[ae]:"Is not empty",[ne]:"Starts with",[se]:"Contains",[oe]:"Does not contain",[ce]:"Ends with",[de]:"Is greater than or equal to",[he]:"Is greater than",[ue]:"Is less than or equal to",[ge]:"Is less than",[fe]:"Is true",[me]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[ve]:"Is after",[Ce]:"Is before",[Ee]:"Is before or equal to",[G]:"No records available"};class Y extends n.Component{render(){return this.props.children||N.provideLocalizationService(this).toLanguageString(G,$[G])}}N.registerForLocalization(Y);const _=n.forwardRef((e,a)=>{const{isSelected:t,rowHeight:i,isAltRow:r,expanded:l,ariaRowIndex:c,level:d,ariaSetSize:g,ariaPosInSet:m}=e,b=u.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":r}),E=n.useMemo(()=>i!==void 0?{height:i+"px"}:void 0,[i]),w=n.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:b,style:E,ref:a,"aria-expanded":l,role:"row","aria-rowindex":c,"aria-level":d.length,"aria-posinset":m,"aria-setsize":g,[ie]:e.rowIndex},e.children);return n.createElement(n.Fragment,null,e.render?e.render.call(void 0,w,e):w)});_.displayName="KendoReactTreeListRow";const Ae={name:"@progress/kendo-react-treelist",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class J extends n.Component{constructor(a){super(a),this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=t=>{if(!this.element)return;const{rowIndex:i=0}=t,{scrollable:r,rowHeight:l=0}=this.props;if(r==="virtual"||l)this.element.scroll(0,(i-1)*l);else{const c=this.element.querySelector(`tbody > tr:nth-child(${i})`);if(c){const d=c.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},this.getExtendedColumn=u.memoizeOne((t,i)=>s.readColumns(t,{prevId:0,idPrefix:i})),this.getColumnsMap=u.memoizeOne(t=>s.mapColumns(t)),this.onKeyDown=t=>{if(s.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:i,cell:r}=s.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:i,cell:r,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,l)}},this.onFocus=t=>{s.tableKeyboardNavigation.onFocus(t,{contextStateRef:this.contextStateRef})},this.onRowDrag=t=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...t,target:this})},this.onRowDrop=t=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...t,target:this})},this.columnReorder=(t,i,r)=>{const l=this.extendedColumn[t].depth,c=g=>{do g++;while(g<this.extendedColumn.length&&this.extendedColumn[g].depth>l);return g},d=this.extendedColumn.splice(t,c(t)-t);if(this.extendedColumn.splice(t<i?c(i-d.length):i,0,...d),this.extendedColumn.filter(g=>g.declarationIndex>=0).forEach((g,m)=>g.orderIndex=m),this.props.onColumnReorder){const g={target:this,columns:this.columns,nativeEvent:r};this.props.onColumnReorder.call(void 0,g)}},this.onResize=(t,i,r,l,c)=>{if(this.props.onColumnResize){const d=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,b)=>m+=parseFloat(String(b.width)),0),g={columns:this.columns,totalWidth:d,index:t,nativeEvent:l,newWidth:i,oldWidth:r,end:c,target:this};this.props.onColumnResize.call(void 0,g)}},this.handleOnScroll=t=>{const i=t.currentTarget.scrollLeft,r=t.currentTarget.scrollTop,{columnVirtualization:l,scrollable:c,rowHeight:d=0}=this.props,g=d,m=0;let b=!1;l&&Math.abs(this.wrapperScrollLeft-i)>m&&(this.wrapperScrollLeft=i,b=!0),c==="virtual"&&Math.abs(this.wrapperScrollTop-r)>g&&(this.wrapperScrollTop=r,b=!0),b&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const i=Array.from(t.childNodes),r=i.find(d=>d.nodeName==="TABLE"),l=this.props.toolbar&&i.find(d=>d.nodeType===1&&d.classList.contains("k-grid-toolbar"));let c=0;if(l){const d=l.style.boxSizing;l.style.boxSizing="border-box",c=parseFloat(String(window.getComputedStyle(l).height))||l.offsetHeight,l.style.boxSizing=d,l.getAttribute("style")||l.removeAttribute("style")}this.tbodyOffsetTop=r.tBodies[0].offsetTop,ee(r,c)},this.itemChange=t=>{const i=this.props.onItemChange;if(t.field===this.props.expandField){const r=this.props.onExpandChange;if(r){const l={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};r.call(void 0,l)}return}if(i){const r={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};i.call(void 0,r)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const i={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,i)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...t};this.props.onSelectionChange.call(void 0,i)}},this.sortChange=(t,i,r)=>{this.raiseDataEvent(this.props.onSortChange,{sort:i,field:r},t)},this.headerFilterChange=(t,i,r)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:i,field:r},t)},this.filterChange=t=>{const{filter:i,field:r}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:i,field:r},t.syntheticEvent)},this.columnMenuFilterChange=(t,i,r)=>{const{onColumnMenuFilterChange:l}=this.props;if(!l)return;const c={syntheticEvent:t,filter:i,field:r,target:this,nativeEvent:t.nativeEvent};l.call(void 0,c)},this.expandChange=(t,i,r)=>{const{expandField:l,onExpandChange:c}=this.props;if(l&&c){const d={...this.getArguments(t),dataItem:i,level:r,value:this.expanded(i)};c.call(void 0,d)}},this.rowClick=(t,i)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,r)}},this.rowDoubleClick=(t,i)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,r)}},this.rowContextMenu=(t,i)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,r)}},this.onPageChange=t=>{if(this.props.onPageChange){const i={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,i)}},this.expandedSubItems=t=>{const i=[];return this.expanded(t)&&this.hasChildren(t)&&i.push(...u.getNestedValue(this.props.subItemsField,t)),i},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!u.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!u.getNestedValue(this.props.subItemsField,t),u.validatePackage(Ae),this.dragLogic=new s.CommonDragLogic(this.columnReorder,u.noop,u.noop),this.columnResize=new s.ColumnResize(this.onResize.bind(this)),s.tableKeyboardNavigation.onConstructor({navigatable:!!a.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(u.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),s.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(a){a.columns!==this.props.columns&&this.calculateSizes(this.element),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:a=[],filterRow:t,scrollable:i="scrollable",resizable:r=!1,reorderable:l=!1,skip:c,take:d}=this.props,g=a.some(f=>!!f.filter||!!f.filterCell)||t!==void 0,m=t||s.FilterRow,b=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(a,b),this.columnsMap=this.getColumnsMap(this.extendedColumn);const E=this.extendedColumn.filter(f=>f.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=r,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const w=n.createElement(s.Header,{headerRow:n.createElement(s.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.sortChange,selectionChange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.columnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,filterChange:this.headerFilterChange}),filterRow:g&&n.createElement(m,{columns:E,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),y=this.props.style||{},{colSpans:I,hiddenColumns:V}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:E,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((y.width||"").toString())}),x=(f,S,j,k,P,R)=>E.map((p,C)=>{if(V[C])return null;const F=p.id?p.id:C,Q=`${p.className?p.className+" ":""}${p.locked?"k-grid-content-sticky":""}`,D={id:s.tableKeyboardNavigationTools.generateNavigatableId(`${j}-${String(C)}`,b),colSpan:I[C],dataItem:f.dataItem,field:p.field,format:p.format,className:Q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?O=>{this.selectionChange({event:O,item:f,columnIndex:C,dataIndex:P})}:void 0,level:f.level,expandable:p.expandable,expanded:k,hasChildren:this.hasChildren(f.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:p.ariaColumnIndex,style:p.left!==void 0&&{left:p.left,right:p.right,borderRightWidth:p.rightBorder?"1px":""}||{},isSelected:Array.isArray(R)&&R.indexOf(C)>-1};return S&&p.editCell?n.createElement(p.editCell,{key:F,...D,onChange:this.itemChange}):p.cell?n.createElement(p.cell,{key:F,...D}):n.createElement(W,{key:F,...D})});let v=this.flatData;const q=v.length;c!==void 0&&d!==void 0&&(v=v.slice(c,c+d)),i==="virtual"&&(v=te({rows:v,tableViewPortHeight:parseFloat((y.height||y.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const Ye=v.map(f=>f.level),Je=this.columnsMap.length+(g?1:0)+1,Qe=v.length>0&&v.map((f,S)=>{const j=u.getNestedValue(this.props.editField,f.dataItem),k=this.props.dataItemKey&&u.getter(this.props.dataItemKey)(f.dataItem),P=String(k||f.level.join(".")),R=this.expanded(f.dataItem),p=this.props.selectedField?u.getNestedValue(this.props.selectedField,f.dataItem):void 0,C={key:P,level:f.level,levels:Ye,dataItem:f.dataItem,selectedField:this.props.selectedField,rowHeight:i==="virtual"?f.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:O=>this.rowClick(O,f),onDoubleClick:O=>this.rowDoubleClick(O,f),onContextMenu:O=>this.rowContextMenu(O,f),isAltRow:S%2!==0,expanded:R,rowIndex:S,ariaRowIndex:Je+S,ariaSetSize:f.levelCount,ariaPosInSet:f.level[f.level.length-1]+1,isSelected:typeof p=="boolean"&&p},F=this.props.editRow,Q=this.props.row||_,D=x(f,j,P,R,S,p);return j&&F?n.createElement(F,{...C,key:C.key},D):n.createElement(Q,{...C,key:C.key},D)})||n.createElement("tr",{className:"k-table-row k-grid-norecords"},n.createElement("td",{colSpan:E.length},this.props.noRecords||n.createElement(Y,null))),Ze=f=>this.props.sort&&this.props.sort.some(S=>S.field===f),et=n.createElement("colgroup",{ref:f=>{this.columnResize.colGroupMain=f}},E.map((f,S)=>n.createElement("col",{key:S.toString(),className:Ze(f.field)?"k-sorted":void 0,style:f.width!==void 0?{width:f.width}:void 0}))),tt=this.props.columnVirtualization||this.props.scrollable==="virtual",it=this.props.selectable&&this.props.selectable.drag?"none":void 0,Le=this.props.tableProps||{};return n.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},n.createElement("div",{id:this.props.id,style:this.props.style,className:u.classNames("k-grid k-grid-md","k-treelist",this.props.className,{"k-treelist-scrollable":i!=="none"}),ref:f=>this.element=f,onScroll:tt?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":q,"aria-colcount":E.length,role:"treegrid",...s.tableKeyboardNavigationScopeAttributes},this.props.toolbar,n.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},n.createElement("table",{className:"k-table k-table-md k-grid-table",...Le,style:{...Le.style||{},userSelect:it},role:"presentation"},et,w,n.createElement("tbody",{className:"k-table-tbody",...s.tableKeyboardNavigationBodyAttributes,role:"presentation"},Qe))),this.props.pager&&n.createElement(this.props.pager,{className:"k-grid-pager",total:q,skip:c,take:d,onPageChange:this.onPageChange}),l&&n.createElement(n.Fragment,null,n.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),n.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const a=this.extendedColumn.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1),t=i=>(i.sort((r,l)=>r.declarationIndex-l.declarationIndex),i.map(r=>{const{declarationIndex:l,parentIndex:c,depth:d,colSpan:g,rowSpan:m,index:b,kFirst:E,groupable:w,children:y,...I}=r;return y.length?{children:t(y),...I}:I}));return t(a)}get flatData(){const{data:a=[],rowHeight:t=0}=this.props;let i=0;const r=c=>{const d={height:t,offsetTop:i};return i+=d.height,d};let l=this.updateOnScroll&&this.prevData===a&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:s.flatData(a,this.expandedSubItems,r);return this.prevData=a,this.flattedData=l,l}selectionChange(a){if(this.props.onSelectionChange){const{event:t,item:i,dataIndex:r,columnIndex:l}=a,{mode:c,cell:d}=s.getSelectionOptions(this.props.selectable),g={...this.getArguments(t.syntheticEvent),dataItem:i.dataItem,level:i.level,startColIndex:l,endColIndex:l,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:c,cell:d,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,g)}}raiseDataEvent(a,t,i){const r=this.props.onDataStateChange;if(a)a.call(void 0,{...this.getArguments(i),...t});else if(r){const l={...this.getArguments(i),dataState:{...this.getDataState(),...t}};r.call(void 0,l)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(a){return{nativeEvent:a&&a.nativeEvent,syntheticEvent:a,target:this}}}J.propTypes={data:h.array,resizable:h.bool,reorderable:h.bool,sortable:h.oneOfType([h.bool,h.shape({mode:h.oneOf(["single","multiple"]),allowUnsort:h.bool})]),onSortChange:h.func,sort:h.array,columns:h.arrayOf(h.object),columnVirtualization:h.bool,filter:h.array,onFilterChange:h.func,filterRow:h.any,toolbar:h.any,noRecords:h.any,onExpandChange:h.func,expandField:h.string,subItemsField:h.string,selectedField:h.string,onSelectionChange:h.func,onHeaderSelectionChange:h.func,onRowClick:h.func,onItemChange:h.func,editField:h.string,scrollable:h.oneOf(["none","scrollable","virtual"]),rowHeight:h.number,style:h.object,tableProps:h.object,pager:h.any,skip:h.number,take:h.number,onPageChange:h.func,onDataStateChange:h.func,onColumnResize:h.func,onColumnReorder:h.func,dataItemKey:h.string,navigatable:h.bool},J.contextType=s.TableKeyboardNavigationContext;const Me=e=>n.createElement(s.HeaderCell,{...e}),Ie=e=>{const a=n.useCallback(c=>{e.selectionChange&&e.selectionChange({syntheticEvent:c})},[e.selectionChange]),t=u.useId(),i=u.getNestedValue(e.field,e.dataItem),r=s.useTableKeyboardNavigation(e.id),l=n.createElement("td",{style:e.style,className:u.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...r},n.createElement("input",{checked:typeof i=="boolean"&&i,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:a}),n.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,l,e):l};Ie.displayName="KendoReactTreeListSelectionCell";class ze extends n.Component{constructor(){super(...arguments),this._inputId=u.guid()}render(){return n.createElement(s.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const Be=e=>e.visible&&u.canUseDOM?Re.createPortal(n.createElement("div",{className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:e.top+"px",left:e.left+"px"}},n.createElement(u.IconWrap,{className:u.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?K.plusIcon:K.cancelIcon}),e.text),document.body):null;function _e(e,a,t){if(!e.originalEvent)return-1;let i=Se(e,"tr",t);if(i){const r=a?a.childNodes:[];for(let l=0;l<r.length;l++)if(r[l]===i)return l}return-1}function Se(e,a,t){let i=t?t.elementFromPoint(e.clientX,e.clientY):null;return a&&i?i.closest(a):null}const He="k-grid k-grid-md",xe={visible:!1,top:0,left:0,text:"",allowDrop:!1};class Ve extends n.Component{constructor(){super(...arguments),this.state={clueProps:{...xe}},this.draggable=n.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=a=>{if(!u.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,i=t?t.ownerDocument:document;if(!i)return;const r=a.event,l=this.dragged;if(t&&l){!r.isTouch&&r.type!=="scroll"&&r.originalEvent.preventDefault();const c=this.props.levels[_e(r,t.parentNode,i)];this.draggedOver=c;const d=c?!l.every((g,m)=>g===c[m]):!!Se(r,He,i);this.setState({clueProps:{visible:!0,top:r.pageY+10,left:r.pageX,text:t.innerText,allowDrop:d}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:r.originalEvent,dragged:l,draggedOver:c,draggedItem:this.props.dataItem})}},this.onRelease=a=>{const t=a.event;if(this.dragged){const i=[...this.dragged],r=this.draggedOver&&[...this.draggedOver],l=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...xe}});const c=this.props.dataItem;l&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:i,draggedOver:r,draggedItem:c})}}}render(){const{clueProps:a}=this.state;return n.createElement(n.Fragment,null,n.createElement(u.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},n.createElement(_,{...this.props})),n.createElement(Be,{...a}))}}class qe extends n.Component{render(){return n.createElement("div",{className:"k-toolbar k-toolbar-md k-grid-toolbar"},this.props.children)}}const je=[{text:se,operator:"contains"},{text:oe,operator:"doesnotcontain"},{text:A,operator:"eq"},{text:M,operator:"neq"},{text:ne,operator:"startswith"},{text:ce,operator:"endswith"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"},{text:le,operator:"isempty"},{text:ae,operator:"isnotempty"}],ke=[{text:A,operator:"eq"},{text:M,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"}],Pe=[{text:A,operator:"eq"},{text:M,operator:"neq"},{text:be,operator:"gte"},{text:ve,operator:"gt"},{text:Ce,operator:"lt"},{text:Ee,operator:"lte"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"}],Ue=[{text:pe,operator:""},{text:fe,operator:!0},{text:me,operator:!1}];function H(e,a){return{clearButtonTitle:e.toLanguageString(X,$[X]),operators:a.map(t=>({text:e.toLanguageString(t.text,$[t.text]),operator:t.operator}))}}const We=function(e){const{operators:a,...t}=e;return n.createElement(s.TextFilterCell,{ariaLabel:"text filter",...H(N.useLocalization(),a||je),...t})},Xe=function(e){const{operators:a,...t}=e;return n.createElement(s.NumericFilterCell,{ariaLabel:"numeric filter",...H(N.useLocalization(),a||ke),...t})},Ge=function(e){const{operators:a,...t}=e;return n.createElement(s.DateFilterCell,{ariaLabel:"date filter",...H(N.useLocalization(),a||Pe),...t})},$e=function(e){const{operators:a,...t}=e;return n.createElement(s.BooleanFilterCell,{ariaLabel:"boolean filter",...H(N.useLocalization(),a||Ue),...t})},we=e=>{const a=n.useCallback(l=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:l,value:l.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className),r=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement("input",{style:{width:"100%"},className:"k-input",value:u.getNestedValue(e.field,e.dataItem)||"",onChange:a}));return e.render?e.render.call(void 0,r,e):r};we.displayName="KendoReactTreeListTextEditor";const ye=e=>{const a=n.useCallback(c=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:c.syntheticEvent,value:c.value})},[e.onChange,e.dataItem,e.level,e.field]),t=u.getNestedValue(e.field,e.dataItem),i=s.useTableKeyboardNavigation(e.id),r=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...i,[L]:e.colIndex},n.createElement(De.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:a}));return e.render?e.render.call(void 0,l,e):l};ye.displayName="KendoReactTreeListNumericEditor";const Ne=e=>{const a=n.useCallback(c=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:c,value:c.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=u.useId(),i=s.useTableKeyboardNavigation(e.id),r=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...i,[L]:e.colIndex},n.createElement("input",{checked:u.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:a}),n.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,l,e):l};Ne.displayName="KendoReactTreeListBooleanEditor";const Oe=e=>{const a=n.useCallback(l=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:l.syntheticEvent,value:l.value})},[e.onChange,e.dataItem,e.level,e.field]),t=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className);let r=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement(Te.DatePicker,{width:"100%",value:u.getNestedValue(e.field,e.dataItem),onChange:a}));return e.render?e.render.call(void 0,r,e):r};Oe.displayName="KendoReactTreeListDateEditor",Object.defineProperty(o,"getNestedValue",{enumerable:!0,get:()=>u.getNestedValue}),Object.defineProperty(o,"mapTree",{enumerable:!0,get:()=>u.mapTree}),Object.defineProperty(o,"mapTreeItem",{enumerable:!0,get:()=>u.mapTreeItem}),Object.defineProperty(o,"createDataTree",{enumerable:!0,get:()=>s.createDataTree}),Object.defineProperty(o,"extendDataItem",{enumerable:!0,get:()=>s.extendDataItem}),Object.defineProperty(o,"filterBy",{enumerable:!0,get:()=>s.filterBy}),Object.defineProperty(o,"flatData",{enumerable:!0,get:()=>s.flatData}),Object.defineProperty(o,"getItemPath",{enumerable:!0,get:()=>s.getItemPath}),Object.defineProperty(o,"getSelectedState",{enumerable:!0,get:()=>s.getSelectedState}),Object.defineProperty(o,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>s.getSelectedStateFromKeyDown}),Object.defineProperty(o,"modifySubItems",{enumerable:!0,get:()=>s.modifySubItems}),Object.defineProperty(o,"moveTreeItem",{enumerable:!0,get:()=>s.moveTreeItem}),Object.defineProperty(o,"orderBy",{enumerable:!0,get:()=>s.orderBy}),Object.defineProperty(o,"removeItems",{enumerable:!0,get:()=>s.removeItems}),Object.defineProperty(o,"setSelectedState",{enumerable:!0,get:()=>s.setSelectedState}),Object.defineProperty(o,"treeToFlat",{enumerable:!0,get:()=>s.treeToFlat}),o.TREELIST_COL_INDEX_ATTRIBUTE=L,o.TREELIST_PREVENT_SELECTION_ELEMENT=re,o.TREELIST_ROW_INDEX_ATTRIBUTE=ie,o.TreeList=J,o.TreeListBooleanEditor=Ne,o.TreeListBooleanFilter=$e,o.TreeListCell=W,o.TreeListDateEditor=Oe,o.TreeListDateFilter=Ge,o.TreeListDraggableRow=Ve,o.TreeListHeaderCell=Me,o.TreeListHeaderSelectionCell=ze,o.TreeListNoRecords=Y,o.TreeListNumericEditor=ye,o.TreeListNumericFilter=Xe,o.TreeListRow=_,o.TreeListSelectionCell=Ie,o.TreeListTextEditor=we,o.TreeListTextFilter=We,o.TreeListToolbar=qe,o.setHeaderRowsTop=ee,o.tableRowsVirtualization=te,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
package/index.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=require("react"),d=require("prop-types"),h=require("@progress/kendo-react-common"),i=require("@progress/kendo-react-data-tools"),R=require("@progress/kendo-react-intl"),M=require("@progress/kendo-svg-icons"),Ae=require("react-dom"),Me=require("@progress/kendo-react-inputs"),Ke=require("@progress/kendo-react-dateinputs");function Z(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(l,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return l.default=e,Object.freeze(l)}const r=Z(Pe),ze=Z(Ae);function Be(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,l,t){const a=Array.from(e.tHead&&e.tHead.rows||[]),n=[l];let o;const s=t||(c=>window.getComputedStyle(c).height||void 0);a.forEach(c=>{let u=s(c);n.push(Be(u)?parseFloat(String(u)):c.offsetHeight)});for(let c=0;c<a.length;c++)o=n.slice(0,c+1).reduce((u,m)=>u+m),Array.from(a[c].cells).forEach(u=>u.style.top=o+"px")}const j=1e6;function te(e){const{rows:l,tableViewPortHeight:t,scrollTop:a}=e;if(l.length===0)return[];const n=l[0].height,o=Math.min(Math.round(a/n),l.length),s=Math.round(t/n),c=Math.max(0,o-s),u=Math.min(l.length,o+2*s),m=l.slice(c,u),p=m[m.length-1];return c>0&&m.unshift({dataItem:{},level:[j],offsetTop:0,height:m[0].offsetTop,levelCount:0}),u<l.length-1&&m.push({dataItem:{},level:[j,j],offsetTop:p.offsetTop+p.height,height:(l.length-u)*n,levelCount:0}),m}const ae=i.TABLE_ROW_INDEX_ATTRIBUTE,D=i.TABLE_COL_INDEX_ATTRIBUTE,ne=i.TABLE_PREVENT_SELECTION_ELEMENT,G=e=>{const{hasChildren:l,level:t=[0],expanded:a,dataItem:n,format:o,id:s,ariaColumnIndex:c,isSelected:u}=e,m=h.getNestedValue(e.field,n),p=R.useInternationalization(),v=i.useTableKeyboardNavigation(s);let y="";const S=r.useCallback(I=>{I.isDefaultPrevented()||I.keyCode===h.Keys.enter&&e.expandable&&(I.preventDefault(),e.onExpandChange(I,n,t))},[e.expandable,n,t]);m!=null&&(y=o?p.format(o,m):m.toString());const x=[];if(e.expandable){const I=b=>r.createElement("span",{key:b,className:"k-treelist-toggle k-icon k-svg-icon"},r.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));x.push(...t.slice(1).map((b,L)=>I(L))),l?x.push(r.createElement(h.IconWrap,{className:"k-treelist-toggle",name:a?"caret-alt-down":"caret-alt-right",icon:a?M.caretAltDownIcon:M.caretAltRightIcon,key:"expand-collapse",onClick:b=>e.onExpandChange(b.syntheticEvent||b,n,t),[ne]:!0})):x.push(I(x.length))}const O=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className,{["k-text-nowrap"]:e.expandable,["k-selected"]:u}),colSpan:e.colSpan,"aria-colindex":c,"aria-expanded":l?a:void 0,"aria-selected":u,role:"gridcell",onKeyDown:S,[D]:e.colIndex,...v},x,y);return e.render?e.render.call(void 0,O,e):O};G.displayName="KendoReactTreeListCell";const U="treelist.filterClearButton",K="treelist.filterEqOperator",z="treelist.filterNotEqOperator",B="treelist.filterIsNullOperator",_="treelist.filterIsNotNullOperator",oe="treelist.filterIsEmptyOperator",le="treelist.filterIsNotEmptyOperator",re="treelist.filterStartsWithOperator",ie="treelist.filterContainsOperator",se="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",me="treelist.filterIsTrue",fe="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",Ce="treelist.filterAfterOperator",ve="treelist.filterBeforeOperator",xe="treelist.filterBeforeOrEqualOperator",W="treelist.noRecords",X={[U]:"Clear",[K]:"Is equal to",[z]:"Is not equal to",[B]:"Is null",[_]:"Is not null",[oe]:"Is empty",[le]:"Is not empty",[re]:"Starts with",[ie]:"Contains",[se]:"Does not contain",[ce]:"Ends with",[de]:"Is greater than or equal to",[he]:"Is greater than",[ue]:"Is less than or equal to",[ge]:"Is less than",[me]:"Is true",[fe]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[Ce]:"Is after",[ve]:"Is before",[xe]:"Is before or equal to",[W]:"No records available"};class $ extends r.Component{render(){return this.props.children||R.provideLocalizationService(this).toLanguageString(W,X[W])}}R.registerForLocalization($);const H=r.forwardRef((e,l)=>{const{isSelected:t,rowHeight:a,isAltRow:n,expanded:o,ariaRowIndex:s,level:c,ariaSetSize:u,ariaPosInSet:m}=e,p=h.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":n}),v=r.useMemo(()=>a!==void 0?{height:a+"px"}:void 0,[a]),y=r.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:p,style:v,ref:l,"aria-expanded":o,role:"row","aria-rowindex":s,"aria-level":c.length,"aria-posinset":m,"aria-setsize":u,[ae]:e.rowIndex},e.children);return r.createElement(r.Fragment,null,e.render?e.render.call(void 0,y,e):y)});H.displayName="KendoReactTreeListRow";const _e={name:"@progress/kendo-react-treelist",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class Y extends r.Component{constructor(l){super(l),this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=t=>{if(!this.element)return;const{rowIndex:a=0}=t,{scrollable:n,rowHeight:o=0}=this.props;if(n==="virtual"||o)this.element.scroll(0,(a-1)*o);else{const s=this.element.querySelector(`tbody > tr:nth-child(${a})`);if(s){const c=s.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,c)}}},this.getExtendedColumn=h.memoizeOne((t,a)=>i.readColumns(t,{prevId:0,idPrefix:a})),this.getColumnsMap=h.memoizeOne(t=>i.mapColumns(t)),this.onKeyDown=t=>{if(i.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:a,cell:n}=i.getSelectionOptions(this.props.selectable),o={dataItems:this.getLeafDataItems(),mode:a,cell:n,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,o)}},this.onFocus=t=>{i.tableKeyboardNavigation.onFocus(t,{contextStateRef:this.contextStateRef})},this.onRowDrag=t=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...t,target:this})},this.onRowDrop=t=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...t,target:this})},this.columnReorder=(t,a,n)=>{const o=this.extendedColumn[t].depth,s=u=>{do u++;while(u<this.extendedColumn.length&&this.extendedColumn[u].depth>o);return u},c=this.extendedColumn.splice(t,s(t)-t);if(this.extendedColumn.splice(t<a?s(a-c.length):a,0,...c),this.extendedColumn.filter(u=>u.declarationIndex>=0).forEach((u,m)=>u.orderIndex=m),this.props.onColumnReorder){const u={target:this,columns:this.columns,nativeEvent:n};this.props.onColumnReorder.call(void 0,u)}},this.onResize=(t,a,n,o,s)=>{if(this.props.onColumnResize){const c=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,p)=>m+=parseFloat(String(p.width)),0),u={columns:this.columns,totalWidth:c,index:t,nativeEvent:o,newWidth:a,oldWidth:n,end:s,target:this};this.props.onColumnResize.call(void 0,u)}},this.handleOnScroll=t=>{const a=t.currentTarget.scrollLeft,n=t.currentTarget.scrollTop,{columnVirtualization:o,scrollable:s,rowHeight:c=0}=this.props,u=c,m=0;let p=!1;o&&Math.abs(this.wrapperScrollLeft-a)>m&&(this.wrapperScrollLeft=a,p=!0),s==="virtual"&&Math.abs(this.wrapperScrollTop-n)>u&&(this.wrapperScrollTop=n,p=!0),p&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const a=Array.from(t.childNodes),n=a.find(c=>c.nodeName==="TABLE"),o=this.props.toolbar&&a.find(c=>c.nodeType===1&&c.classList.contains("k-grid-toolbar"));let s=0;if(o){const c=o.style.boxSizing;o.style.boxSizing="border-box",s=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=c,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=n.tBodies[0].offsetTop,ee(n,s)},this.itemChange=t=>{const a=this.props.onItemChange;if(t.field===this.props.expandField){const n=this.props.onExpandChange;if(n){const o={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};n.call(void 0,o)}return}if(a){const n={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};a.call(void 0,n)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const a={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,a)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const a={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...t};this.props.onSelectionChange.call(void 0,a)}},this.sortChange=(t,a,n)=>{this.raiseDataEvent(this.props.onSortChange,{sort:a,field:n},t)},this.headerFilterChange=(t,a,n)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t)},this.filterChange=t=>{const{filter:a,field:n}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t.syntheticEvent)},this.columnMenuFilterChange=(t,a,n)=>{const{onColumnMenuFilterChange:o}=this.props;if(!o)return;const s={syntheticEvent:t,filter:a,field:n,target:this,nativeEvent:t.nativeEvent};o.call(void 0,s)},this.expandChange=(t,a,n)=>{const{expandField:o,onExpandChange:s}=this.props;if(o&&s){const c={...this.getArguments(t),dataItem:a,level:n,value:this.expanded(a)};s.call(void 0,c)}},this.rowClick=(t,a)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,n)}},this.rowDoubleClick=(t,a)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,n)}},this.rowContextMenu=(t,a)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,n)}},this.onPageChange=t=>{if(this.props.onPageChange){const a={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,a)}},this.expandedSubItems=t=>{const a=[];return this.expanded(t)&&this.hasChildren(t)&&a.push(...h.getNestedValue(this.props.subItemsField,t)),a},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!h.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!h.getNestedValue(this.props.subItemsField,t),h.validatePackage(_e),this.dragLogic=new i.CommonDragLogic(this.columnReorder,h.noop,h.noop),this.columnResize=new i.ColumnResize(this.onResize.bind(this)),i.tableKeyboardNavigation.onConstructor({navigatable:!!l.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(h.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(l){l.columns!==this.props.columns&&this.calculateSizes(this.element),i.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:l=[],filterRow:t,scrollable:a="scrollable",resizable:n=!1,reorderable:o=!1,skip:s,take:c}=this.props,u=l.some(g=>!!g.filter||!!g.filterCell)||t!==void 0,m=t||i.FilterRow,p=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(l,p),this.columnsMap=this.getColumnsMap(this.extendedColumn);const v=this.extendedColumn.filter(g=>g.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=n,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=o,this.dragLogic.groupable=!1;const y=r.createElement(i.Header,{headerRow:r.createElement(i.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.sortChange,selectionChange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.columnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,filterChange:this.headerFilterChange}),filterRow:u&&r.createElement(m,{columns:v,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),S=this.props.style||{},{colSpans:x,hiddenColumns:O}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:v,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((S.width||"").toString())}),I=(g,E,F,P,A,k)=>v.map((f,C)=>{if(O[C])return null;const w=f.id?f.id:C,q=`${f.className?f.className+" ":""}${f.locked?"k-grid-content-sticky":""}`,N={id:i.tableKeyboardNavigationTools.generateNavigatableId(`${F}-${String(C)}`,p),colSpan:x[C],dataItem:g.dataItem,field:f.field,format:f.format,className:q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?T=>{this.selectionChange({event:T,item:g,columnIndex:C,dataIndex:A})}:void 0,level:g.level,expandable:f.expandable,expanded:P,hasChildren:this.hasChildren(g.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:f.ariaColumnIndex,style:f.left!==void 0&&{left:f.left,right:f.right,borderRightWidth:f.rightBorder?"1px":""}||{},isSelected:Array.isArray(k)&&k.indexOf(C)>-1};return E&&f.editCell?r.createElement(f.editCell,{key:w,...N,onChange:this.itemChange}):f.cell?r.createElement(f.cell,{key:w,...N}):r.createElement(G,{key:w,...N})});let b=this.flatData;const L=b.length;s!==void 0&&c!==void 0&&(b=b.slice(s,s+c)),a==="virtual"&&(b=te({rows:b,tableViewPortHeight:parseFloat((S.height||S.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const we=b.map(g=>g.level),Ne=this.columnsMap.length+(u?1:0)+1,De=b.length>0&&b.map((g,E)=>{const F=h.getNestedValue(this.props.editField,g.dataItem),P=this.props.dataItemKey&&h.getter(this.props.dataItemKey)(g.dataItem),A=String(P||g.level.join(".")),k=this.expanded(g.dataItem),f=this.props.selectedField?h.getNestedValue(this.props.selectedField,g.dataItem):void 0,C={key:A,level:g.level,levels:we,dataItem:g.dataItem,selectedField:this.props.selectedField,rowHeight:a==="virtual"?g.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:T=>this.rowClick(T,g),onDoubleClick:T=>this.rowDoubleClick(T,g),onContextMenu:T=>this.rowContextMenu(T,g),isAltRow:E%2!==0,expanded:k,rowIndex:E,ariaRowIndex:Ne+E,ariaSetSize:g.levelCount,ariaPosInSet:g.level[g.level.length-1]+1,isSelected:typeof f=="boolean"&&f},w=this.props.editRow,q=this.props.row||H,N=I(g,F,A,k,E,f);return F&&w?r.createElement(w,{...C,key:C.key},N):r.createElement(q,{...C,key:C.key},N)})||r.createElement("tr",{className:"k-table-row k-grid-norecords"},r.createElement("td",{colSpan:v.length},this.props.noRecords||r.createElement($,null))),ke=g=>this.props.sort&&this.props.sort.some(E=>E.field===g),Oe=r.createElement("colgroup",{ref:g=>{this.columnResize.colGroupMain=g}},v.map((g,E)=>r.createElement("col",{key:E.toString(),className:ke(g.field)?"k-sorted":void 0,style:g.width!==void 0?{width:g.width}:void 0}))),Le=this.props.columnVirtualization||this.props.scrollable==="virtual",Fe=this.props.selectable&&this.props.selectable.drag?"none":void 0,J=this.props.tableProps||{};return r.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:this.props.style,className:h.classNames("k-grid k-grid-md",this.props.className,{"k-treelist-scrollable":a!=="none"}),ref:g=>this.element=g,onScroll:Le?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":L,"aria-colcount":v.length,role:"treegrid",...i.tableKeyboardNavigationScopeAttributes},this.props.toolbar,r.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},r.createElement("table",{className:"k-table k-table-md k-grid-table",...J,style:{...J.style||{},userSelect:Fe},role:"presentation"},Oe,y,r.createElement("tbody",{className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes,role:"presentation"},De))),this.props.pager&&r.createElement(this.props.pager,{className:"k-grid-pager",total:L,skip:s,take:c,onPageChange:this.onPageChange}),o&&r.createElement(r.Fragment,null,r.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const l=this.extendedColumn.filter(a=>a.declarationIndex>=0&&a.parentIndex===-1),t=a=>(a.sort((n,o)=>n.declarationIndex-o.declarationIndex),a.map(n=>{const{declarationIndex:o,parentIndex:s,depth:c,colSpan:u,rowSpan:m,index:p,kFirst:v,groupable:y,children:S,...x}=n;return S.length?{children:t(S),...x}:x}));return t(l)}get flatData(){const{data:l=[],rowHeight:t=0}=this.props;let a=0;const n=s=>{const c={height:t,offsetTop:a};return a+=c.height,c};let o=this.updateOnScroll&&this.prevData===l&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:i.flatData(l,this.expandedSubItems,n);return this.prevData=l,this.flattedData=o,o}selectionChange(l){if(this.props.onSelectionChange){const{event:t,item:a,dataIndex:n,columnIndex:o}=l,{mode:s,cell:c}=i.getSelectionOptions(this.props.selectable),u={...this.getArguments(t.syntheticEvent),dataItem:a.dataItem,level:a.level,startColIndex:o,endColIndex:o,startRowIndex:n,endRowIndex:n,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:s,cell:c,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,u)}}raiseDataEvent(l,t,a){const n=this.props.onDataStateChange;if(l)l.call(void 0,{...this.getArguments(a),...t});else if(n){const o={...this.getArguments(a),dataState:{...this.getDataState(),...t}};n.call(void 0,o)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(l){return{nativeEvent:l&&l.nativeEvent,syntheticEvent:l,target:this}}}Y.propTypes={data:d.array,resizable:d.bool,reorderable:d.bool,sortable:d.oneOfType([d.bool,d.shape({mode:d.oneOf(["single","multiple"]),allowUnsort:d.bool})]),onSortChange:d.func,sort:d.array,columns:d.arrayOf(d.object),columnVirtualization:d.bool,filter:d.array,onFilterChange:d.func,filterRow:d.any,toolbar:d.any,noRecords:d.any,onExpandChange:d.func,expandField:d.string,subItemsField:d.string,selectedField:d.string,onSelectionChange:d.func,onHeaderSelectionChange:d.func,onRowClick:d.func,onItemChange:d.func,editField:d.string,scrollable:d.oneOf(["none","scrollable","virtual"]),rowHeight:d.number,style:d.object,tableProps:d.object,pager:d.any,skip:d.number,take:d.number,onPageChange:d.func,onDataStateChange:d.func,onColumnResize:d.func,onColumnReorder:d.func,dataItemKey:d.string,navigatable:d.bool};Y.contextType=i.TableKeyboardNavigationContext;const He=e=>r.createElement(i.HeaderCell,{...e}),Ee=e=>{const l=r.useCallback(s=>{e.selectionChange&&e.selectionChange({syntheticEvent:s})},[e.selectionChange]),t=h.useId(),a=h.getNestedValue(e.field,e.dataItem),n=i.useTableKeyboardNavigation(e.id),o=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...n},r.createElement("input",{checked:typeof a=="boolean"&&a,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Ee.displayName="KendoReactTreeListSelectionCell";class Ve extends r.Component{constructor(){super(...arguments),this._inputId=h.guid()}render(){return r.createElement(i.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const qe=e=>e.visible&&h.canUseDOM?ze.createPortal(r.createElement("div",{className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:e.top+"px",left:e.left+"px"}},r.createElement(h.IconWrap,{className:h.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?M.plusIcon:M.cancelIcon}),e.text),document.body):null;function je(e,l,t){if(!e.originalEvent)return-1;let a=Ie(e,"tr",t);if(a){const n=l?l.childNodes:[];for(let o=0;o<n.length;o++)if(n[o]===a)return o}return-1}function Ie(e,l,t){let a=t?t.elementFromPoint(e.clientX,e.clientY):null;return l&&a?a.closest(l):null}const Ue="k-grid k-grid-md",Q={visible:!1,top:0,left:0,text:"",allowDrop:!1};class We extends r.Component{constructor(){super(...arguments),this.state={clueProps:{...Q}},this.draggable=r.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=l=>{if(!h.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,a=t?t.ownerDocument:document;if(!a)return;const n=l.event,o=this.dragged;if(t&&o){!n.isTouch&&n.type!=="scroll"&&n.originalEvent.preventDefault();const s=this.props.levels[je(n,t.parentNode,a)];this.draggedOver=s;const c=s?!o.every((u,m)=>u===s[m]):!!Ie(n,Ue,a);this.setState({clueProps:{visible:!0,top:n.pageY+10,left:n.pageX,text:t.innerText,allowDrop:c}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:n.originalEvent,dragged:o,draggedOver:s,draggedItem:this.props.dataItem})}},this.onRelease=l=>{const t=l.event;if(this.dragged){const a=[...this.dragged],n=this.draggedOver&&[...this.draggedOver],o=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...Q}});const s=this.props.dataItem;o&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:a,draggedOver:n,draggedItem:s})}}}render(){const{clueProps:l}=this.state;return r.createElement(r.Fragment,null,r.createElement(h.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},r.createElement(H,{...this.props})),r.createElement(qe,{...l}))}}class Xe extends r.Component{render(){return r.createElement("div",{className:"k-toolbar k-grid-toolbar"},this.props.children)}}const Ge=[{text:ie,operator:"contains"},{text:se,operator:"doesnotcontain"},{text:K,operator:"eq"},{text:z,operator:"neq"},{text:re,operator:"startswith"},{text:ce,operator:"endswith"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"},{text:oe,operator:"isempty"},{text:le,operator:"isnotempty"}],$e=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Ye=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:be,operator:"gte"},{text:Ce,operator:"gt"},{text:ve,operator:"lt"},{text:xe,operator:"lte"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Je=[{text:pe,operator:""},{text:me,operator:!0},{text:fe,operator:!1}];function V(e,l){return{clearButtonTitle:e.toLanguageString(U,X[U]),operators:l.map(t=>({text:e.toLanguageString(t.text,X[t.text]),operator:t.operator}))}}const Qe=function(e){const{operators:l,...t}=e;return r.createElement(i.TextFilterCell,{ariaLabel:"text filter",...V(R.useLocalization(),l||Ge),...t})},Ze=function(e){const{operators:l,...t}=e;return r.createElement(i.NumericFilterCell,{ariaLabel:"numeric filter",...V(R.useLocalization(),l||$e),...t})},et=function(e){const{operators:l,...t}=e;return r.createElement(i.DateFilterCell,{ariaLabel:"date filter",...V(R.useLocalization(),l||Ye),...t})},tt=function(e){const{operators:l,...t}=e;return r.createElement(i.BooleanFilterCell,{ariaLabel:"boolean filter",...V(R.useLocalization(),l||Je),...t})},ye=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o,value:o.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className),n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement("input",{style:{width:"100%"},className:"k-input",value:h.getNestedValue(e.field,e.dataItem)||"",onChange:l}));return e.render?e.render.call(void 0,n,e):n};ye.displayName="KendoReactTreeListTextEditor";const Se=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s.syntheticEvent,value:s.value})},[e.onChange,e.dataItem,e.level,e.field]),t=h.getNestedValue(e.field,e.dataItem),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement(Me.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:l}));return e.render?e.render.call(void 0,o,e):o};Se.displayName="KendoReactTreeListNumericEditor";const Te=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s,value:s.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=h.useId(),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement("input",{checked:h.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Te.displayName="KendoReactTreeListBooleanEditor";const Re=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o.syntheticEvent,value:o.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className);let n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement(Ke.DatePicker,{width:"100%",value:h.getNestedValue(e.field,e.dataItem),onChange:l}));return e.render?e.render.call(void 0,n,e):n};Re.displayName="KendoReactTreeListDateEditor";Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:()=>h.getNestedValue});Object.defineProperty(exports,"mapTree",{enumerable:!0,get:()=>h.mapTree});Object.defineProperty(exports,"mapTreeItem",{enumerable:!0,get:()=>h.mapTreeItem});Object.defineProperty(exports,"createDataTree",{enumerable:!0,get:()=>i.createDataTree});Object.defineProperty(exports,"extendDataItem",{enumerable:!0,get:()=>i.extendDataItem});Object.defineProperty(exports,"filterBy",{enumerable:!0,get:()=>i.filterBy});Object.defineProperty(exports,"flatData",{enumerable:!0,get:()=>i.flatData});Object.defineProperty(exports,"getItemPath",{enumerable:!0,get:()=>i.getItemPath});Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>i.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>i.getSelectedStateFromKeyDown});Object.defineProperty(exports,"modifySubItems",{enumerable:!0,get:()=>i.modifySubItems});Object.defineProperty(exports,"moveTreeItem",{enumerable:!0,get:()=>i.moveTreeItem});Object.defineProperty(exports,"orderBy",{enumerable:!0,get:()=>i.orderBy});Object.defineProperty(exports,"removeItems",{enumerable:!0,get:()=>i.removeItems});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>i.setSelectedState});Object.defineProperty(exports,"treeToFlat",{enumerable:!0,get:()=>i.treeToFlat});exports.TREELIST_COL_INDEX_ATTRIBUTE=D;exports.TREELIST_PREVENT_SELECTION_ELEMENT=ne;exports.TREELIST_ROW_INDEX_ATTRIBUTE=ae;exports.TreeList=Y;exports.TreeListBooleanEditor=Te;exports.TreeListBooleanFilter=tt;exports.TreeListCell=G;exports.TreeListDateEditor=Re;exports.TreeListDateFilter=et;exports.TreeListDraggableRow=We;exports.TreeListHeaderCell=He;exports.TreeListHeaderSelectionCell=Ve;exports.TreeListNoRecords=$;exports.TreeListNumericEditor=Se;exports.TreeListNumericFilter=Ze;exports.TreeListRow=H;exports.TreeListSelectionCell=Ee;exports.TreeListTextEditor=ye;exports.TreeListTextFilter=Qe;exports.TreeListToolbar=Xe;exports.setHeaderRowsTop=ee;exports.tableRowsVirtualization=te;
|
|
5
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=require("react"),d=require("prop-types"),h=require("@progress/kendo-react-common"),i=require("@progress/kendo-react-data-tools"),R=require("@progress/kendo-react-intl"),M=require("@progress/kendo-svg-icons"),Ae=require("react-dom"),Me=require("@progress/kendo-react-inputs"),Ke=require("@progress/kendo-react-dateinputs");function Z(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(l,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return l.default=e,Object.freeze(l)}const r=Z(Pe),ze=Z(Ae);function Be(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,l,t){const a=Array.from(e.tHead&&e.tHead.rows||[]),n=[l];let o;const s=t||(c=>window.getComputedStyle(c).height||void 0);a.forEach(c=>{let u=s(c);n.push(Be(u)?parseFloat(String(u)):c.offsetHeight)});for(let c=0;c<a.length;c++)o=n.slice(0,c+1).reduce((u,m)=>u+m),Array.from(a[c].cells).forEach(u=>u.style.top=o+"px")}const j=1e6;function te(e){const{rows:l,tableViewPortHeight:t,scrollTop:a}=e;if(l.length===0)return[];const n=l[0].height,o=Math.min(Math.round(a/n),l.length),s=Math.round(t/n),c=Math.max(0,o-s),u=Math.min(l.length,o+2*s),m=l.slice(c,u),p=m[m.length-1];return c>0&&m.unshift({dataItem:{},level:[j],offsetTop:0,height:m[0].offsetTop,levelCount:0}),u<l.length-1&&m.push({dataItem:{},level:[j,j],offsetTop:p.offsetTop+p.height,height:(l.length-u)*n,levelCount:0}),m}const ae=i.TABLE_ROW_INDEX_ATTRIBUTE,D=i.TABLE_COL_INDEX_ATTRIBUTE,ne=i.TABLE_PREVENT_SELECTION_ELEMENT,G=e=>{const{hasChildren:l,level:t=[0],expanded:a,dataItem:n,format:o,id:s,ariaColumnIndex:c,isSelected:u}=e,m=h.getNestedValue(e.field,n),p=R.useInternationalization(),v=i.useTableKeyboardNavigation(s);let y="";const S=r.useCallback(I=>{I.isDefaultPrevented()||I.keyCode===h.Keys.enter&&e.expandable&&(I.preventDefault(),e.onExpandChange(I,n,t))},[e.expandable,n,t]);m!=null&&(y=o?p.format(o,m):m.toString());const x=[];if(e.expandable){const I=b=>r.createElement("span",{key:b,className:"k-treelist-toggle k-icon k-svg-icon"},r.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));x.push(...t.slice(1).map((b,L)=>I(L))),l?x.push(r.createElement(h.IconWrap,{className:"k-treelist-toggle",name:a?"caret-alt-down":"caret-alt-right",icon:a?M.caretAltDownIcon:M.caretAltRightIcon,key:"expand-collapse",onClick:b=>e.onExpandChange(b.syntheticEvent||b,n,t),[ne]:!0})):x.push(I(x.length))}const O=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":u}),colSpan:e.colSpan,"aria-colindex":c,"aria-expanded":l?a:void 0,"aria-selected":u,role:"gridcell",onKeyDown:S,[D]:e.colIndex,...v},x,y);return e.render?e.render.call(void 0,O,e):O};G.displayName="KendoReactTreeListCell";const U="treelist.filterClearButton",K="treelist.filterEqOperator",z="treelist.filterNotEqOperator",B="treelist.filterIsNullOperator",_="treelist.filterIsNotNullOperator",oe="treelist.filterIsEmptyOperator",le="treelist.filterIsNotEmptyOperator",re="treelist.filterStartsWithOperator",ie="treelist.filterContainsOperator",se="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",me="treelist.filterIsTrue",fe="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",Ce="treelist.filterAfterOperator",ve="treelist.filterBeforeOperator",xe="treelist.filterBeforeOrEqualOperator",W="treelist.noRecords",X={[U]:"Clear",[K]:"Is equal to",[z]:"Is not equal to",[B]:"Is null",[_]:"Is not null",[oe]:"Is empty",[le]:"Is not empty",[re]:"Starts with",[ie]:"Contains",[se]:"Does not contain",[ce]:"Ends with",[de]:"Is greater than or equal to",[he]:"Is greater than",[ue]:"Is less than or equal to",[ge]:"Is less than",[me]:"Is true",[fe]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[Ce]:"Is after",[ve]:"Is before",[xe]:"Is before or equal to",[W]:"No records available"};class $ extends r.Component{render(){return this.props.children||R.provideLocalizationService(this).toLanguageString(W,X[W])}}R.registerForLocalization($);const H=r.forwardRef((e,l)=>{const{isSelected:t,rowHeight:a,isAltRow:n,expanded:o,ariaRowIndex:s,level:c,ariaSetSize:u,ariaPosInSet:m}=e,p=h.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":n}),v=r.useMemo(()=>a!==void 0?{height:a+"px"}:void 0,[a]),y=r.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:p,style:v,ref:l,"aria-expanded":o,role:"row","aria-rowindex":s,"aria-level":c.length,"aria-posinset":m,"aria-setsize":u,[ae]:e.rowIndex},e.children);return r.createElement(r.Fragment,null,e.render?e.render.call(void 0,y,e):y)});H.displayName="KendoReactTreeListRow";const _e={name:"@progress/kendo-react-treelist",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class Y extends r.Component{constructor(l){super(l),this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=t=>{if(!this.element)return;const{rowIndex:a=0}=t,{scrollable:n,rowHeight:o=0}=this.props;if(n==="virtual"||o)this.element.scroll(0,(a-1)*o);else{const s=this.element.querySelector(`tbody > tr:nth-child(${a})`);if(s){const c=s.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,c)}}},this.getExtendedColumn=h.memoizeOne((t,a)=>i.readColumns(t,{prevId:0,idPrefix:a})),this.getColumnsMap=h.memoizeOne(t=>i.mapColumns(t)),this.onKeyDown=t=>{if(i.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:a,cell:n}=i.getSelectionOptions(this.props.selectable),o={dataItems:this.getLeafDataItems(),mode:a,cell:n,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,o)}},this.onFocus=t=>{i.tableKeyboardNavigation.onFocus(t,{contextStateRef:this.contextStateRef})},this.onRowDrag=t=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...t,target:this})},this.onRowDrop=t=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...t,target:this})},this.columnReorder=(t,a,n)=>{const o=this.extendedColumn[t].depth,s=u=>{do u++;while(u<this.extendedColumn.length&&this.extendedColumn[u].depth>o);return u},c=this.extendedColumn.splice(t,s(t)-t);if(this.extendedColumn.splice(t<a?s(a-c.length):a,0,...c),this.extendedColumn.filter(u=>u.declarationIndex>=0).forEach((u,m)=>u.orderIndex=m),this.props.onColumnReorder){const u={target:this,columns:this.columns,nativeEvent:n};this.props.onColumnReorder.call(void 0,u)}},this.onResize=(t,a,n,o,s)=>{if(this.props.onColumnResize){const c=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,p)=>m+=parseFloat(String(p.width)),0),u={columns:this.columns,totalWidth:c,index:t,nativeEvent:o,newWidth:a,oldWidth:n,end:s,target:this};this.props.onColumnResize.call(void 0,u)}},this.handleOnScroll=t=>{const a=t.currentTarget.scrollLeft,n=t.currentTarget.scrollTop,{columnVirtualization:o,scrollable:s,rowHeight:c=0}=this.props,u=c,m=0;let p=!1;o&&Math.abs(this.wrapperScrollLeft-a)>m&&(this.wrapperScrollLeft=a,p=!0),s==="virtual"&&Math.abs(this.wrapperScrollTop-n)>u&&(this.wrapperScrollTop=n,p=!0),p&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const a=Array.from(t.childNodes),n=a.find(c=>c.nodeName==="TABLE"),o=this.props.toolbar&&a.find(c=>c.nodeType===1&&c.classList.contains("k-grid-toolbar"));let s=0;if(o){const c=o.style.boxSizing;o.style.boxSizing="border-box",s=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=c,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=n.tBodies[0].offsetTop,ee(n,s)},this.itemChange=t=>{const a=this.props.onItemChange;if(t.field===this.props.expandField){const n=this.props.onExpandChange;if(n){const o={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};n.call(void 0,o)}return}if(a){const n={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};a.call(void 0,n)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const a={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,a)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const a={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...t};this.props.onSelectionChange.call(void 0,a)}},this.sortChange=(t,a,n)=>{this.raiseDataEvent(this.props.onSortChange,{sort:a,field:n},t)},this.headerFilterChange=(t,a,n)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t)},this.filterChange=t=>{const{filter:a,field:n}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t.syntheticEvent)},this.columnMenuFilterChange=(t,a,n)=>{const{onColumnMenuFilterChange:o}=this.props;if(!o)return;const s={syntheticEvent:t,filter:a,field:n,target:this,nativeEvent:t.nativeEvent};o.call(void 0,s)},this.expandChange=(t,a,n)=>{const{expandField:o,onExpandChange:s}=this.props;if(o&&s){const c={...this.getArguments(t),dataItem:a,level:n,value:this.expanded(a)};s.call(void 0,c)}},this.rowClick=(t,a)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,n)}},this.rowDoubleClick=(t,a)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,n)}},this.rowContextMenu=(t,a)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,n)}},this.onPageChange=t=>{if(this.props.onPageChange){const a={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,a)}},this.expandedSubItems=t=>{const a=[];return this.expanded(t)&&this.hasChildren(t)&&a.push(...h.getNestedValue(this.props.subItemsField,t)),a},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!h.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!h.getNestedValue(this.props.subItemsField,t),h.validatePackage(_e),this.dragLogic=new i.CommonDragLogic(this.columnReorder,h.noop,h.noop),this.columnResize=new i.ColumnResize(this.onResize.bind(this)),i.tableKeyboardNavigation.onConstructor({navigatable:!!l.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(h.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(l){l.columns!==this.props.columns&&this.calculateSizes(this.element),i.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:l=[],filterRow:t,scrollable:a="scrollable",resizable:n=!1,reorderable:o=!1,skip:s,take:c}=this.props,u=l.some(g=>!!g.filter||!!g.filterCell)||t!==void 0,m=t||i.FilterRow,p=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(l,p),this.columnsMap=this.getColumnsMap(this.extendedColumn);const v=this.extendedColumn.filter(g=>g.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=n,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=o,this.dragLogic.groupable=!1;const y=r.createElement(i.Header,{headerRow:r.createElement(i.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.sortChange,selectionChange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.columnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,filterChange:this.headerFilterChange}),filterRow:u&&r.createElement(m,{columns:v,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),S=this.props.style||{},{colSpans:x,hiddenColumns:O}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:v,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((S.width||"").toString())}),I=(g,E,F,P,A,k)=>v.map((f,C)=>{if(O[C])return null;const w=f.id?f.id:C,q=`${f.className?f.className+" ":""}${f.locked?"k-grid-content-sticky":""}`,N={id:i.tableKeyboardNavigationTools.generateNavigatableId(`${F}-${String(C)}`,p),colSpan:x[C],dataItem:g.dataItem,field:f.field,format:f.format,className:q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?T=>{this.selectionChange({event:T,item:g,columnIndex:C,dataIndex:A})}:void 0,level:g.level,expandable:f.expandable,expanded:P,hasChildren:this.hasChildren(g.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:f.ariaColumnIndex,style:f.left!==void 0&&{left:f.left,right:f.right,borderRightWidth:f.rightBorder?"1px":""}||{},isSelected:Array.isArray(k)&&k.indexOf(C)>-1};return E&&f.editCell?r.createElement(f.editCell,{key:w,...N,onChange:this.itemChange}):f.cell?r.createElement(f.cell,{key:w,...N}):r.createElement(G,{key:w,...N})});let b=this.flatData;const L=b.length;s!==void 0&&c!==void 0&&(b=b.slice(s,s+c)),a==="virtual"&&(b=te({rows:b,tableViewPortHeight:parseFloat((S.height||S.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const we=b.map(g=>g.level),Ne=this.columnsMap.length+(u?1:0)+1,De=b.length>0&&b.map((g,E)=>{const F=h.getNestedValue(this.props.editField,g.dataItem),P=this.props.dataItemKey&&h.getter(this.props.dataItemKey)(g.dataItem),A=String(P||g.level.join(".")),k=this.expanded(g.dataItem),f=this.props.selectedField?h.getNestedValue(this.props.selectedField,g.dataItem):void 0,C={key:A,level:g.level,levels:we,dataItem:g.dataItem,selectedField:this.props.selectedField,rowHeight:a==="virtual"?g.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:T=>this.rowClick(T,g),onDoubleClick:T=>this.rowDoubleClick(T,g),onContextMenu:T=>this.rowContextMenu(T,g),isAltRow:E%2!==0,expanded:k,rowIndex:E,ariaRowIndex:Ne+E,ariaSetSize:g.levelCount,ariaPosInSet:g.level[g.level.length-1]+1,isSelected:typeof f=="boolean"&&f},w=this.props.editRow,q=this.props.row||H,N=I(g,F,A,k,E,f);return F&&w?r.createElement(w,{...C,key:C.key},N):r.createElement(q,{...C,key:C.key},N)})||r.createElement("tr",{className:"k-table-row k-grid-norecords"},r.createElement("td",{colSpan:v.length},this.props.noRecords||r.createElement($,null))),ke=g=>this.props.sort&&this.props.sort.some(E=>E.field===g),Oe=r.createElement("colgroup",{ref:g=>{this.columnResize.colGroupMain=g}},v.map((g,E)=>r.createElement("col",{key:E.toString(),className:ke(g.field)?"k-sorted":void 0,style:g.width!==void 0?{width:g.width}:void 0}))),Le=this.props.columnVirtualization||this.props.scrollable==="virtual",Fe=this.props.selectable&&this.props.selectable.drag?"none":void 0,J=this.props.tableProps||{};return r.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:this.props.style,className:h.classNames("k-grid k-grid-md","k-treelist",this.props.className,{"k-treelist-scrollable":a!=="none"}),ref:g=>this.element=g,onScroll:Le?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":L,"aria-colcount":v.length,role:"treegrid",...i.tableKeyboardNavigationScopeAttributes},this.props.toolbar,r.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},r.createElement("table",{className:"k-table k-table-md k-grid-table",...J,style:{...J.style||{},userSelect:Fe},role:"presentation"},Oe,y,r.createElement("tbody",{className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes,role:"presentation"},De))),this.props.pager&&r.createElement(this.props.pager,{className:"k-grid-pager",total:L,skip:s,take:c,onPageChange:this.onPageChange}),o&&r.createElement(r.Fragment,null,r.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const l=this.extendedColumn.filter(a=>a.declarationIndex>=0&&a.parentIndex===-1),t=a=>(a.sort((n,o)=>n.declarationIndex-o.declarationIndex),a.map(n=>{const{declarationIndex:o,parentIndex:s,depth:c,colSpan:u,rowSpan:m,index:p,kFirst:v,groupable:y,children:S,...x}=n;return S.length?{children:t(S),...x}:x}));return t(l)}get flatData(){const{data:l=[],rowHeight:t=0}=this.props;let a=0;const n=s=>{const c={height:t,offsetTop:a};return a+=c.height,c};let o=this.updateOnScroll&&this.prevData===l&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:i.flatData(l,this.expandedSubItems,n);return this.prevData=l,this.flattedData=o,o}selectionChange(l){if(this.props.onSelectionChange){const{event:t,item:a,dataIndex:n,columnIndex:o}=l,{mode:s,cell:c}=i.getSelectionOptions(this.props.selectable),u={...this.getArguments(t.syntheticEvent),dataItem:a.dataItem,level:a.level,startColIndex:o,endColIndex:o,startRowIndex:n,endRowIndex:n,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:s,cell:c,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,u)}}raiseDataEvent(l,t,a){const n=this.props.onDataStateChange;if(l)l.call(void 0,{...this.getArguments(a),...t});else if(n){const o={...this.getArguments(a),dataState:{...this.getDataState(),...t}};n.call(void 0,o)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(l){return{nativeEvent:l&&l.nativeEvent,syntheticEvent:l,target:this}}}Y.propTypes={data:d.array,resizable:d.bool,reorderable:d.bool,sortable:d.oneOfType([d.bool,d.shape({mode:d.oneOf(["single","multiple"]),allowUnsort:d.bool})]),onSortChange:d.func,sort:d.array,columns:d.arrayOf(d.object),columnVirtualization:d.bool,filter:d.array,onFilterChange:d.func,filterRow:d.any,toolbar:d.any,noRecords:d.any,onExpandChange:d.func,expandField:d.string,subItemsField:d.string,selectedField:d.string,onSelectionChange:d.func,onHeaderSelectionChange:d.func,onRowClick:d.func,onItemChange:d.func,editField:d.string,scrollable:d.oneOf(["none","scrollable","virtual"]),rowHeight:d.number,style:d.object,tableProps:d.object,pager:d.any,skip:d.number,take:d.number,onPageChange:d.func,onDataStateChange:d.func,onColumnResize:d.func,onColumnReorder:d.func,dataItemKey:d.string,navigatable:d.bool};Y.contextType=i.TableKeyboardNavigationContext;const He=e=>r.createElement(i.HeaderCell,{...e}),Ee=e=>{const l=r.useCallback(s=>{e.selectionChange&&e.selectionChange({syntheticEvent:s})},[e.selectionChange]),t=h.useId(),a=h.getNestedValue(e.field,e.dataItem),n=i.useTableKeyboardNavigation(e.id),o=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...n},r.createElement("input",{checked:typeof a=="boolean"&&a,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Ee.displayName="KendoReactTreeListSelectionCell";class Ve extends r.Component{constructor(){super(...arguments),this._inputId=h.guid()}render(){return r.createElement(i.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const qe=e=>e.visible&&h.canUseDOM?ze.createPortal(r.createElement("div",{className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:e.top+"px",left:e.left+"px"}},r.createElement(h.IconWrap,{className:h.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?M.plusIcon:M.cancelIcon}),e.text),document.body):null;function je(e,l,t){if(!e.originalEvent)return-1;let a=Ie(e,"tr",t);if(a){const n=l?l.childNodes:[];for(let o=0;o<n.length;o++)if(n[o]===a)return o}return-1}function Ie(e,l,t){let a=t?t.elementFromPoint(e.clientX,e.clientY):null;return l&&a?a.closest(l):null}const Ue="k-grid k-grid-md",Q={visible:!1,top:0,left:0,text:"",allowDrop:!1};class We extends r.Component{constructor(){super(...arguments),this.state={clueProps:{...Q}},this.draggable=r.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=l=>{if(!h.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,a=t?t.ownerDocument:document;if(!a)return;const n=l.event,o=this.dragged;if(t&&o){!n.isTouch&&n.type!=="scroll"&&n.originalEvent.preventDefault();const s=this.props.levels[je(n,t.parentNode,a)];this.draggedOver=s;const c=s?!o.every((u,m)=>u===s[m]):!!Ie(n,Ue,a);this.setState({clueProps:{visible:!0,top:n.pageY+10,left:n.pageX,text:t.innerText,allowDrop:c}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:n.originalEvent,dragged:o,draggedOver:s,draggedItem:this.props.dataItem})}},this.onRelease=l=>{const t=l.event;if(this.dragged){const a=[...this.dragged],n=this.draggedOver&&[...this.draggedOver],o=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...Q}});const s=this.props.dataItem;o&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:a,draggedOver:n,draggedItem:s})}}}render(){const{clueProps:l}=this.state;return r.createElement(r.Fragment,null,r.createElement(h.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},r.createElement(H,{...this.props})),r.createElement(qe,{...l}))}}class Xe extends r.Component{render(){return r.createElement("div",{className:"k-toolbar k-toolbar-md k-grid-toolbar"},this.props.children)}}const Ge=[{text:ie,operator:"contains"},{text:se,operator:"doesnotcontain"},{text:K,operator:"eq"},{text:z,operator:"neq"},{text:re,operator:"startswith"},{text:ce,operator:"endswith"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"},{text:oe,operator:"isempty"},{text:le,operator:"isnotempty"}],$e=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Ye=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:be,operator:"gte"},{text:Ce,operator:"gt"},{text:ve,operator:"lt"},{text:xe,operator:"lte"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Je=[{text:pe,operator:""},{text:me,operator:!0},{text:fe,operator:!1}];function V(e,l){return{clearButtonTitle:e.toLanguageString(U,X[U]),operators:l.map(t=>({text:e.toLanguageString(t.text,X[t.text]),operator:t.operator}))}}const Qe=function(e){const{operators:l,...t}=e;return r.createElement(i.TextFilterCell,{ariaLabel:"text filter",...V(R.useLocalization(),l||Ge),...t})},Ze=function(e){const{operators:l,...t}=e;return r.createElement(i.NumericFilterCell,{ariaLabel:"numeric filter",...V(R.useLocalization(),l||$e),...t})},et=function(e){const{operators:l,...t}=e;return r.createElement(i.DateFilterCell,{ariaLabel:"date filter",...V(R.useLocalization(),l||Ye),...t})},tt=function(e){const{operators:l,...t}=e;return r.createElement(i.BooleanFilterCell,{ariaLabel:"boolean filter",...V(R.useLocalization(),l||Je),...t})},ye=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o,value:o.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className),n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement("input",{style:{width:"100%"},className:"k-input",value:h.getNestedValue(e.field,e.dataItem)||"",onChange:l}));return e.render?e.render.call(void 0,n,e):n};ye.displayName="KendoReactTreeListTextEditor";const Se=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s.syntheticEvent,value:s.value})},[e.onChange,e.dataItem,e.level,e.field]),t=h.getNestedValue(e.field,e.dataItem),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement(Me.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:l}));return e.render?e.render.call(void 0,o,e):o};Se.displayName="KendoReactTreeListNumericEditor";const Te=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s,value:s.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=h.useId(),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement("input",{checked:h.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Te.displayName="KendoReactTreeListBooleanEditor";const Re=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o.syntheticEvent,value:o.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className);let n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement(Ke.DatePicker,{width:"100%",value:h.getNestedValue(e.field,e.dataItem),onChange:l}));return e.render?e.render.call(void 0,n,e):n};Re.displayName="KendoReactTreeListDateEditor";Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:()=>h.getNestedValue});Object.defineProperty(exports,"mapTree",{enumerable:!0,get:()=>h.mapTree});Object.defineProperty(exports,"mapTreeItem",{enumerable:!0,get:()=>h.mapTreeItem});Object.defineProperty(exports,"createDataTree",{enumerable:!0,get:()=>i.createDataTree});Object.defineProperty(exports,"extendDataItem",{enumerable:!0,get:()=>i.extendDataItem});Object.defineProperty(exports,"filterBy",{enumerable:!0,get:()=>i.filterBy});Object.defineProperty(exports,"flatData",{enumerable:!0,get:()=>i.flatData});Object.defineProperty(exports,"getItemPath",{enumerable:!0,get:()=>i.getItemPath});Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>i.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>i.getSelectedStateFromKeyDown});Object.defineProperty(exports,"modifySubItems",{enumerable:!0,get:()=>i.modifySubItems});Object.defineProperty(exports,"moveTreeItem",{enumerable:!0,get:()=>i.moveTreeItem});Object.defineProperty(exports,"orderBy",{enumerable:!0,get:()=>i.orderBy});Object.defineProperty(exports,"removeItems",{enumerable:!0,get:()=>i.removeItems});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>i.setSelectedState});Object.defineProperty(exports,"treeToFlat",{enumerable:!0,get:()=>i.treeToFlat});exports.TREELIST_COL_INDEX_ATTRIBUTE=D;exports.TREELIST_PREVENT_SELECTION_ELEMENT=ne;exports.TREELIST_ROW_INDEX_ATTRIBUTE=ae;exports.TreeList=Y;exports.TreeListBooleanEditor=Te;exports.TreeListBooleanFilter=tt;exports.TreeListCell=G;exports.TreeListDateEditor=Re;exports.TreeListDateFilter=et;exports.TreeListDraggableRow=We;exports.TreeListHeaderCell=He;exports.TreeListHeaderSelectionCell=Ve;exports.TreeListNoRecords=$;exports.TreeListNumericEditor=Se;exports.TreeListNumericFilter=Ze;exports.TreeListRow=H;exports.TreeListSelectionCell=Ee;exports.TreeListTextEditor=ye;exports.TreeListTextFilter=Qe;exports.TreeListToolbar=Xe;exports.setHeaderRowsTop=ee;exports.tableRowsVirtualization=te;
|
package/index.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import * as l from "react";
|
|
|
7
7
|
import c from "prop-types";
|
|
8
8
|
import { getNestedValue as v, Keys as Fe, IconWrap as ae, classNames as I, memoizeOne as J, validatePackage as Ae, noop as Q, canUseDOM as $, getter as Me, useId as ne, guid as Pe, Draggable as ze } from "@progress/kendo-react-common";
|
|
9
9
|
import { getNestedValue as Qt, mapTree as Zt, mapTreeItem as ea } from "@progress/kendo-react-common";
|
|
10
|
-
import { TABLE_ROW_INDEX_ATTRIBUTE as He, TABLE_COL_INDEX_ATTRIBUTE as Be, TABLE_PREVENT_SELECTION_ELEMENT as Ke, useTableKeyboardNavigation as T, readColumns as _e, mapColumns as qe, tableKeyboardNavigation as
|
|
10
|
+
import { TABLE_ROW_INDEX_ATTRIBUTE as He, TABLE_COL_INDEX_ATTRIBUTE as Be, TABLE_PREVENT_SELECTION_ELEMENT as Ke, useTableKeyboardNavigation as T, readColumns as _e, mapColumns as qe, tableKeyboardNavigation as D, getSelectionOptions as Z, CommonDragLogic as Ve, ColumnResize as Ue, tableKeyboardNavigationTools as ee, Header as We, HeaderRow as Xe, tableColumnsVirtualization as Ge, TableKeyboardNavigationContext as oe, tableKeyboardNavigationScopeAttributes as $e, TableSelection as je, tableKeyboardNavigationBodyAttributes as Ye, DropClue as Je, DragClue as Qe, flatData as Ze, FilterRow as et, HeaderCell as tt, HeaderSelectionCell as at, TextFilterCell as nt, NumericFilterCell as ot, DateFilterCell as lt, BooleanFilterCell as rt } from "@progress/kendo-react-data-tools";
|
|
11
11
|
import { createDataTree as aa, extendDataItem as na, filterBy as oa, flatData as la, getItemPath as ra, getSelectedState as ia, getSelectedStateFromKeyDown as sa, modifySubItems as ca, moveTreeItem as da, orderBy as ha, removeItems as ga, setSelectedState as ua, treeToFlat as ma } from "@progress/kendo-react-data-tools";
|
|
12
12
|
import { useInternationalization as it, provideLocalizationService as st, registerForLocalization as ct, useLocalization as z } from "@progress/kendo-react-intl";
|
|
13
13
|
import { caretAltDownIcon as dt, caretAltRightIcon as ht, plusIcon as gt, cancelIcon as ut } from "@progress/kendo-svg-icons";
|
|
@@ -83,8 +83,8 @@ const bt = He, L = Be, Et = Ke, le = (e) => {
|
|
|
83
83
|
"k-table-td",
|
|
84
84
|
e.className,
|
|
85
85
|
{
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
"k-text-nowrap": e.expandable,
|
|
87
|
+
"k-selected": d
|
|
88
88
|
}
|
|
89
89
|
),
|
|
90
90
|
colSpan: e.colSpan,
|
|
@@ -173,7 +173,7 @@ const It = {
|
|
|
173
173
|
name: "@progress/kendo-react-treelist",
|
|
174
174
|
productName: "KendoReact",
|
|
175
175
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
176
|
-
publishDate:
|
|
176
|
+
publishDate: 1706106848,
|
|
177
177
|
version: "",
|
|
178
178
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
179
179
|
};
|
|
@@ -197,7 +197,7 @@ class we extends l.Component {
|
|
|
197
197
|
), this.getColumnsMap = J(
|
|
198
198
|
(t) => qe(t)
|
|
199
199
|
), this.onKeyDown = (t) => {
|
|
200
|
-
if (
|
|
200
|
+
if (D.onKeyDown(t, {
|
|
201
201
|
contextStateRef: this.contextStateRef,
|
|
202
202
|
navigationStateRef: this.navigationStateRef
|
|
203
203
|
}), this.props.onKeyDown) {
|
|
@@ -212,7 +212,7 @@ class we extends l.Component {
|
|
|
212
212
|
this.props.onKeyDown.call(void 0, o);
|
|
213
213
|
}
|
|
214
214
|
}, this.onFocus = (t) => {
|
|
215
|
-
|
|
215
|
+
D.onFocus(t, {
|
|
216
216
|
contextStateRef: this.contextStateRef
|
|
217
217
|
});
|
|
218
218
|
}, this.onRowDrag = (t) => {
|
|
@@ -381,7 +381,7 @@ class we extends l.Component {
|
|
|
381
381
|
}, this.expandedSubItems = (t) => {
|
|
382
382
|
const a = [];
|
|
383
383
|
return this.expanded(t) && this.hasChildren(t) && a.push(...v(this.props.subItemsField, t)), a;
|
|
384
|
-
}, this.getLeafDataItems = () => this.flatData.map((t) => t.dataItem), this.expanded = (t) => !!v(this.props.expandField, t), this.hasChildren = (t) => !!v(this.props.subItemsField, t), Ae(It), this.dragLogic = new Ve(this.columnReorder, Q, Q), this.columnResize = new Ue(this.onResize.bind(this)),
|
|
384
|
+
}, this.getLeafDataItems = () => this.flatData.map((t) => t.dataItem), this.expanded = (t) => !!v(this.props.expandField, t), this.hasChildren = (t) => !!v(this.props.subItemsField, t), Ae(It), this.dragLogic = new Ve(this.columnReorder, Q, Q), this.columnResize = new Ue(this.onResize.bind(this)), D.onConstructor({
|
|
385
385
|
navigatable: !!r.navigatable,
|
|
386
386
|
contextStateRef: this.contextStateRef,
|
|
387
387
|
navigationStateRef: this.navigationStateRef
|
|
@@ -398,7 +398,7 @@ class we extends l.Component {
|
|
|
398
398
|
* @hidden
|
|
399
399
|
*/
|
|
400
400
|
componentDidMount() {
|
|
401
|
-
this.calculateSizes(this.element),
|
|
401
|
+
this.calculateSizes(this.element), D.onComponentDidMount({
|
|
402
402
|
scope: this.element || void 0,
|
|
403
403
|
contextStateRef: this.contextStateRef,
|
|
404
404
|
navigationStateRef: this.navigationStateRef
|
|
@@ -408,7 +408,7 @@ class we extends l.Component {
|
|
|
408
408
|
* @hidden
|
|
409
409
|
*/
|
|
410
410
|
getSnapshotBeforeUpdate() {
|
|
411
|
-
return
|
|
411
|
+
return D.onGetSnapshotBeforeUpdate({
|
|
412
412
|
document: this.document,
|
|
413
413
|
contextStateRef: this.contextStateRef,
|
|
414
414
|
navigationStateRef: this.navigationStateRef
|
|
@@ -418,7 +418,7 @@ class we extends l.Component {
|
|
|
418
418
|
* @hidden
|
|
419
419
|
*/
|
|
420
420
|
componentDidUpdate(r) {
|
|
421
|
-
r.columns !== this.props.columns && this.calculateSizes(this.element),
|
|
421
|
+
r.columns !== this.props.columns && this.calculateSizes(this.element), D.onComponentDidUpdate({
|
|
422
422
|
scope: this.element || void 0,
|
|
423
423
|
contextStateRef: this.contextStateRef,
|
|
424
424
|
navigationStateRef: this.navigationStateRef
|
|
@@ -489,7 +489,7 @@ class we extends l.Component {
|
|
|
489
489
|
}), E = (h, b, A, M, P, N) => C.map((u, p) => {
|
|
490
490
|
if (O[p])
|
|
491
491
|
return null;
|
|
492
|
-
const R = u.id ? u.id : p, V = `${u.className ? u.className + " " : ""}${u.locked ? "k-grid-content-sticky" : ""}`,
|
|
492
|
+
const R = u.id ? u.id : p, V = `${u.className ? u.className + " " : ""}${u.locked ? "k-grid-content-sticky" : ""}`, k = {
|
|
493
493
|
id: ee.generateNavigatableId(`${A}-${String(p)}`, m),
|
|
494
494
|
colSpan: x[p],
|
|
495
495
|
dataItem: h.dataItem,
|
|
@@ -515,7 +515,7 @@ class we extends l.Component {
|
|
|
515
515
|
} || {},
|
|
516
516
|
isSelected: Array.isArray(N) && N.indexOf(p) > -1
|
|
517
517
|
};
|
|
518
|
-
return b && u.editCell ? /* @__PURE__ */ l.createElement(u.editCell, { key: R, ...
|
|
518
|
+
return b && u.editCell ? /* @__PURE__ */ l.createElement(u.editCell, { key: R, ...k, onChange: this.itemChange }) : u.cell ? /* @__PURE__ */ l.createElement(u.cell, { key: R, ...k }) : /* @__PURE__ */ l.createElement(le, { key: R, ...k });
|
|
519
519
|
});
|
|
520
520
|
let f = this.flatData;
|
|
521
521
|
const F = f.length;
|
|
@@ -524,7 +524,7 @@ class we extends l.Component {
|
|
|
524
524
|
tableViewPortHeight: parseFloat((w.height || w.maxHeight || "").toString()),
|
|
525
525
|
scrollTop: this.wrapperScrollTop
|
|
526
526
|
}), this.updateOnScroll = !1);
|
|
527
|
-
const Re = f.map((h) => h.level),
|
|
527
|
+
const Re = f.map((h) => h.level), ke = this.columnsMap.length + (d ? 1 : 0) + 1, De = f.length > 0 && f.map((h, b) => {
|
|
528
528
|
const A = v(this.props.editField, h.dataItem), M = this.props.dataItemKey && Me(this.props.dataItemKey)(h.dataItem), P = String(M || h.level.join(".")), N = this.expanded(h.dataItem), u = this.props.selectedField ? v(this.props.selectedField, h.dataItem) : void 0, p = {
|
|
529
529
|
key: P,
|
|
530
530
|
level: h.level,
|
|
@@ -541,12 +541,12 @@ class we extends l.Component {
|
|
|
541
541
|
isAltRow: b % 2 !== 0,
|
|
542
542
|
expanded: N,
|
|
543
543
|
rowIndex: b,
|
|
544
|
-
ariaRowIndex:
|
|
544
|
+
ariaRowIndex: ke + b,
|
|
545
545
|
ariaSetSize: h.levelCount,
|
|
546
546
|
ariaPosInSet: h.level[h.level.length - 1] + 1,
|
|
547
547
|
isSelected: typeof u == "boolean" && u
|
|
548
|
-
}, R = this.props.editRow, V = this.props.row || j,
|
|
549
|
-
return A && R ? /* @__PURE__ */ l.createElement(R, { ...p, key: p.key },
|
|
548
|
+
}, R = this.props.editRow, V = this.props.row || j, k = E(h, A, P, N, b, u);
|
|
549
|
+
return A && R ? /* @__PURE__ */ l.createElement(R, { ...p, key: p.key }, k) : /* @__PURE__ */ l.createElement(V, { ...p, key: p.key }, k);
|
|
550
550
|
}) || /* @__PURE__ */ l.createElement("tr", { className: "k-table-row k-grid-norecords" }, /* @__PURE__ */ l.createElement("td", { colSpan: C.length }, this.props.noRecords || /* @__PURE__ */ l.createElement(Se, null))), Te = (h) => this.props.sort && this.props.sort.some((b) => b.field === h), Ne = /* @__PURE__ */ l.createElement("colgroup", { ref: (h) => {
|
|
551
551
|
this.columnResize.colGroupMain = h;
|
|
552
552
|
} }, C.map(
|
|
@@ -566,6 +566,7 @@ class we extends l.Component {
|
|
|
566
566
|
style: this.props.style,
|
|
567
567
|
className: I(
|
|
568
568
|
"k-grid k-grid-md",
|
|
569
|
+
"k-treelist",
|
|
569
570
|
this.props.className,
|
|
570
571
|
{ "k-treelist-scrollable": a !== "none" }
|
|
571
572
|
),
|
|
@@ -595,7 +596,7 @@ class we extends l.Component {
|
|
|
595
596
|
},
|
|
596
597
|
Ne,
|
|
597
598
|
S,
|
|
598
|
-
/* @__PURE__ */ l.createElement("tbody", { className: "k-table-tbody", ...Ye, role: "presentation" },
|
|
599
|
+
/* @__PURE__ */ l.createElement("tbody", { className: "k-table-tbody", ...Ye, role: "presentation" }, De)
|
|
599
600
|
)
|
|
600
601
|
),
|
|
601
602
|
this.props.pager && /* @__PURE__ */ l.createElement(
|
|
@@ -902,13 +903,13 @@ class Wt extends l.Component {
|
|
|
902
903
|
return /* @__PURE__ */ l.createElement(
|
|
903
904
|
"div",
|
|
904
905
|
{
|
|
905
|
-
className: "k-toolbar k-grid-toolbar"
|
|
906
|
+
className: "k-toolbar k-toolbar-md k-grid-toolbar"
|
|
906
907
|
},
|
|
907
908
|
this.props.children
|
|
908
909
|
);
|
|
909
910
|
}
|
|
910
911
|
}
|
|
911
|
-
const
|
|
912
|
+
const kt = [
|
|
912
913
|
{ text: ce, operator: "contains" },
|
|
913
914
|
{ text: de, operator: "doesnotcontain" },
|
|
914
915
|
{ text: H, operator: "eq" },
|
|
@@ -919,7 +920,7 @@ const Dt = [
|
|
|
919
920
|
{ text: _, operator: "isnotnull" },
|
|
920
921
|
{ text: re, operator: "isempty" },
|
|
921
922
|
{ text: ie, operator: "isnotempty" }
|
|
922
|
-
],
|
|
923
|
+
], Dt = [
|
|
923
924
|
{ text: H, operator: "eq" },
|
|
924
925
|
{ text: B, operator: "neq" },
|
|
925
926
|
{ text: ge, operator: "gte" },
|
|
@@ -957,7 +958,7 @@ const Xt = function(e) {
|
|
|
957
958
|
nt,
|
|
958
959
|
{
|
|
959
960
|
ariaLabel: "text filter",
|
|
960
|
-
...q(z(), r ||
|
|
961
|
+
...q(z(), r || kt),
|
|
961
962
|
...t
|
|
962
963
|
}
|
|
963
964
|
);
|
|
@@ -967,7 +968,7 @@ const Xt = function(e) {
|
|
|
967
968
|
ot,
|
|
968
969
|
{
|
|
969
970
|
ariaLabel: "numeric filter",
|
|
970
|
-
...q(z(), r ||
|
|
971
|
+
...q(z(), r || Dt),
|
|
971
972
|
...t
|
|
972
973
|
}
|
|
973
974
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-treelist",
|
|
3
|
-
"version": "7.0
|
|
3
|
+
"version": "7.1.0-develop.10",
|
|
4
4
|
"description": "React TreeList enables the display of self-referencing tabular data. KendoReact TreeList package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"@progress/kendo-date-math": "^1.4.1",
|
|
27
27
|
"@progress/kendo-drawing": "^1.19.0",
|
|
28
28
|
"@progress/kendo-licensing": "^1.3.4",
|
|
29
|
-
"@progress/kendo-react-common": "7.0
|
|
30
|
-
"@progress/kendo-react-data-tools": "7.0
|
|
31
|
-
"@progress/kendo-react-dateinputs": "7.0
|
|
32
|
-
"@progress/kendo-react-dialogs": "7.0
|
|
33
|
-
"@progress/kendo-react-dropdowns": "7.0
|
|
34
|
-
"@progress/kendo-react-inputs": "7.0
|
|
35
|
-
"@progress/kendo-react-intl": "7.0
|
|
29
|
+
"@progress/kendo-react-common": "7.1.0-develop.10",
|
|
30
|
+
"@progress/kendo-react-data-tools": "7.1.0-develop.10",
|
|
31
|
+
"@progress/kendo-react-dateinputs": "7.1.0-develop.10",
|
|
32
|
+
"@progress/kendo-react-dialogs": "7.1.0-develop.10",
|
|
33
|
+
"@progress/kendo-react-dropdowns": "7.1.0-develop.10",
|
|
34
|
+
"@progress/kendo-react-inputs": "7.1.0-develop.10",
|
|
35
|
+
"@progress/kendo-react-intl": "7.1.0-develop.10",
|
|
36
36
|
"@progress/kendo-svg-icons": "^2.1.0",
|
|
37
37
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
38
38
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|