@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
64 lines (63 loc) • 3.19 kB
TypeScript
/// <reference types="lodash" />
import { IChartDataset } from '@qn-pandora/app-sdk';
import Store from '../../../stores/store';
import { IChartContainerService } from '../../../services/chart-container';
import ChartStyleService from '../../../base-pandora-visualization/services/chart-style/charts/base';
import { IAnalysisService } from '../../../base-pandora-visualization/services';
import { ISearchConditionService } from '../../../services';
import { EThemeTypes, TThemeOption } from '../../../constants';
import { DrillDownType } from '../../../constants/drill-down';
import { IClickPosition } from '../../../constants/common-action';
import { ChartDrillDownService } from '../../../services/chart-drill-down';
import { ChartCommonActionService } from '../../../services/chart-common-action';
import ChartActionService from '../../../services/chart-action';
import { IBaseAnalysisChartsProps } from '../constants/model';
export interface IOnEvents extends IKeyValues<(e: any) => void> {
}
/**
* 所有图表的基础Store
*/
export default abstract class BaseChartStore<T extends ChartStyleService = ChartStyleService> extends Store {
abstract chartDataset: IChartDataset;
onEvents: IOnEvents;
echartInst: any;
chartWidth: number;
chartHeight: number;
chartStyleService: T;
chartContainerService: IChartContainerService;
position: IClickPosition;
getProps: () => IBaseAnalysisChartsProps;
searchConditionService: ISearchConditionService;
analysisServices: IAnalysisService;
chartActionService?: ChartActionService;
private chartConditionService;
private _canvasCtx;
debounceHandleClient: import("lodash").DebouncedFunc<(client: any) => void>;
onBrushAction?: (params: any) => void;
onLegendSelectChangedAction?: (params: any) => void;
get isLowPerfDevice(): boolean;
get actionEnable(): boolean | undefined;
get drillDownType(): DrillDownType | undefined;
get searchTime(): import("../../../services").ITimeRange;
get dataset(): IChartDataset;
get originDataset(): IChartDataset;
get fields(): import("@qn-pandora/app-sdk").IChartField[];
get rows(): import("@qn-pandora/app-sdk").TChartFieldDataItem[][];
get hasData(): number;
get theme(): EThemeTypes;
get themeOption(): TThemeOption;
get chartCanClick(): boolean;
setPosition(position: IClickPosition): void;
getCanvasCtx(): any;
measureText(txt: string): any;
handleChartClient(client: any): void;
setChartWidth(width: number): void;
setChartHeight(height: number): void;
setEchartInst(echart: any): void;
onChartReadyCallback(echart: any): void;
onAction<T>(eventParams: T, ChartDrillService: new (type: DrillDownType) => ChartDrillDownService<T>, ChartCommonActionService: new () => ChartCommonActionService): Promise<void>;
onCommonAction<T>(eventParams: T, ChartCommonActionService: new () => ChartCommonActionService): Promise<void>;
onDrillDown<T>(eventParams: T, ChartDrillService: new (type: DrillDownType) => ChartDrillDownService<T>): Promise<void>;
getCurrentDomRect(): DOMRect | null;
constructor(getProps: () => IBaseAnalysisChartsProps);
}