@xfchenju/element-tree-line
Version:
给element-ui和element-plus的el-tree组件添加结构线的子组件
2 lines (1 loc) • 3.6 kB
JavaScript
"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?t(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function n(t,r,n){return(r=function(t){var r=function(t,r){if("object"!==e(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"===e(r)?r:String(r)}(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function o(e){var t=function(e){return{name:"element-tree-line",props:{node:{type:Object,required:!0},data:{type:Object},treeData:{type:Array},indent:{type:Number,default:function(){return 16}},showLabelLine:{type:Boolean,default:!0},offset:{type:Number,default:0}},render:function(t){for(var n=e||t,o=this.getScopedSlot("default"),i=this.getScopedSlot("node-label"),l=this.getScopedSlot("after-node-label"),a=o?this.getScopedSlotValue(o,{node:this.node,data:this.data}):[i?this.getScopedSlotValue(i,{node:this.node,data:this.data}):n("span",{class:"element-tree-node-label"},this.node.label),this.showLabelLine?n("span",{class:"element-tree-node-label-line"}):null,this.getScopedSlotValue(l,{node:this.node,data:this.data})],s=[],u=this.node;u;){var d=u.parent;if(1===u.level&&!u.parent){if(!this.treeData||!Array.isArray(this.treeData))throw Error("if you using el-tree-v2 (Virtualized Tree) of element-plus,element-tree-line required data.");d={children:Array.isArray(this.treeData)?this.treeData.map((function(e){return r(r({},e),{},{key:e.id})})):[],level:0,key:"node-0",parent:null}}if(d){var c=(d.children||d.childNodes).findIndex((function(e){return(e.key||e.id)===(u.key||u.id)}));s.unshift(c===(d.children||d.childNodes).length-1)}u=d}for(var f=[],p=0;p<this.node.level;p++)s[p]&&this.node.level-1!==p||f.push(n("span",{class:{"element-tree-node-line-ver":!0,"last-node-isLeaf-line":s[p]&&this.node.level-1===p},style:{left:this.offset+this.indent*p+"px"}}));return n("span",{class:"element-tree-node-label-wrapper"},[a].concat(f).concat([n("span",{class:"element-tree-node-line-hor",style:{width:(this.node.isLeaf?24:8)+"px",left:this.offset+(this.node.level-1)*this.indent+"px"}})]))},methods:{getScopedSlot:function(e){if(!e)return null;for(var t=e.split("||"),r=null,n=0;n<t.length;n++){var o=t[n],i=(this.$slots||{})[o];if(i){r=i;break}if(r=(this.$scopedSlots||{})[o])break}return r},getScopedSlotValue:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return"function"==typeof e?e(t)||r:e||r}}}}(e);return e&&(t.methods.getScopedSlot=function(e){if(!e)return null;for(var t=e.split("||"),r=null,n=0;n<t.length;n++){var o=t[n],i=(this.$slots||{})[o];if(i){r=i;break}}return r}),t}Object.defineProperty(exports,"__esModule",{value:!0});var i=o();exports.default=i,exports.getElementLabelLine=o;