Files
orion-visor/orion-visor-ui/src/hooks/chart-option.ts
2024-12-27 11:19:52 +08:00

36 lines
823 B
TypeScript

import type { EChartsOption } from 'echarts';
import { computed } from 'vue';
import useThemes from '@/hooks/themes';
// 配置生成
interface OptionsFn {
(isDark: boolean, themeTextColor: string, themeLineColor: string): EChartsOption;
}
// 亮色文本色
const lightTextColor = '#4E5969';
// 暗色文本色
const darkTextColor = 'rgba(255, 255, 255, 0.7)';
// 亮色线色
const lightLineColor = '#F2F3F5';
// 暗色线色
const darkLineColor = '#2E2E30';
export default function useChartOption(sourceOption: OptionsFn) {
const { isDark } = useThemes();
// 配置
const chartOption = computed<EChartsOption>(() => {
return sourceOption(isDark.value,
isDark.value ? darkTextColor : lightTextColor,
isDark.value ? darkLineColor : lightLineColor);
});
return {
chartOption,
};
}