@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
60 lines (59 loc) • 2.82 kB
TypeScript
import { IFontStyle, IColorSplitter, ISingleDisplayField } from '../../../../../constants/chart-style';
import { GaugeEmptyValueMode } from '../../../../../constants/single-style';
import SingleCircularStyleService, { ISingleCircularStyle } from './circular';
import SingleValueChartStyleService, { ISingleValueStyle } from './value';
import SingleGaugeChartStyleService from './gauge';
import SinglePercentChartStyleService from './percent';
import { IChartStyleInitOption } from '../base';
import OneDChartStyleService, { IOneDChartStyle } from '../one-d';
export declare type ISingleChartStyle = ISingleCircularStyle & ISingleValueStyle;
export declare type ISingleStyleService = SingleCircularStyleService & SingleGaugeChartStyleService & SingleValueChartStyleService & SinglePercentChartStyleService;
export interface ISingleBaseStyle extends IOneDChartStyle {
gaugeEmptyValueMode: GaugeEmptyValueMode;
gaugeMin: number;
gaugeMax: number;
gaugeSplitters: IColorSplitter;
titleDataFont: IFontStyle;
colorMetrics: string[];
colorMetricIsNumberic: boolean;
displayField: ISingleDisplayField;
}
/**
* 单值图的通用属性
*/
export default abstract class SingleBaseStyleService<T extends ISingleBaseStyle> extends OneDChartStyleService<T> {
static getChartInitStyle: typeof getChartInitStyle;
gaugeEmptyValueMode: GaugeEmptyValueMode;
gaugeMin: number;
gaugeMax: number;
abstract gaugeSplitters: IColorSplitter;
titleDataFont: IFontStyle;
colorMetrics: string[];
colorMetricIsNumberic: boolean;
displayField: ISingleDisplayField;
getOptions(): ISingleBaseStyle;
setGaugeEmptyValueMode(gaugeEmptyValueMode: GaugeEmptyValueMode): void;
setDisplayField(displayField: ISingleDisplayField): void;
setGaugeMax(gaugeMax: number | string): void;
setGaugeMin(gaugeMin: number | string): void;
setTitleDataFont(titleDataFont: IFontStyle): void;
setGaugeSplitters(gaugeSplitters: IColorSplitter): void;
setColorMetrics(colorMetrics: string[]): void;
setCurrentMetrics(currentMetrics: string[]): void;
setColorMetricIsNumberic(colorMetricIsNumberic: boolean): void;
calcGaugeSplitters(gaugeSplitters: IColorSplitter, min: number, max: number): IColorSplitter;
getGaugeBoundWithColorSplitter(gaugeSplitters: IColorSplitter): {
min: any;
max: any;
};
getGaugeMinWithOption(option: T, gaugeSplitters: IColorSplitter): any;
getGaugeMaxWithOption(option: T, gaugeSplitters: IColorSplitter): any;
constructor(option: T);
}
export declare function getChartInitStyle(option: IChartStyleInitOption, initFirst?: boolean): {
fields: import("@qn-pandora/app-sdk").IChartField[];
buckets: string[];
metrics: string[];
currentBuckets: string[];
currentMetrics: string[];
};