@v-charts2/tree
Version:
echarts 树图
8 lines (7 loc) • 12.3 kB
JavaScript
/* eslint-disable */
/**
* name: @v-charts2/tree
* version: v1.0.1-alpha.4
* author: vxhly <pengchengou@gmail.com>
*/
var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,o)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,__spreadValues=(e,t)=>{for(var o in t||(t={}))__hasOwnProp.call(t,o)&&__defNormalProp(e,o,t[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(t))__propIsEnum.call(t,o)&&__defNormalProp(e,o,t[o]);return e};!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("utils-lite"),require("echarts/components"),require("echarts/core"),require("echarts/features"),require("echarts/renderers"),require("numerify"),require("echarts/charts")):"function"==typeof define&&define.amd?define(["exports","utils-lite","echarts/components","echarts/core","echarts/features","echarts/renderers","numerify","echarts/charts"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@v-charts2/wordcloud"]=e["@v-charts2/wordcloud"]||{},e.utilsLite,e["echarts/components"],e.echartsLib,e["echarts/features"],e["echarts/renderers"],e.numerify,e["echarts/charts"])}(this,(function(e,t,o,r,n,i,s,a){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t={__proto__:null,[Symbol.toStringTag]:"Module"};return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var p=c(r),h=l(s);const d=(e,o,r,n)=>{const{dimension:i=e[0],metrics:s=e[1],seriesMap:a={}}=r,{legendVisible:l,tooltipFormatter:c,tooltipVisible:p}=n,h=function(e){const{dimension:o,metrics:r,rows:n,seriesMap:i}=e,s=[];return n.forEach((e=>{const n=e[o],a=i[n],l={type:"tree",name:e[o],data:e[r]};i[e[o]]&&Object.keys(a).forEach((e=>{t.isObject(l[e])?Object.assign(l[e],a[e]):l[e]=a[e]})),s.push(l)})),s}({dimension:i,metrics:s,rows:o,seriesMap:a}),d=l&&o.length>1&&function(e){const{dimension:t,rows:o}=e;return{data:o.map((e=>e[t]))}}({dimension:i,rows:o}),u=p&&function(e){const{tooltipFormatter:t}=e;return{trigger:"item",triggerOn:"mousemove",formatter:t}}({tooltipFormatter:c});return{series:h,legend:d,tooltip:u}};p.use([o.TitleComponent,o.TooltipComponent,o.GridComponent,o.DatasetComponent,o.TransformComponent,n.LabelLayout,n.UniversalTransition,i.SVGRenderer,i.CanvasRenderer,o.LegendComponent]);const u={categoryAxis:{axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},valueAxis:{axisLine:{show:!1}},line:{smooth:!0},legend:{top:20},grid:{containLabel:!0,top:100,left:20,right:20,bottom:20}},y=["#19d4ae","#5ab1ef","#fa6e86","#ffb980","#0067a6","#c4b4e4","#d87a80","#9cbbff","#d9d0c7","#87a997","#d49ea2","#5b4947","#7ba3a8"],f=["initOptions","loading","dataEmpty","judgeWidth","widthChangeDelay"],b=["grid","dataZoom","visualMap","toolbox","title","legend","xAxis","yAxis","radar","tooltip","axisPointer","brush","geo","timeline","graphic","series","backgroundColor","textStyle"],g={data:{type:[Object,Array],default:()=>({})},settings:{type:Object,default:()=>({})},width:{type:String,default:"auto"},height:{type:String,default:"400px"},beforeConfig:{type:Function},afterConfig:{type:Function},afterSetOption:{type:Function},afterSetOptionOnce:{type:Function},events:{type:Object},grid:{type:[Object,Array]},colors:{type:Array},tooltipVisible:{type:Boolean,default:!0},legendVisible:{type:Boolean,default:!0},legendPosition:{type:String},markLine:{type:Object},markArea:{type:Object},markPoint:{type:Object},visualMap:{type:[Object,Array]},dataZoom:{type:[Object,Array]},toolbox:{type:[Object,Array]},initOptions:{type:Object,default:()=>({})},title:[Object,Array],legend:[Object,Array],xAxis:[Object,Array],yAxis:[Object,Array],radar:Object,tooltip:Object,axisPointer:[Object,Array],brush:[Object,Array],geo:[Object,Array],timeline:[Object,Array],graphic:[Object,Array],series:[Object,Array],backgroundColor:[Object,String],textStyle:[Object,Array],animation:Object,theme:Object,themeName:String,loading:Boolean,dataEmpty:Boolean,extend:Object,judgeWidth:{type:Boolean,default:!1},widthChangeDelay:{type:Number,default:300},tooltipFormatter:{type:Function},resizeable:{type:Boolean,default:!0},resizeDelay:{type:Number,default:200},changeDelay:{type:Number,default:0},setOptionOpts:{type:[Boolean,Object],default:!0},cancelResizeCheck:Boolean,notSetUnchange:Array,log:Boolean,renderer:{type:String,default:"canvas",validator:e=>["svg","canvas"].indexOf(e)>-1}};function m(e,t){Object.keys(t).forEach((o=>{t[o]&&(e[o]=t[o])}))}const v=({echarts:e,props:t,canvas:o,options:r}={})=>{if(e)return;const{registeredEvents:n,_once:i,el:s}=r,a=(null==t?void 0:t.themeName)||(null==t?void 0:t.theme)||u;return e=p.init(o,a,__spreadValues({renderer:null==t?void 0:t.renderer},null==t?void 0:t.initOptions)),(null==t?void 0:t.data)&&O({props:t,options:r,echarts:e}),j({registeredEvents:n,echarts:e,props:t}),(null==t?void 0:t.resizeable)&&x({_once:i,props:t,el:s,echarts:e}),{echarts:e}},O=({props:e,options:o,echarts:r}={})=>t.debounce(w({props:e,options:o,echarts:r}),null==e?void 0:e.changeDelay),_=({props:e,el:o,echarts:r}={})=>t.debounce(S({props:e,el:o,echarts:r}),null==e?void 0:e.resizeDelay),j=({registeredEvents:e,echarts:t,props:o})=>{const r=Object.keys((null==o?void 0:o.events)||{});r.length&&r.forEach((r=>{var n;-1===e.indexOf(r)&&(e.push(r),t.on(r,(n=r,function(...e){n in o.events&&(null==o||o.events[n].apply(null,e))})))}))},x=({_once:e,props:t,el:o,echarts:r})=>{window.addEventListener("resize",(()=>_({props:t,el:o,echarts:r}))),e.onresize=!0},k=({_once:e})=>{window.removeEventListener("resize",_),e.onresize=!1},w=({props:e,options:t,echarts:o}={})=>{const{chartHandler:r,chartColor:n,_once:i}=t;if(!r)return;let s=null==e?void 0:e.data;const{columns:a=[],rows:l=[]}=s,c={tooltipVisible:null==e?void 0:e.tooltipVisible,legendVisible:null==e?void 0:e.legendVisible,echarts:o,color:n,tooltipFormatter:null==e?void 0:e.tooltipFormatter,_once:i};(null==e?void 0:e.beforeConfig)&&(s=null==e?void 0:e.beforeConfig(s));const p=r(a,l,null==e?void 0:e.settings,c);p&&("function"==typeof p.then?p.then((r=>{P({chartOptions:r,props:e,options:t,echarts:o})})):P({chartOptions:p,props:e,options:t,echarts:o}))},P=({chartOptions:e,props:o,options:r,echarts:n,nextTick:i})=>{const{chartColor:s,_store:a,_once:l,el:c,readyCallback:h,readyOnceCallback:d}=r;if((null==o?void 0:o.legendPosition)&&e.legend&&(e.legend[null==o?void 0:o.legendPosition]=10,~["left","right"].indexOf(null==o?void 0:o.legendPosition)&&(e.legend.top="middle",e.legend.orient="vertical")),e.color=s,b.forEach((t=>{(null==o?void 0:o[t])&&(e[t]=null==o?void 0:o[t])})),(null==o?void 0:o.animation)&&function(e,t){Object.keys(t).forEach((o=>{e[o]=t[o]}))}(e,null==o?void 0:o.animation),(null==o?void 0:o.markArea)||(null==o?void 0:o.markLine)||(null==o?void 0:o.markPoint)){const r={markArea:null==o?void 0:o.markArea,markLine:null==o?void 0:o.markLine,markPoint:null==o?void 0:o.markPoint},n=e.series;t.isArray(n)?n.forEach((e=>{m(e,r)})):t.isObject(n)&&m(n,r)}(null==o?void 0:o.extend)&&function(e,o){Object.keys(o).forEach((r=>{const n=o[r];~r.indexOf(".")?t.set(e,r,n):"function"==typeof n?e[r]=n(e[r]):t.isArray(e[r])&&t.isObject(e[r][0])?e[r].forEach(((t,o)=>{e[r][o]=Object.assign({},t,n)})):t.isObject(e[r])?e[r]=Object.assign({},e[r],n):e[r]=n}))}(e,null==o?void 0:o.extend),(null==o?void 0:o.afterConfig)&&(e=null==o?void 0:o.afterConfig(e));let u=null==o?void 0:o.setOptionOpts;!(null==o?void 0:o.settings.bmap)&&!(null==o?void 0:o.settings.amap)||t.isObject(u)||(u=!1),(null==o?void 0:o.notSetUnchange)&&(null==o?void 0:o.notSetUnchange.length)&&(null==o||o.notSetUnchange.forEach((o=>{const r=e[o];r&&(t.isEqual(r,a[o])?e[o]=void 0:a[o]=t.cloneDeep(r))})),t.isObject(u)?u.notMerge=!1:u=!1),null==o||o.log,n.setOption(e,u),h instanceof Function&&h(n,e,p),l["ready-once"]||(l["ready-once"]=!0,d instanceof Function&&d(n,e,p)),(null==o?void 0:o.judgeWidth)&&T({props:o,el:c,nextTick:i,echarts:n}),(null==o?void 0:o.afterSetOption)&&(null==o||o.afterSetOption(n,e,p)),(null==o?void 0:o.afterSetOptionOnce)&&!l.afterSetOptionOnce&&(l.afterSetOptionOnce=!0,null==o||o.afterSetOptionOnce(n,e,p))},T=({props:e,el:t,nextTick:o,echarts:r})=>{t.clientWidth||t.clientHeight?S({props:e,el:t,echarts:r}):o((()=>{t.clientWidth||t.clientHeight?S({props:e,el:t,echarts:r}):setTimeout((()=>{S({props:e,el:t,echarts:r}),!t.clientWidth||t.clientHeight}),null==e?void 0:e.widthChangeDelay)}))},S=({props:e,el:t,echarts:o}={})=>{((null==e?void 0:e.cancelResizeCheck)||t&&t.clientWidth&&t.clientHeight)&&A(o)},A=e=>{e&&e.resize()},E=(e,t)=>{let{echarts:o,option:{_once:r}}=e;C({echarts:o,props:t,_once:r}),o=null,v(e)},C=({echarts:e,props:t,_once:o})=>{(null==t?void 0:t.resizeable)&&k({_once:o}),e&&e.dispose()};var $={render(e){return e("div",{class:[t.camelToKebab(this.$options.name||this.$options._componentTag)],style:this.canvasStyle},[e("div",{style:this.canvasStyle,class:{"v-charts-mask-status":this.dataEmpty||this.loading},ref:"canvas"}),e("div",{class:"v-charts-data-empty",style:{display:this.dataEmpty?"":"none"}},"暂无数据"),e("div",{style:{display:this.loading?"":"none"},class:"v-charts-component-loading"},[e("div",{class:"loader"},[e("div",{class:"loading-spinner"},[e("svg",{class:"circular",attrs:{viewBox:"25 25 50 50"}},[e("circle",{class:"path",attrs:{cx:"50",cy:"50",r:"20",fill:"none"}})])])])]),this.$slots.default])},props:g,created(){this.echarts=null,this.registeredEvents=[],this._once={},this._store={},this._watchers=[],this.initPayload={}},data:()=>({chartLib:null,echarts:null,registeredEvents:[],_once:{},_store:{},_watchers:[],initPayload:{}}),watch:{data:{deep:!0,handler(e){e&&O({props:this.$props,options:this.initPayload.options,echarts:this.echarts})}},settings:{deep:!0,handler(e){e.type&&this.chartLib&&(this.chartHandler=this.chartLib[e.type]),this.initPayload.options.chartHandler=this.chartLib[e.type],O({props:this.$props,options:this.initPayload.options,echarts:this.echarts})}},width:"nextTickResize",height:"nextTickResize",events:{deep:!0,handler(){j({registeredEvents:this.registeredEvents,echarts:this.echarts,props:this.$props})}},theme:{deep:!0,handler(e){E(this.initPayload,g)}},themeName:e=>{E(globalThis.initPayload,g)},resizeable:e=>{globalThis.$nextTick((()=>{(({resizeable:e,_once:t,props:o,el:r,echarts:n})=>{e&&!t.onresize&&x({_once:t,props:o,el:r,echarts:n}),!e&&t.onresize&&k({_once:t})})({resizeable:globalThis.resizeable,_once:globalThis._once,props:globalThis.$props,el:globalThis.$el,echarts:globalThis.echarts})}))}},computed:{canvasStyle(){return{width:this.width,height:this.height,position:"relative"}},chartColor(){return this.colors||this.theme&&this.theme.color||y}},mounted(){const{echarts:e,$props:t,$el:o,registeredEvents:r,chartHandler:n,_once:i,_store:s,$nextTick:a,_watchers:l}=this,c={echarts:e,props:t,canvas:this.$refs.canvas,options:{el:o,registeredEvents:r,chartHandler:n,chartColor:this.chartColor,_once:i,_store:s,readyCallback:(e,t,o)=>{this.$emit("ready",e,t,o)},readyOnceCallback:(e,t,o)=>{this.$emit("ready-once",e,t,o)}},nextTick:a},{echarts:p}=v(c);this.echarts=p,this.initPayload=c,this.addWatchToProps({_watchers:l,props:t,options:c.options,echarts:this.echarts})},beforeDestroy(){C({echarts:this.echarts,props:this.$props,_once:this._once})},methods:{addWatchToProps(){const e=this._watchers.map((e=>e.expression));Object.keys(this.$props).forEach((o=>{if(!~e.indexOf(o)&&!~f.indexOf(o)){const e={};~["[object Object]","[object Array]"].indexOf(t.getType(this.$props[o]))&&(e.deep=!0),this.$watch(o,(()=>{O({props:this.$props,options:this.initPayload.options,echarts:this.echarts})}),e)}}))},nextTickResize(){this.$nextTick(S({props:this.$props,el:this.$el,echarts:this.echarts}))}},_numerify:h.default};p.use([a.TreeChart]);const z=Object.assign({},$,{name:"VeTree",data(){return this.chartHandler=d,{}}});z.install=e=>{e.component(z.name,z)},e.default=z,Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));