mirror of
https://github.com/XiaoDaiGua-Ray/ray-template.git
synced 2025-05-03 16:26:45 +08:00
2 lines
7.1 KiB
JavaScript
2 lines
7.1 KiB
JavaScript
import{s as R}from"./pinia-1fd00649.js";import{c as L}from"./lodash-es-c8e56e34.js";import{b as $}from"./index-b13629db.js";import{v as F}from"./hook-1ce4b33f.js";import{u as f,i as D,a as V,b as U,c as j,d as z,e as M,f as P,g as N,h as _,j as I,k as W,l as q,m as G,n as X,o as H,p as J,q as K,r as Q}from"./echarts-2fc78c0b.js";import{e as k,r as m,l as Y,w as E,h as Z,o as ee,n as te,f as ae,aa as t,c as se}from"./@vue-0f114043.js";import{P as u,u as S}from"./naive-ui-9443d288.js";import"./vue-demi-71ba0ef2.js";import"./pinia-plugin-persistedstate-d93b4f94.js";import"./vue-i18n-37f9b77c.js";import"./@intlify-bd5dfa46.js";import"./vue-router-ed35b26a.js";import"./@vueuse-27b0db77.js";import"./screenfull-578bfdd4.js";import"./date-fns-7f923de7.js";import"./vueuc-4d05699f.js";import"./evtd-b614532e.js";import"./seemly-dc6f1e91.js";import"./@css-render-ad88a31e.js";import"./vooks-ab318924.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-57962bc1.js";import"./@emotion-8a8e73f6.js";import"./treemate-25c27bff.js";import"./date-fns-tz-230e778e.js";import"./async-validator-dee29e8b.js";import"./zrender-e8935425.js";const ie=(e,i,a,r=!1)=>{e&&i&&a&&e.addEventListener(i,a,r)},ne=(e,i,a,r=!1)=>{e&&i&&a&&e.removeEventListener(i,a,r)},O=(e,i)=>{e&&(F(i,"Object")?Object.keys(i).forEach(a=>{e.style[a]=i[a]}):F(i,"String")&&i.split(";").forEach(r=>{const[l,s]=r.split(":");l&&s&&(e.style[l.trim()]=s.trim())}))},h=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}},setup(e){const i=$(),{themeValue:a}=R(i),r=m(),l=m();let s;const b=Y(()=>({"--ray-chart-width":e.width,"--ray-chart-height":e.height})),C=async()=>{f([V,U,j,z,M,P,N,_]),f([I,W,q,G,X,H]),f([J,K]),f([Q]);try{f(e.use)}catch{console.error("Error: wrong property and method passed in extend attribute")}},y=()=>{let o=L(e.options);const c=p=>Object.assign({},o,p);return e.showAria&&(o=c({aria:{enabled:!0,decal:{show:!0}}})),o},n=o=>{var v,A;const c=r.value,p=y(),{height:x,width:B}=c.getBoundingClientRect();x===0&&O(c,{height:"200px"}),B===0&&O(c,{width:"200px"});try{s=D(c,o),l.value=s,p&&s.setOption(p),(v=e.success)==null||v.call(e,s)}catch(T){(A=e.error)==null||A.call(e),console.error(T)}},d=o=>{if(e.autoChangeTheme){n(o?"dark":"");return}e.theme||n("")},g=()=>{s&&(s.clear(),s.dispose())},w=()=>{s&&s.resize()};return E(()=>[a.value],([o])=>{e.autoChangeTheme&&(g(),d(o))}),E(()=>e.showAria,()=>{g(),(e.autoChangeTheme||e.theme)&&a.value?n("dark"):n("")}),e.watchOptions&&E(()=>e.watchOptions,()=>{const o=y();s==null||s.setOption(o)}),Z(async()=>{await C()}),ee(()=>{te(()=>{e.autoChangeTheme?d(a.value):e.theme?n("dark"):n(""),e.autoResize&&ie(window,"resize",w)})}),ae(()=>{g(),ne(window,"resize",w)}),{rayChartRef:r,cssVarsRef:b,echartInstance:l}},render(){return t("div",{class:"ray-chart",style:[this.cssVarsRef],ref:"rayChartRef"},null)}}),De=k({name:"Echart",setup(){const e=m(),i=m(!1),a=m(!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:i,handleLoadingShow:n=>{if(e.value){const{echartInstance:d}=e.value;n?d.showLoading():d.hideLoading()}},chartAria:a,handleAriaShow:n=>{a.value=n},handleChartRenderSuccess:n=>{window.$notification.info({title:"可视化图渲染成功回调函数",content:"可视化图渲染成功, 并且返回了当前可视化图实例",duration:5*1e3})},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]}]}}},render(){return t("div",{class:"echart"},[t(u,{title:"RayChart组件使用"},{default:()=>[se("在使用该组件时, 一定要注意根组件的高度初始化问题, 如果需要使用其余的图例, 只需要从 echarts 中导入对应组件, 并且使用 use 方法注册. 该组件实现了自动跟随模板主题切换功能, 但是动态切换损耗较大, 所以默认不启用")]}),t(u,{title:"基础使用"},{default:()=>[t("div",{class:"chart--container"},[t(h,{options:this.baseOptions},null)])]}),t(u,{title:"渲染成功后运行回调函数"},{default:()=>[t("div",{class:"chart--container"},[t(h,{options:this.basePieOptions,success:this.handleChartRenderSuccess.bind(this)},null)])]}),t(u,{title:"能跟随主题切换的可视化图"},{default:()=>[t("div",{class:"chart--container"},[t(h,{autoChangeTheme:!0,options:this.baseLineOptions,showAria:this.chartAria},null)])]}),t(u,{title:"不跟随主题切换的暗色主题可视化图"},{default:()=>[t("div",{class:"chart--container"},[t(h,{theme:"dark",options:this.baseOptions},null)])]}),t(u,{title:"加载动画"},{default:()=>[t(S,{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(h,{ref:"baseChartRef",options:this.baseOptions},null)])]}),t(u,{title:"贴画可视化图"},{default:()=>[t(S,{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(h,{options:this.baseOptions,showAria:this.chartAria},null)])]})])}});export{De as default};
|