import { BarSeriesOption, EChartsOption, LineSeriesOption, PieSeriesOption, PictorialBarSeriesOption, SeriesOption, RadarSeriesOption } from 'echarts'; import { EcBasicSeries } from '.'; // region 根配置 export type EcOptionBasicOption = Omit & { series?: EcSeriesBasicOption | EcSeriesBasicOption[] } export type EcSeriesBasicOption = EcBasicSeries | T // endregion // region 直角坐标系 export type EcOptionCartesianOption = { // 单位 unit?: string // ECharts配置 option?: EcOptionBasicOption } export type EcSeriesCartesianOption = { // 单位 unit?: string // 系列名称 name?: string // 颜色 color?: string // 渐变颜色 areaColor?: string | boolean // 渐变方向 areaDirection?: 'horizontal' | 'vertical' // 系列配置 series?: T } // endregion // region 极坐标系 export type EcOptionPolarOption = { // ECharts配置 option?: EcOptionBasicOption } export type EcSeriesPolarOption = { // 系列配置 series?: T } // endregion // region 折线图 export namespace LineModule { export type SeriesConstructorOption = EcSeriesCartesianOption export type ConstructorOption = EcOptionCartesianOption & SeriesConstructorOption } // endregion // region 柱状图 export namespace BarModule { export type SeriesConstructorOption = EcSeriesCartesianOption export type ConstructorOption = EcOptionCartesianOption & SeriesConstructorOption } // endregion // region 饼图 export namespace PieModule { export type SeriesConstructorOption = { // 系列名称 name?: string // 单位 unit?: string // 系列配置 series?: PieSeriesOption } export type ConstructorOption = SeriesConstructorOption & { // 单位 unit?: string // 颜色 color?: string[] // 环形饼图内外圆心半径 radius?: string | number | (string | number)[] // 圆心位置 center?: string | number | (string | number)[] /** * 格式化图例 * @example * {name}{unit}{value}{percent} */ lengthFormatter?: string | { (params: { name: string, unit: string, value: number, percent: string, total: number, }): string } // 是否显示中心标签数据 showCenterLabelData?: boolean // 标签数据保留位数,缺省值:2 labelDataFractionDigits?: number /** * 标签数据格式化 * @example * {unit}{total}{name} */ labelFormatter?: string | { (params: { name: string, unit: string, total: number, value: number, e: any }): string } option?: EcOptionBasicOption } } // endregion // region 象形柱图 export namespace PictorialBarModule { export type SeriesConstructorOption = EcSeriesCartesianOption } // endregion // region 雷达图 export namespace RadarModule { export type SeriesConstructorOption = { // 系列名称 name?: string // 单位 unit?: string series?: RadarSeriesOption } } // endregion