chore: merge

This commit is contained in:
dap
2025-10-09 20:53:21 +08:00
29 changed files with 165 additions and 100 deletions

View File

@@ -32,6 +32,21 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
const { height, width } = useWindowSize();
const resizeHandler: () => void = useDebounceFn(resize, 200);
const getChartEl = (): HTMLElement | null => {
const refValue = chartRef?.value as unknown;
if (!refValue) return null;
if (refValue instanceof HTMLElement) {
return refValue;
}
const maybeComponent = refValue as { $el?: HTMLElement };
return maybeComponent.$el ?? null;
};
const isElHidden = (el: HTMLElement | null): boolean => {
if (!el) return true;
return el.offsetHeight === 0 || el.offsetWidth === 0;
};
const getOptions = computed((): EChartsOption => {
if (!isDark.value) {
return {};
@@ -69,6 +84,13 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
return;
}
nextTick(() => {
const el = getChartEl();
if (isElHidden(el)) {
useTimeoutFn(async () => {
resolve(await renderEcharts(currentOptions));
}, 30);
return;
}
useTimeoutFn(() => {
if (!chartInstance) {
const instance = initCharts();
@@ -83,6 +105,10 @@ function useEcharts(chartRef: Ref<EchartsUIType>) {
};
function resize(withAnimation = true) {
const el = getChartEl();
if (isElHidden(el)) {
return;
}
chartInstance?.resize({
animation: withAnimation
? {