diff --git a/index.html b/index.html index a2ffcb0a..eac839ec 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@
((e,t,n)=>{const{items:l,lastVisitedIndex:o}=t;return(o>0?l[o].offset:0)>=n?xL(e,t,0,o,n):kL(e,t,Math.max(0,o),n)})(e,n,t),getStopIndexForStartIndex:(e,t,n,l)=>{const{height:o,total:a,layout:r,width:s}=e,i=fL(r)?s:o,u=wL(e,t,l),c=n+i;let d=u.offset+u.size,p=t;for(;p {const l=$L(e,t,n,"column");return[l.size,l.offset]},getRowPosition:(e,t,n)=>{const l=$L(e,t,n,"row");return[l.size,l.offset]},getColumnOffset:(e,t,n,l,o,a)=>VL(e,t,n,l,o,"column",a),getRowOffset:(e,t,n,l,o,a)=>VL(e,t,n,l,o,"row",a),getColumnStartIndexForOffset:(e,t,n)=>AL(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,l)=>{const o=$L(e,t,l,"column"),a=n+e.width;let r=o.offset+o.size,s=t;for(;s {Array.isArray(e)||(e=[e]);const n={};return e.forEach((e=>{C.value[e.id]=t,n[e.columnKey||e.id]=t})),n},updateCurrentRow:U,updateSort:R,execFilter:A,execSort:L,execQuery:e=>{e&&e.filter||A(),L()},clearFilter:e=>{const{tableHeaderRef:n}=t.refs;if(!n)return;const l=Object.assign({},n.filterPanels),o=Object.keys(l);if(o.length)if("string"==typeof e&&(e=[e]),Array.isArray(e)){const n=e.map((e=>function(e,t){let n=null;for(let l=0;l{a(),QP(this)}),{checked:!1!==e});a()}const o=this.parent;o&&0!==o.level&&(n||QP(o))}getChildren(e=!1){if(0===this.level)return this.data;const t=this.data;if(!t)return null;const n=this.store.props;let l="children";return n&&(l=n.children||"children"),void 0===t[l]&&(t[l]=null),e&&!t[l]&&(t[l]=[]),t[l]}updateChildren(){const e=this.getChildren()||[],t=this.childNodes.map((e=>e.data)),n={},l=[];e.forEach(((e,o)=>{const a=e[GP];!!a&&t.findIndex((e=>e[GP]===a))>=0?n[a]={index:o,data:e}:l.push({index:o,data:e})})),this.store.lazy||t.forEach((e=>{n[e[GP]]||this.removeChildByData(e)})),l.forEach((({index:e,data:t})=>{this.insertChild({data:t},e)})),this.updateLeafState()}loadData(e,t={}){if(!0!==this.store.lazy||!this.store.load||this.loaded||this.loading&&!Object.keys(t).length)e&&e.call(this);else{this.loading=!0;const n=n=>{this.loaded=!0,this.loading=!1,this.childNodes=[],this.doCreateChildren(n,t),this.updateLeafState(),e&&e.call(this,n)};this.store.load(this,n)}}}class lz{constructor(e){this.currentNode=null,this.currentNodeKey=null;for(const t in e)E(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new nz({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){(0,this.load)(this.root,(e=>{this.root.doCreateChildren(e),this._initDefaultCheckedNodes()}))}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,n=this.lazy,l=function(o){const a=o.root?o.root.childNodes:o.childNodes;if(a.forEach((n=>{n.visible=t.call(n,e,n.data,n),l(n)})),!o.visible&&a.length){let e=!0;e=!a.some((e=>e.visible)),o.root?o.root.visible=!1===e:o.visible=!1===e}e&&(!o.visible||o.isLeaf||n||o.expand())};l(this)}setData(e){e!==this.root.data?(this.root.setData(e),this._initDefaultCheckedNodes()):this.root.updateChildren()}getNode(e){if(e instanceof nz)return e;const t=R(e)?ZP(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){const n=this.getNode(t);n.parent.insertBefore({data:e},n)}insertAfter(e,t){const n=this.getNode(t);n.parent.insertAfter({data:e},n)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const n=t?this.getNode(t):this.root;n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach((e=>{const n=t[e];n&&n.setChecked(!0,!this.checkStrictly)}))}_initDefaultCheckedNode(e){(this.defaultCheckedKeys||[]).includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(e&&e.data)if(t){void 0!==e.key&&(this.nodesMap[e.key]=e)}else this.nodesMap[e.id]=e}deregisterNode(e){this.key&&e&&e.data&&(e.childNodes.forEach((e=>{this.deregisterNode(e)})),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const n=[],l=function(o){(o.root?o.root.childNodes:o.childNodes).forEach((o=>{(o.checked||t&&o.indeterminate)&&(!e||e&&o.isLeaf)&&n.push(o.data),l(o)}))};return l(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map((e=>(e||{})[this.key]))}getHalfCheckedNodes(){const e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach((n=>{n.indeterminate&&e.push(n.data),t(n)}))};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map((e=>(e||{})[this.key]))}_getAllNodes(){const e=[],t=this.nodesMap;for(const n in t)E(t,n)&&e.push(t[n]);return e}updateChildren(e,t){const n=this.nodesMap[e];if(!n)return;const l=n.childNodes;for(let o=l.length-1;o>=0;o--){const e=l[o];this.remove(e.data)}for(let o=0,a=t.length;ot.level-e.level)),o=Object.create(null),a=Object.keys(n);l.forEach((e=>e.setChecked(!1,!1)));for(let r=0,s=l.length;r0;)o[i.data[e]]=!0,i=i.parent;if(n.isLeaf||this.checkStrictly)n.setChecked(!0,!1);else if(n.setChecked(!0,!0),t){n.setChecked(!1,!1);const e=function(t){t.childNodes.forEach((t=>{t.isLeaf||t.setChecked(!1,!1),e(t)}))};e(n)}}}setCheckedNodes(e,t=!1){const n=this.key,l={};e.forEach((e=>{l[(e||{})[n]]=!0})),this._setCheckedKeys(n,t,l)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,l={};e.forEach((e=>{l[e]=!0})),this._setCheckedKeys(n,t,l)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach((e=>{const t=this.getNode(e);t&&t.expand(null,this.autoExpandParent)}))}setChecked(e,t,n){const l=this.getNode(e);l&&l.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const n=e[this.key],l=this.nodesMap[n];this.setCurrentNode(l),t&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(null==e)return this.currentNode&&(this.currentNode.isCurrent=!1),void(this.currentNode=null);const n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0))}}var oz=Kx(zn({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=jw("tree"),n=Cn("NodeInstance"),l=Cn("RootTree");return()=>{const o=e.node,{data:a,store:r}=o;return e.renderContent?e.renderContent(Xo,{_self:n,node:o,data:a,store:r}):l.ctx.slots.default?l.ctx.slots.default({node:o,data:a}):Xo("span",{class:t.be("node","label")},[o.label])}}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/tree/src/tree-node-content.vue"]]);function az(e){const t=Cn("TreeNodeMap",null),n={treeNodeExpand:t=>{e.node!==t&&e.node.collapse()},children:[]};return t&&t.children.push(n),kn("TreeNodeMap",n),{broadcastExpanded:t=>{if(e.accordion)for(const e of n.children)e.treeNodeExpand(t)}}}const rz=Symbol("dragEvents");const sz=zn({name:"ElTreeNode",components:{ElCollapseTransition:iT,ElCheckbox:iO,NodeContent:oz,ElIcon:Ux,Loading:Lg},props:{node:{type:nz,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:{type:Boolean,default:!1}},emits:["node-expand"],setup(e,t){const n=jw("tree"),{broadcastExpanded:l}=az(e),o=Cn("RootTree"),a=xt(!1),r=xt(!1),s=xt(null),i=xt(null),u=xt(null),c=Cn(rz),d=Ao();kn("NodeInstance",d),e.node.expanded&&(a.value=!0,r.value=!0);const p=o.props.children||"children";_n((()=>{const t=e.node.data[p];return t&&[...t]}),(()=>{e.node.updateChildren()})),_n((()=>e.node.indeterminate),(t=>{f(e.node.checked,t)})),_n((()=>e.node.checked),(t=>{f(t,e.node.indeterminate)})),_n((()=>e.node.expanded),(e=>{en((()=>a.value=e)),e&&(r.value=!0)}));const f=(t,n)=>{s.value===t&&i.value===n||o.ctx.emit("check-change",e.node.data,t,n),s.value=t,i.value=n},h=()=>{e.node.isLeaf||(a.value?(o.ctx.emit("node-collapse",e.node.data,e.node,d),e.node.collapse()):(e.node.expand(),t.emit("node-expand",e.node.data,e.node,d)))},v=(t,n)=>{e.node.setChecked(n.target.checked,!o.props.checkStrictly),en((()=>{const t=o.store.value;o.ctx.emit("check",e.node.data,{checkedNodes:t.getCheckedNodes(),checkedKeys:t.getCheckedKeys(),halfCheckedNodes:t.getHalfCheckedNodes(),halfCheckedKeys:t.getHalfCheckedKeys()})}))};return{ns:n,node$:u,tree:o,expanded:a,childNodeRendered:r,oldChecked:s,oldIndeterminate:i,getNodeKey:e=>ZP(o.props.nodeKey,e.data),getNodeClass:t=>{const n=e.props.class;if(!n)return{};let l;if(I(n)){const{data:e}=t;l=n(e,t)}else l=n;return N(l)?{[l]:!0}:l},handleSelectChange:f,handleClick:t=>{const n=o.store.value;n.setCurrentNode(e.node),o.ctx.emit("current-change",n.currentNode?n.currentNode.data:null,n.currentNode),o.currentNode.value=e.node,o.props.expandOnClickNode&&h(),o.props.checkOnClickNode&&!e.node.disabled&&v(null,{target:{checked:!e.node.checked}}),o.ctx.emit("node-click",e.node.data,e.node,d,t)},handleContextMenu:t=>{o.instance.vnode.props.onNodeContextmenu&&(t.stopPropagation(),t.preventDefault()),o.ctx.emit("node-contextmenu",t,e.node.data,e.node,d)},handleExpandIconClick:h,handleCheckChange:v,handleChildNodeExpand:(e,t,n)=>{l(t),o.ctx.emit("node-expand",e,t,n)},handleDragStart:t=>{o.props.draggable&&c.treeNodeDragStart({event:t,treeNode:e})},handleDragOver:t=>{t.preventDefault(),o.props.draggable&&c.treeNodeDragOver({event:t,treeNode:{$el:u.value,node:e.node}})},handleDrop:e=>{e.preventDefault()},handleDragEnd:e=>{o.props.draggable&&c.treeNodeDragEnd(e)},CaretRight:fm}}}),iz=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],uz=["aria-expanded"];const cz=zn({name:"ElTree",components:{ElTreeNode:Kx(sz,[["render",function(e,t,n,l,o,r){const s=sl("el-icon"),i=sl("el-checkbox"),c=sl("loading"),d=sl("node-content"),p=sl("el-tree-node"),f=sl("el-collapse-transition");return al((io(),fo("div",{ref:"node$",class:u([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[1]||(t[1]=Ga(((...t)=>e.handleClick&&e.handleClick(...t)),["stop"])),onContextmenu:t[2]||(t[2]=(...t)=>e.handleContextMenu&&e.handleContextMenu(...t)),onDragstart:t[3]||(t[3]=Ga(((...t)=>e.handleDragStart&&e.handleDragStart(...t)),["stop"])),onDragover:t[4]||(t[4]=Ga(((...t)=>e.handleDragOver&&e.handleDragOver(...t)),["stop"])),onDragend:t[5]||(t[5]=Ga(((...t)=>e.handleDragEnd&&e.handleDragEnd(...t)),["stop"])),onDrop:t[6]||(t[6]=Ga(((...t)=>e.handleDrop&&e.handleDrop(...t)),["stop"]))},[wo("div",{class:u(e.ns.be("node","content")),style:a({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(io(),ho(s,{key:0,class:u([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Ga(e.handleExpandIconClick,["stop"])},{default:gn((()=>[(io(),ho(ul(e.tree.props.icon||e.CaretRight)))])),_:1},8,["class","onClick"])):Eo("v-if",!0),e.showCheckbox?(io(),ho(i,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Ga((()=>{}),["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):Eo("v-if",!0),e.node.loading?(io(),ho(s,{key:2,class:u([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:gn((()=>[xo(c)])),_:1},8,["class"])):Eo("v-if",!0),xo(d,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),xo(f,null,{default:gn((()=>[!e.renderAfterExpand||e.childNodeRendered?al((io(),fo("div",{key:0,class:u(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded},[(io(!0),fo(no,null,fl(e.node.childNodes,(t=>(io(),ho(p,{key:e.getNodeKey(t),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:t,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"])))),128))],10,uz)),[[Ja,e.expanded]]):Eo("v-if",!0)])),_:1})],42,iz)),[[Ja,e.node.visible]])}],["__file","/home/runner/work/element-plus/element-plus/packages/components/tree/src/tree-node.vue"]])},props:{data:{type:Array,default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:[String,Object]},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(e,t){const{t:n}=zw(),l=jw("tree"),o=xt(new lz({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));o.value.initialize();const a=xt(o.value.root),r=xt(null),s=xt(null),i=xt(null),{broadcastExpanded:u}=az(e),{dragState:c}=function({props:e,ctx:t,el$:n,dropIndicator$:l,store:o}){const a=jw("tree"),r=xt({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return kn(rz,{treeNodeDragStart:({event:n,treeNode:l})=>{if("function"==typeof e.allowDrag&&!e.allowDrag(l.node))return n.preventDefault(),!1;n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain","")}catch(tM){}r.value.draggingNode=l,t.emit("node-drag-start",l.node,n)},treeNodeDragOver:({event:o,treeNode:s})=>{const i=s,u=r.value.dropNode;u&&u!==i&&Nv(u.$el,a.is("drop-inner"));const c=r.value.draggingNode;if(!c||!i)return;let d=!0,p=!0,f=!0,h=!0;"function"==typeof e.allowDrop&&(d=e.allowDrop(c.node,i.node,"prev"),h=p=e.allowDrop(c.node,i.node,"inner"),f=e.allowDrop(c.node,i.node,"next")),o.dataTransfer.dropEffect=p||d||f?"move":"none",(d||p||f)&&u!==i&&(u&&t.emit("node-drag-leave",c.node,u.node,o),t.emit("node-drag-enter",c.node,i.node,o)),(d||p||f)&&(r.value.dropNode=i),i.node.nextSibling===c.node&&(f=!1),i.node.previousSibling===c.node&&(d=!1),i.node.contains(c.node,!1)&&(p=!1),(c.node===i.node||c.node.contains(i.node))&&(d=!1,p=!1,f=!1);const v=i.$el.getBoundingClientRect(),m=n.value.getBoundingClientRect();let g;const y=d?p?.25:f?.45:1:-1,b=f?p?.75:d?.55:0:1;let w=-9999;const x=o.clientY-v.top;g=x=t||n<0||d&&e-u>=a}function m(){var e=vh();if(v(e))return g(e);s=setTimeout(m,function(e){var n=t-(e-i);return d?gh(n,a-(e-u)):n}(e))}function g(e){return s=void 0,p&&l?f(e):(l=o=void 0,r)}function y(){var e=vh(),n=v(e);if(l=arguments,o=this,i=e,n){if(void 0===s)return h(i);if(d)return clearTimeout(s),s=setTimeout(m,t),f(i)}return void 0===s&&(s=setTimeout(m,t)),r}return t=Od(t)||0,kd(n)&&(c=!!n.leading,a=(d="maxWait"in n)?mh(Od(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==s&&clearTimeout(s),u=0,l=i=o=s=void 0},y.flush=function(){return void 0===s?r:g(vh())},y}function bh(e){return fd(e)&&fp(e)}function wh(e,t,n){for(var l=-1,o=null==e?0:e.length;++l