ray-template/assets/index-d9413ef4.js
2023-07-05 17:16:47 +08:00

2 lines
6.6 KiB
JavaScript

import{d as k,S as U,r as f,l as D,w as F,m as j,b as P,n as M,j as N,P as t,p as W,R as q,e as i}from"./vue-vendor-dfef56cd.js";import{t as G,n as H}from"./utils-vendor-532067a6.js";import{T as X,ab as O,ac as J,ad as K,ae as x,aa as R}from"./index-1016cc88.js";import{u as h,i as Q,a as Y,b as Z,c as _,d as I,e as ee,f as te,g as ae,h as se,j as ne,k as ie,l as ue,m as oe,n as le,o as re,p as ce,q as de,r as he}from"./echarts-vendor-858f287a.js";import{b as o,a as fe}from"./p-b7cabb21.js";const T=e=>Object.assign({},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.9)",zlevel:0,fontSize:12,showSpinner:!0,spinnerRadius:10,lineWidth:5,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif"},e),c=k({name:"RayChart",props:{width:{type:String,default:"100%"},height:{type:String,default:"100%"},autoResize:{type:[Boolean,Object],default:!0},canvasRender:{type:Boolean,default:!0},showAria:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},success:{type:Function,default:()=>({})},error:{type:Function,default:()=>({})},theme:{type:[String,Object],default:""},autoChangeTheme:{type:Boolean,default:!1},use:{type:Array,default:()=>[]},watchOptions:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingOptions:{type:Object,default:()=>T()}},setup(e,{expose:p}){const g=X(),{themeValue:l}=U(g),E=f(),m=f();let a,d;const b=D(()=>({"--ray-chart-width":O(e.width),"--ray-chart-height":O(e.height)})),A=D(()=>T(e.loadingOptions)),u=async()=>{h([Y,Z,_,I,ee,te,ae,se]),h([ne,ie,ue,oe,le,re]),h([ce,de]),h([he]);try{h(e.use)}catch{console.error("Error: wrong property and method passed in extend attribute")}},w=()=>{let s=H(e.options);const r=y=>Object.assign({},s,y);return e.showAria&&(s=r({aria:{enabled:!0,decal:{show:!0}}})),s},n=s=>{var v,B;const r=E.value,y=w(),{height:L,width:V}=r.getBoundingClientRect();L===0&&x(r,{height:"200px"}),V===0&&x(r,{width:"200px"});try{a=Q(r,s),m.value=a,y&&a.setOption(y),(v=e.success)==null||v.call(e,a)}catch(z){(B=e.error)==null||B.call(e),console.error(z)}},S=s=>{if(e.autoChangeTheme){n(s?"dark":"");return}e.theme||n("")},C=()=>{a&&(a.clear(),a.dispose())},$=()=>{a&&a.resize()};return F(()=>[l.value],([s])=>{e.autoChangeTheme&&(C(),S(s))}),F(()=>e.showAria,()=>{C(),(e.autoChangeTheme||e.theme)&&l.value?n("dark"):n("")}),F(()=>e.loading,s=>{s?a==null||a.showLoading(A.value):a==null||a.hideLoading()}),e.watchOptions&&F(()=>e.watchOptions,()=>{const s=w();a==null||a.setOption(s)}),j(async()=>{await u()}),P(()=>{M(()=>{e.autoChangeTheme?S(l.value):e.theme?n("dark"):n(""),e.autoResize&&(d=G($,1e3),J(window,"resize",d))})}),N(()=>{C(),K(window,"resize",d),d.cancel()}),p({echart:m}),{rayChartRef:E,cssVarsRef:b,echartInstance:m}},render(){return t("div",{class:"ray-chart",style:[this.cssVarsRef],ref:"rayChartRef"},null)}}),Ee=k({name:"REchart",setup(){const e=f(),p=f(!1),g=f(!1),l=W({loading:!1});return{baseOptions:{legend:{},tooltip:{},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},yAxis:{type:"value"},series:[{name:"日期",data:[120,200,150,80,70,110,130],type:"bar",showBackground:!0,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)"}}]},baseChartRef:e,chartLoading:p,handleLoadingShow:u=>{l.loading=u},chartAria:g,handleAriaShow:u=>{g.value=u},handleChartRenderSuccess:u=>{window.$notification.info({title:"可视化图渲染成功回调函数",content:"可视化图渲染成功, 并且返回了当前可视化图实例",duration:5*1e3}),e.value},basePieOptions:{title:{text:"Referer of a Website",subtext:"Fake Data",left:"center"},tooltip:{trigger:"item"},legend:{orient:"vertical",left:"left"},series:[{name:"Access From",type:"pie",radius:"50%",data:[{value:1048,name:"Search Engine"},{value:735,name:"Direct"},{value:580,name:"Email"},{value:484,name:"Union Ads"},{value:300,name:"Video Ads"}],emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]},baseLineOptions:{title:{text:"Stacked Area Chart"},tooltip:{trigger:"axis",axisPointer:{type:"cross",label:{backgroundColor:"#6a7985"}}},legend:{data:["Email","Union Ads","Video Ads","Direct","Search Engine"]},toolbox:{feature:{saveAsImage:{}}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:[{type:"category",boundaryGap:!1,data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]}],yAxis:[{type:"value"}],series:[{name:"Email",type:"line",stack:"Total",areaStyle:{},emphasis:{focus:"series"},data:[120,132,101,134,90,230,210]},{name:"Union Ads",type:"line",stack:"Total",areaStyle:{},emphasis:{focus:"series"},data:[220,182,191,234,290,330,310]},{name:"Video Ads",type:"line",stack:"Total",areaStyle:{},emphasis:{focus:"series"},data:[150,232,201,154,190,330,410]},{name:"Direct",type:"line",stack:"Total",areaStyle:{},emphasis:{focus:"series"},data:[320,332,301,334,390,330,320]},{name:"Search Engine",type:"line",stack:"Total",label:{show:!0,position:"top"},areaStyle:{},emphasis:{focus:"series"},data:[820,932,901,934,1290,1330,1320]}]},...q(l)}},render(){return t("div",{class:"echart"},[t(o,null,{default:()=>[i("RayChart 组件使用")]}),t(fe,null,{default:()=>[i("该组件会默认以 200*200 宽高进行填充。预设了常用的图、方法组件,如果不满足需求,需要用 use 方法进行手动拓展。该组件实现了自动跟随模板主题切换功能,但是动态切换损耗较大,所以默认不启用")]}),t(o,null,{default:()=>[i("基础使用")]}),t("div",{class:"chart--container"},[t(c,{options:this.baseOptions},null)]),t(o,null,{default:()=>[i("渲染成功后运行回调函数")]}),t("div",{class:"chart--container"},[t(c,{ref:"baseChartRef",options:this.basePieOptions,success:this.handleChartRenderSuccess.bind(this)},null)]),t(o,null,{default:()=>[i("能跟随主题切换的可视化图")]}),t("div",{class:"chart--container"},[t(c,{autoChangeTheme:!0,options:this.baseLineOptions,showAria:this.chartAria},null)]),t(o,null,{default:()=>[i("不跟随主题切换的暗色主题可视化图")]}),t("div",{class:"chart--container"},[t(c,{theme:"dark",options:this.baseOptions},null)]),t(o,null,{default:()=>[i("加载动画")]}),t(R,{value:this.chartLoading,"onUpdate:value":e=>this.chartLoading=e,onUpdateValue:this.handleLoadingShow.bind(this),style:["padding: 18px 0"]},{checked:()=>"隐藏加载动画",unchecked:()=>"显示加载动画"}),t("div",{class:"chart--container"},[t(c,{loading:this.loading,options:this.baseOptions},null)]),t(o,null,{default:()=>[i("贴画可视化图")]}),t(R,{value:this.chartAria,"onUpdate:value":e=>this.chartAria=e,onUpdateValue:this.handleAriaShow.bind(this),style:["padding: 18px 0"]},{checked:()=>"隐藏贴花",unchecked:()=>"显示贴花"}),t("div",{class:"chart--container"},[t(c,{options:this.baseOptions,showAria:this.chartAria},null)])])}});export{Ee as default};