@dfsj/echarts
Version:
专业的水文曲线组件或构造函数以及通用的echart二次封装图表
12 lines (10 loc) • 2.28 kB
JavaScript
/**
*
* @dfsj/echarts: 专业的水文曲线组件或构造函数以及通用的echart二次封装图表
* 版本: v4.0.0-alpha.9
* 作者:yangbo <1747837358@qq.com>
* 日期:2026-07-10 17:09:23
*
*
*/
import{objectSpread2 as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{computed as n,ref as t,unref as o,nextTick as r,watch as i}from"vue";import{useDebounceFn as u,tryOnUnmounted as l}from"@vueuse/core";import{useTimeoutFn as s}from"./useTimeout.js";import{useEventListener as a}from"./useEventListener.js";import{useBreakpoint as v}from"./useBreakpoint.js";import"../lib/echarts.js";import c from"element-resize-detector";import"../plugins/index.js";import{useEChartsThemes as f}from"../themes/useEChartsThemes.js";import*as m from"echarts";function p(p,d){var h=f(),g=(h.setTheme,h.loadTheme,h.theme),j=c(),T=n(function(){return null!=d?d:g.value}),b=null,w=B,z=t({}),E=function(){};w=u(B,200);var k,y,C=n(function(){return"dark"!==T.value?z.value:e({backgroundColor:"transparent"},z.value)});function H(e){var n=o(p);if(n&&o(n)){b=m.init(n,e);var t=a({el:window,name:"resize",listener:w}).removeEvent;!function(){try{var e,n;null===(e=j)||void 0===e||null===(n=e.listenTo)||void 0===n||n.call(e,p.value,L)}catch(e){console.log({e:e})}}(),E=t;var r=v(),i=r.widthRef,u=r.screenEnum;(o(i)<=u.MD||0===n.offsetHeight)&&s(function(){w()},30)}}function x(e){var n,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];z.value=e,0!==(null===(n=o(p))||void 0===n?void 0:n.offsetHeight)?r(function(){s(function(){var e,n;(b||(H(T.value),b))&&(t&&(null===(e=b)||void 0===e||e.clear()),null===(n=b)||void 0===n||n.setOption(o(C)))},30)}):s(function(){x(o(C))},30)}function B(){var e;null===(e=b)||void 0===e||e.resize()}function L(e){var n=getComputedStyle(e),t=n.width,o=n.height;y==o&&t==k||(k=t,y=o,r(function(){setTimeout(B,100)}))}return i(function(){return T.value},function(e){b&&(b.dispose(),H(e),x(z.value))}),l(function(){b&&(E(),b.dispose(),b=null,function(){try{var e,n;null===(e=j)||void 0===e||null===(n=e.removeListener)||void 0===n||n.call(e,p.value,L)}catch(e){console.log({e:e})}}(),j=null)}),{setOptions:x,resize:B,echarts:m,getInstance:function(){return b||H(T.value),b},container:p}}export{p as useECharts};