@progress/kendo-react-treelist 7.0.2-develop.1 → 7.0.2-develop.3
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/TreeList.d.ts +1 -1
- package/dist/cdn/js/kendo-react-treelist.js +1 -1
- package/index.d.mts +5 -0
- package/index.js +1 -1
- package/index.mjs +36 -36
- package/package.json +17 -11
package/TreeList.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as React from 'react';
|
|
6
|
-
import
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
7
|
import { CommonDragLogic, TableKeyboardNavigationContextType } from '@progress/kendo-react-data-tools';
|
|
8
8
|
import { TreeListCellProps } from './interfaces/TreeListCellProps';
|
|
9
9
|
import { TreeListProps } from './interfaces/TreeListProps';
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2023 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,D){typeof exports=="object"&&typeof module<"u"?D(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"],D):(o=typeof globalThis<"u"?globalThis:o||self,D(o.KendoReactTreelist={},o.React,o.PropTypes,o.KendoReactCommon,o.KendoReactDataTools,o.KendoReactIntl,o.KendoSvgIcons,o.ReactDOM,o.KendoReactInputs,o.KendoReactDateinputs))})(this,function(o,D,Te,u,s,N,R,Fe,De,Pe){"use strict";"use client";function U(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=U(D),h=U(Te),Re=U(Fe);function Ke(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,a,t){const r=Array.from(e.tHead&&e.tHead.rows||[]),i=[a];let l;const c=t||(d=>window.getComputedStyle(d).height||void 0);r.forEach(d=>{let g=c(d);i.push(Ke(g)?parseFloat(String(g)):d.offsetHeight)});for(let d=0;d<r.length;d++)l=i.slice(0,d+1).reduce((g,p)=>g+p),Array.from(r[d].cells).forEach(g=>g.style.top=l+"px")}const W=1e6;function te(e){const{rows:a,tableViewPortHeight:t,scrollTop:r}=e;if(a.length===0)return[];const i=a[0].height,l=Math.min(Math.round(r/i),a.length),c=Math.round(t/i),d=Math.max(0,l-c),g=Math.min(a.length,l+2*c),p=a.slice(d,g),b=p[p.length-1];return d>0&&p.unshift({dataItem:{},level:[W],offsetTop:0,height:p[0].offsetTop,levelCount:0}),g<a.length-1&&p.push({dataItem:{},level:[W,W],offsetTop:b.offsetTop+b.height,height:(a.length-g)*i,levelCount:0}),p}const re=s.TABLE_ROW_INDEX_ATTRIBUTE,L=s.TABLE_COL_INDEX_ATTRIBUTE,ie=s.TABLE_PREVENT_SELECTION_ELEMENT,X=e=>{const{hasChildren:a,level:t=[0],expanded:r,dataItem:i,format:l,id:c,ariaColumnIndex:d,isSelected:g}=e,p=u.getNestedValue(e.field,i),b=N.useInternationalization(),E=s.useTableKeyboardNavigation(c);let x="";const w=n.useCallback(S=>{S.isDefaultPrevented()||S.keyCode===u.Keys.enter&&e.expandable&&(S.preventDefault(),e.onExpandChange(S,i,t))},[e.expandable,i,t]);p!=null&&(x=l?b.format(l,p):p.toString());const I=[];if(e.expandable){const S=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,V)=>S(V))),a?I.push(n.createElement(u.IconWrap,{className:"k-treelist-toggle",name:r?"caret-alt-down":"caret-alt-right",icon:r?R.caretAltDownIcon:R.caretAltRightIcon,key:"expand-collapse",onClick:v=>e.onExpandChange(v.syntheticEvent||v,i,t),[ie]:!0})):I.push(S(I.length))}const H=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?r:void 0,"aria-selected":g,role:"gridcell",onKeyDown:w,[L]:e.colIndex,...E},I,x);return e.render?e.render.call(void 0,H,e):H};X.displayName="KendoReactTreeListCell";const G="treelist.filterClearButton",K="treelist.filterEqOperator",A="treelist.filterNotEqOperator",M="treelist.filterIsNullOperator",z="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",pe="treelist.filterIsFalse",me="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",ve="treelist.filterAfterOperator",Ce="treelist.filterBeforeOperator",Ee="treelist.filterBeforeOrEqualOperator",$="treelist.noRecords",Y={[G]:"Clear",[K]:"Is equal to",[A]:"Is not equal to",[M]:"Is null",[z]:"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",[pe]:"Is false",[me]:"(All)",[be]:"Is after or equal to",[ve]:"Is after",[Ce]:"Is before",[Ee]:"Is before or equal to",[$]:"No records available"};class J extends n.Component{render(){return this.props.children||N.provideLocalizationService(this).toLanguageString($,Y[$])}}N.registerForLocalization(J);const _=n.forwardRef((e,a)=>{const{isSelected:t,rowHeight:r,isAltRow:i,expanded:l,ariaRowIndex:c,level:d,ariaSetSize:g,ariaPosInSet:p}=e,b=u.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":i}),E=n.useMemo(()=>r!==void 0?{height:r+"px"}:void 0,[r]),x=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":p,"aria-setsize":g,[re]:e.rowIndex},e.children);return n.createElement(n.Fragment,null,e.render?e.render.call(void 0,x,e):x)});_.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 Q 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:r=0}=t,{scrollable:i,rowHeight:l=0}=this.props;if(i==="virtual"||l)this.element.scroll(0,(r-1)*l);else{const c=this.element.querySelector(`tbody > tr:nth-child(${r})`);if(c){const d=c.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},this.getExtendedColumn=u.memoizeOne((t,r)=>s.readColumns(t,{prevId:0,idPrefix:r})),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:r,cell:i}=s.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:r,cell:i,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,r,i)=>{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<r?c(r-d.length):r,0,...d),this.extendedColumn.filter(g=>g.declarationIndex>=0).forEach((g,p)=>g.orderIndex=p),this.props.onColumnReorder){const g={target:this,columns:this.columns,nativeEvent:i};this.props.onColumnReorder.call(void 0,g)}},this.onResize=(t,r,i,l,c)=>{if(this.props.onColumnResize){const d=this.extendedColumn.filter(p=>p.children.length===0).reduce((p,b)=>p+=parseFloat(String(b.width)),0),g={columns:this.columns,totalWidth:d,index:t,nativeEvent:l,newWidth:r,oldWidth:i,end:c,target:this};this.props.onColumnResize.call(void 0,g)}},this.handleOnScroll=t=>{const r=t.currentTarget.scrollLeft,i=t.currentTarget.scrollTop,{columnVirtualization:l,scrollable:c,rowHeight:d=0}=this.props,g=d,p=0;let b=!1;l&&Math.abs(this.wrapperScrollLeft-r)>p&&(this.wrapperScrollLeft=r,b=!0),c==="virtual"&&Math.abs(this.wrapperScrollTop-i)>g&&(this.wrapperScrollTop=i,b=!0),b&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const r=Array.from(t.childNodes),i=r.find(d=>d.nodeName==="TABLE"),l=this.props.toolbar&&r.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=i.tBodies[0].offsetTop,ee(i,c)},this.itemChange=t=>{const r=this.props.onItemChange;if(t.field===this.props.expandField){const i=this.props.onExpandChange;if(i){const l={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};i.call(void 0,l)}return}if(r){const i={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};r.call(void 0,i)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const r={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,r)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const r={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,r)}},this.sortChange=(t,r,i)=>{this.raiseDataEvent(this.props.onSortChange,{sort:r,field:i},t)},this.headerFilterChange=(t,r,i)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:r,field:i},t)},this.filterChange=t=>{const{filter:r,field:i}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:r,field:i},t.syntheticEvent)},this.columnMenuFilterChange=(t,r,i)=>{const{onColumnMenuFilterChange:l}=this.props;if(!l)return;const c={syntheticEvent:t,filter:r,field:i,target:this,nativeEvent:t.nativeEvent};l.call(void 0,c)},this.expandChange=(t,r,i)=>{const{expandField:l,onExpandChange:c}=this.props;if(l&&c){const d={...this.getArguments(t),dataItem:r,level:i,value:this.expanded(r)};c.call(void 0,d)}},this.rowClick=(t,r)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const i={dataItem:r.dataItem,level:r.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,i)}},this.rowDoubleClick=(t,r)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const i={dataItem:r.dataItem,level:r.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,i)}},this.rowContextMenu=(t,r)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const i={dataItem:r.dataItem,level:r.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,i)}},this.onPageChange=t=>{if(this.props.onPageChange){const r={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,r)}},this.expandedSubItems=t=>{const r=[];return this.expanded(t)&&this.hasChildren(t)&&r.push(...u.getNestedValue(this.props.subItemsField,t)),r},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:r="scrollable",resizable:i=!1,reorderable:l=!1,skip:c,take:d}=this.props,g=a.some(f=>!!f.filter||!!f.filterCell)||t!==void 0,p=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=i,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const x=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(p,{columns:E,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),w=this.props.style||{},{colSpans:I,hiddenColumns:H}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:E,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((w.width||"").toString())}),S=(f,y,q,j,k,P)=>E.map((m,C)=>{if(H[C])return null;const T=m.id?m.id:C,Z=`${m.className?m.className+" ":""}${m.locked?"k-grid-content-sticky":""}`,F={id:s.tableKeyboardNavigationTools.generateNavigatableId(`${q}-${String(C)}`,b),colSpan:I[C],dataItem:f.dataItem,field:m.field,format:m.format,className:Z||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:m.expandable,expanded:j,hasChildren:this.hasChildren(f.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:m.ariaColumnIndex,style:m.left!==void 0&&{left:m.left,right:m.right,borderRightWidth:m.rightBorder?"1px":""}||{},isSelected:Array.isArray(P)&&P.indexOf(C)>-1};return y&&m.editCell?n.createElement(m.editCell,{key:T,...F,onChange:this.itemChange}):m.cell?n.createElement(m.cell,{key:T,...F}):n.createElement(X,{key:T,...F})});let v=this.flatData;const V=v.length;c!==void 0&&d!==void 0&&(v=v.slice(c,c+d)),r==="virtual"&&(v=te({rows:v,tableViewPortHeight:parseFloat((w.height||w.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const Je=v.map(f=>f.level),Qe=this.columnsMap.length+(g?1:0)+1,Ze=v.length>0&&v.map((f,y)=>{const q=u.getNestedValue(this.props.editField,f.dataItem),j=this.props.dataItemKey&&u.getter(this.props.dataItemKey)(f.dataItem),k=String(j||f.level.join(".")),P=this.expanded(f.dataItem),m=this.props.selectedField?u.getNestedValue(this.props.selectedField,f.dataItem):void 0,C={key:k,level:f.level,levels:Je,dataItem:f.dataItem,selectedField:this.props.selectedField,rowHeight:r==="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:y%2!==0,expanded:P,rowIndex:y,ariaRowIndex:Qe+y,ariaSetSize:f.levelCount,ariaPosInSet:f.level[f.level.length-1]+1,isSelected:typeof m=="boolean"&&m},T=this.props.editRow,Z=this.props.row||_,F=S(f,q,k,P,y,m);return q&&T?n.createElement(T,{...C,key:C.key},F):n.createElement(Z,{...C,key:C.key},F)})||n.createElement("tr",{className:"k-table-row k-grid-norecords"},n.createElement("td",{colSpan:E.length},this.props.noRecords||n.createElement(J,null))),et=f=>this.props.sort&&this.props.sort.some(y=>y.field===f),tt=n.createElement("colgroup",{ref:f=>{this.columnResize.colGroupMain=f}},E.map((f,y)=>n.createElement("col",{key:y.toString(),className:et(f.field)?"k-sorted":void 0,style:f.width!==void 0?{width:f.width}:void 0}))),rt=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":r!=="none"}),ref:f=>this.element=f,onScroll:rt?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":V,"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"},tt,x,n.createElement("tbody",{className:"k-table-tbody",...s.tableKeyboardNavigationBodyAttributes,role:"presentation"},Ze))),this.props.pager&&n.createElement(this.props.pager,{className:"k-grid-pager",total:V,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(r=>r.declarationIndex>=0&&r.parentIndex===-1),t=r=>(r.sort((i,l)=>i.declarationIndex-l.declarationIndex),r.map(i=>{const{declarationIndex:l,parentIndex:c,depth:d,colSpan:g,rowSpan:p,index:b,kFirst:E,groupable:x,children:w,...I}=i;return w.length?{children:t(w),...I}:I}));return t(a)}get flatData(){const{data:a=[],rowHeight:t=0}=this.props;let r=0;const i=c=>{const d={height:t,offsetTop:r};return r+=d.height,d};let l=this.updateOnScroll&&this.prevData===a&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:s.flatData(a,this.expandedSubItems,i);return this.prevData=a,this.flattedData=l,l}selectionChange(a){if(this.props.onSelectionChange){const{event:t,item:r,dataIndex:i,columnIndex:l}=a,{mode:c,cell:d}=s.getSelectionOptions(this.props.selectable),g={...this.getArguments(t.syntheticEvent),dataItem:r.dataItem,level:r.level,startColIndex:l,endColIndex:l,startRowIndex:i,endRowIndex:i,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,r){const i=this.props.onDataStateChange;if(a)a.call(void 0,{...this.getArguments(r),...t});else if(i){const l={...this.getArguments(r),dataState:{...this.getDataState(),...t}};i.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}}}Q.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},Q.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(),r=u.getNestedValue(e.field,e.dataItem),i=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",...i},n.createElement("input",{checked:typeof r=="boolean"&&r,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 _e=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?R.plusIcon:R.cancelIcon}),e.text),document.body):null;function Be(e,a,t){if(!e.originalEvent)return-1;let r=ye(e,"tr",t);if(r){const i=a?a.childNodes:[];for(let l=0;l<i.length;l++)if(i[l]===r)return l}return-1}function ye(e,a,t){let r=t?t.elementFromPoint(e.clientX,e.clientY):null;return a&&r?r.closest(a):null}const He="k-grid k-grid-md",Se={visible:!1,top:0,left:0,text:"",allowDrop:!1};class Ve extends n.Component{constructor(){super(...arguments),this.state={clueProps:{...Se}},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,r=t?t.ownerDocument:document;if(!r)return;const i=a.event,l=this.dragged;if(t&&l){!i.isTouch&&i.type!=="scroll"&&i.originalEvent.preventDefault();const c=this.props.levels[Be(i,t.parentNode,r)];this.draggedOver=c;const d=c?!l.every((g,p)=>g===c[p]):!!ye(i,He,r);this.setState({clueProps:{visible:!0,top:i.pageY+10,left:i.pageX,text:t.innerText,allowDrop:d}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:i.originalEvent,dragged:l,draggedOver:c,draggedItem:this.props.dataItem})}},this.onRelease=a=>{const t=a.event;if(this.dragged){const r=[...this.dragged],i=this.draggedOver&&[...this.draggedOver],l=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...Se}});const c=this.props.dataItem;l&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:r,draggedOver:i,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(_e,{...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:K,operator:"eq"},{text:A,operator:"neq"},{text:ne,operator:"startswith"},{text:ce,operator:"endswith"},{text:M,operator:"isnull"},{text:z,operator:"isnotnull"},{text:le,operator:"isempty"},{text:ae,operator:"isnotempty"}],ke=[{text:K,operator:"eq"},{text:A,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:M,operator:"isnull"},{text:z,operator:"isnotnull"}],Ue=[{text:K,operator:"eq"},{text:A,operator:"neq"},{text:be,operator:"gte"},{text:ve,operator:"gt"},{text:Ce,operator:"lt"},{text:Ee,operator:"lte"},{text:M,operator:"isnull"},{text:z,operator:"isnotnull"}],We=[{text:me,operator:""},{text:fe,operator:!0},{text:pe,operator:!1}];function B(e,a){return{clearButtonTitle:e.toLanguageString(G,Y[G]),operators:a.map(t=>({text:e.toLanguageString(t.text,Y[t.text]),operator:t.operator}))}}const Xe=function(e){const{operators:a,...t}=e;return n.createElement(s.TextFilterCell,{ariaLabel:"text filter",...B(N.useLocalization(),a||je),...t})},Ge=function(e){const{operators:a,...t}=e;return n.createElement(s.NumericFilterCell,{ariaLabel:"numeric filter",...B(N.useLocalization(),a||ke),...t})},$e=function(e){const{operators:a,...t}=e;return n.createElement(s.DateFilterCell,{ariaLabel:"date filter",...B(N.useLocalization(),a||Ue),...t})},Ye=function(e){const{operators:a,...t}=e;return n.createElement(s.BooleanFilterCell,{ariaLabel:"boolean filter",...B(N.useLocalization(),a||We),...t})},xe=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),r=u.classNames({["k-selected"]:e.isSelected},e.className),i=n.createElement("td",{style:e.style,className:r,"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,i,e):i};xe.displayName="KendoReactTreeListTextEditor";const we=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),r=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...r,[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};we.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(),r=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...r,[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),r=u.classNames({["k-selected"]:e.isSelected},e.className);let i=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement(Pe.DatePicker,{width:"100%",value:u.getNestedValue(e.field,e.dataItem),onChange:a}));return e.render?e.render.call(void 0,i,e):i};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=ie,o.TREELIST_ROW_INDEX_ATTRIBUTE=re,o.TreeList=Q,o.TreeListBooleanEditor=Ne,o.TreeListBooleanFilter=Ye,o.TreeListCell=X,o.TreeListDateEditor=Oe,o.TreeListDateFilter=$e,o.TreeListDraggableRow=Ve,o.TreeListHeaderCell=Me,o.TreeListHeaderSelectionCell=ze,o.TreeListNoRecords=J,o.TreeListNumericEditor=we,o.TreeListNumericFilter=Ge,o.TreeListRow=_,o.TreeListSelectionCell=Ie,o.TreeListTextEditor=xe,o.TreeListTextFilter=Xe,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<"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"})});
|
package/index.d.mts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export * from './index';
|
package/index.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2023 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"),Ae=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"),Me=require("react-dom"),Ke=require("@progress/kendo-react-inputs"),ze=require("@progress/kendo-react-dateinputs");function G(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=G(Pe),d=G(Ae),_e=G(Me);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,$=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};$.displayName="KendoReactTreeListCell";const U="treelist.filterClearButton",K="treelist.filterEqOperator",z="treelist.filterNotEqOperator",_="treelist.filterIsNullOperator",B="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",[_]:"Is null",[B]:"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 Y extends r.Component{render(){return this.props.children||R.provideLocalizationService(this).toLanguageString(W,X[W])}}R.registerForLocalization(Y);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 He={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 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(He),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($,{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(Y,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,Q=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",...Q,style:{...Q.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}}}J.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};J.contextType=i.TableKeyboardNavigationContext;const Ve=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 qe extends r.Component{constructor(){super(...arguments),this._inputId=h.guid()}render(){return r.createElement(i.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const je=e=>e.visible&&h.canUseDOM?_e.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 Ue(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 We="k-grid k-grid-md",Z={visible:!1,top:0,left:0,text:"",allowDrop:!1};class Xe extends r.Component{constructor(){super(...arguments),this.state={clueProps:{...Z}},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[Ue(n,t.parentNode,a)];this.draggedOver=s;const c=s?!o.every((u,m)=>u===s[m]):!!Ie(n,We,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:{...Z}});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(je,{...l}))}}class Ge extends r.Component{render(){return r.createElement("div",{className:"k-toolbar k-grid-toolbar"},this.props.children)}}const $e=[{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:_,operator:"isnull"},{text:B,operator:"isnotnull"},{text:oe,operator:"isempty"},{text:le,operator:"isnotempty"}],Ye=[{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:_,operator:"isnull"},{text:B,operator:"isnotnull"}],Je=[{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:_,operator:"isnull"},{text:B,operator:"isnotnull"}],Qe=[{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 Ze=function(e){const{operators:l,...t}=e;return r.createElement(i.TextFilterCell,{ariaLabel:"text filter",...V(R.useLocalization(),l||$e),...t})},et=function(e){const{operators:l,...t}=e;return r.createElement(i.NumericFilterCell,{ariaLabel:"numeric filter",...V(R.useLocalization(),l||Ye),...t})},tt=function(e){const{operators:l,...t}=e;return r.createElement(i.DateFilterCell,{ariaLabel:"date filter",...V(R.useLocalization(),l||Je),...t})},at=function(e){const{operators:l,...t}=e;return r.createElement(i.BooleanFilterCell,{ariaLabel:"boolean filter",...V(R.useLocalization(),l||Qe),...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(Ke.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(ze.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=J;exports.TreeListBooleanEditor=Te;exports.TreeListBooleanFilter=at;exports.TreeListCell=$;exports.TreeListDateEditor=Re;exports.TreeListDateFilter=tt;exports.TreeListDraggableRow=Xe;exports.TreeListHeaderCell=Ve;exports.TreeListHeaderSelectionCell=qe;exports.TreeListNoRecords=Y;exports.TreeListNumericEditor=Se;exports.TreeListNumericFilter=et;exports.TreeListRow=H;exports.TreeListSelectionCell=Ee;exports.TreeListTextEditor=ye;exports.TreeListTextFilter=Ze;exports.TreeListToolbar=Ge;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",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;
|
package/index.mjs
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
"use client";
|
|
6
6
|
import * as l from "react";
|
|
7
|
-
import
|
|
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
|
-
import { getNestedValue as
|
|
9
|
+
import { getNestedValue as Qt, mapTree as Zt, mapTreeItem as ea } from "@progress/kendo-react-common";
|
|
10
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 k, 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
|
-
import { createDataTree as
|
|
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";
|
|
14
14
|
import * as mt from "react-dom";
|
|
@@ -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: 1702640864,
|
|
177
177
|
version: "",
|
|
178
178
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
179
179
|
};
|
|
@@ -736,7 +736,7 @@ we.propTypes = {
|
|
|
736
736
|
navigatable: c.bool
|
|
737
737
|
};
|
|
738
738
|
we.contextType = oe;
|
|
739
|
-
const
|
|
739
|
+
const qt = (e) => /* @__PURE__ */ l.createElement(tt, { ...e }), St = (e) => {
|
|
740
740
|
const r = l.useCallback(
|
|
741
741
|
(i) => {
|
|
742
742
|
e.selectionChange && e.selectionChange({ syntheticEvent: i });
|
|
@@ -769,7 +769,7 @@ const _t = (e) => /* @__PURE__ */ l.createElement(tt, { ...e }), St = (e) => {
|
|
|
769
769
|
return e.render ? e.render.call(void 0, o, e) : o;
|
|
770
770
|
};
|
|
771
771
|
St.displayName = "KendoReactTreeListSelectionCell";
|
|
772
|
-
class
|
|
772
|
+
class Vt extends l.Component {
|
|
773
773
|
constructor() {
|
|
774
774
|
super(...arguments), this._inputId = Pe();
|
|
775
775
|
}
|
|
@@ -831,7 +831,7 @@ const Rt = "k-grid k-grid-md", te = {
|
|
|
831
831
|
text: "",
|
|
832
832
|
allowDrop: !1
|
|
833
833
|
};
|
|
834
|
-
class
|
|
834
|
+
class Ut extends l.Component {
|
|
835
835
|
constructor() {
|
|
836
836
|
super(...arguments), this.state = {
|
|
837
837
|
clueProps: { ...te }
|
|
@@ -894,7 +894,7 @@ class Vt extends l.Component {
|
|
|
894
894
|
), /* @__PURE__ */ l.createElement(wt, { ...r }));
|
|
895
895
|
}
|
|
896
896
|
}
|
|
897
|
-
class
|
|
897
|
+
class Wt extends l.Component {
|
|
898
898
|
/**
|
|
899
899
|
* @hidden
|
|
900
900
|
*/
|
|
@@ -951,7 +951,7 @@ function q(e, r) {
|
|
|
951
951
|
}))
|
|
952
952
|
};
|
|
953
953
|
}
|
|
954
|
-
const
|
|
954
|
+
const Xt = function(e) {
|
|
955
955
|
const { operators: r, ...t } = e;
|
|
956
956
|
return /* @__PURE__ */ l.createElement(
|
|
957
957
|
nt,
|
|
@@ -961,7 +961,7 @@ const Wt = function(e) {
|
|
|
961
961
|
...t
|
|
962
962
|
}
|
|
963
963
|
);
|
|
964
|
-
},
|
|
964
|
+
}, Gt = function(e) {
|
|
965
965
|
const { operators: r, ...t } = e;
|
|
966
966
|
return /* @__PURE__ */ l.createElement(
|
|
967
967
|
ot,
|
|
@@ -971,7 +971,7 @@ const Wt = function(e) {
|
|
|
971
971
|
...t
|
|
972
972
|
}
|
|
973
973
|
);
|
|
974
|
-
},
|
|
974
|
+
}, $t = function(e) {
|
|
975
975
|
const { operators: r, ...t } = e;
|
|
976
976
|
return /* @__PURE__ */ l.createElement(
|
|
977
977
|
lt,
|
|
@@ -981,7 +981,7 @@ const Wt = function(e) {
|
|
|
981
981
|
...t
|
|
982
982
|
}
|
|
983
983
|
);
|
|
984
|
-
},
|
|
984
|
+
}, jt = function(e) {
|
|
985
985
|
const { operators: r, ...t } = e;
|
|
986
986
|
return /* @__PURE__ */ l.createElement(
|
|
987
987
|
rt,
|
|
@@ -1150,37 +1150,37 @@ export {
|
|
|
1150
1150
|
bt as TREELIST_ROW_INDEX_ATTRIBUTE,
|
|
1151
1151
|
we as TreeList,
|
|
1152
1152
|
Ft as TreeListBooleanEditor,
|
|
1153
|
-
|
|
1153
|
+
jt as TreeListBooleanFilter,
|
|
1154
1154
|
le as TreeListCell,
|
|
1155
1155
|
At as TreeListDateEditor,
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1156
|
+
$t as TreeListDateFilter,
|
|
1157
|
+
Ut as TreeListDraggableRow,
|
|
1158
|
+
qt as TreeListHeaderCell,
|
|
1159
|
+
Vt as TreeListHeaderSelectionCell,
|
|
1160
1160
|
Se as TreeListNoRecords,
|
|
1161
1161
|
Ot as TreeListNumericEditor,
|
|
1162
|
-
|
|
1162
|
+
Gt as TreeListNumericFilter,
|
|
1163
1163
|
j as TreeListRow,
|
|
1164
1164
|
St as TreeListSelectionCell,
|
|
1165
1165
|
Lt as TreeListTextEditor,
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1166
|
+
Xt as TreeListTextFilter,
|
|
1167
|
+
Wt as TreeListToolbar,
|
|
1168
|
+
aa as createDataTree,
|
|
1169
|
+
na as extendDataItem,
|
|
1170
|
+
oa as filterBy,
|
|
1171
|
+
la as flatData,
|
|
1172
|
+
ra as getItemPath,
|
|
1173
|
+
Qt as getNestedValue,
|
|
1174
|
+
ia as getSelectedState,
|
|
1175
|
+
sa as getSelectedStateFromKeyDown,
|
|
1176
|
+
Zt as mapTree,
|
|
1177
|
+
ea as mapTreeItem,
|
|
1178
|
+
ca as modifySubItems,
|
|
1179
|
+
da as moveTreeItem,
|
|
1180
|
+
ha as orderBy,
|
|
1181
|
+
ga as removeItems,
|
|
1182
1182
|
vt as setHeaderRowsTop,
|
|
1183
|
-
|
|
1183
|
+
ua as setSelectedState,
|
|
1184
1184
|
xt as tableRowsVirtualization,
|
|
1185
|
-
|
|
1185
|
+
ma as treeToFlat
|
|
1186
1186
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-treelist",
|
|
3
|
-
"version": "7.0.2-develop.
|
|
3
|
+
"version": "7.0.2-develop.3",
|
|
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",
|
|
@@ -10,8 +10,14 @@
|
|
|
10
10
|
"types": "./index.d.ts",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
-
"import":
|
|
14
|
-
|
|
13
|
+
"import": {
|
|
14
|
+
"types": "./index.d.mts",
|
|
15
|
+
"default": "./index.mjs"
|
|
16
|
+
},
|
|
17
|
+
"require": {
|
|
18
|
+
"types": "./index.d.ts",
|
|
19
|
+
"default": "./index.js"
|
|
20
|
+
}
|
|
15
21
|
}
|
|
16
22
|
},
|
|
17
23
|
"sideEffects": false,
|
|
@@ -19,14 +25,14 @@
|
|
|
19
25
|
"@progress/kendo-data-query": "^1.0.0",
|
|
20
26
|
"@progress/kendo-date-math": "^1.4.1",
|
|
21
27
|
"@progress/kendo-drawing": "^1.17.2",
|
|
22
|
-
"@progress/kendo-licensing": "^1.3.
|
|
23
|
-
"@progress/kendo-react-common": "7.0.2-develop.
|
|
24
|
-
"@progress/kendo-react-data-tools": "7.0.2-develop.
|
|
25
|
-
"@progress/kendo-react-dateinputs": "7.0.2-develop.
|
|
26
|
-
"@progress/kendo-react-dialogs": "7.0.2-develop.
|
|
27
|
-
"@progress/kendo-react-dropdowns": "7.0.2-develop.
|
|
28
|
-
"@progress/kendo-react-inputs": "7.0.2-develop.
|
|
29
|
-
"@progress/kendo-react-intl": "7.0.2-develop.
|
|
28
|
+
"@progress/kendo-licensing": "^1.3.4",
|
|
29
|
+
"@progress/kendo-react-common": "7.0.2-develop.3",
|
|
30
|
+
"@progress/kendo-react-data-tools": "7.0.2-develop.3",
|
|
31
|
+
"@progress/kendo-react-dateinputs": "7.0.2-develop.3",
|
|
32
|
+
"@progress/kendo-react-dialogs": "7.0.2-develop.3",
|
|
33
|
+
"@progress/kendo-react-dropdowns": "7.0.2-develop.3",
|
|
34
|
+
"@progress/kendo-react-inputs": "7.0.2-develop.3",
|
|
35
|
+
"@progress/kendo-react-intl": "7.0.2-develop.3",
|
|
30
36
|
"@progress/kendo-svg-icons": "^2.0.0",
|
|
31
37
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
32
38
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|