@visactor/vchart
Version:
charts lib based @visactor/VGrammar
219 lines (218 loc) • 10.1 kB
TypeScript
import { DataView } from '@visactor/vdataset';
import type { DataSet, ITransformOptions } from '@visactor/vdataset';
import type { IRegion } from '../../region/interface';
import type { ICompileMarkConfig, IGroupMark, IMark } from '../../mark/interface';
import type { CoordinateType, IInvalidType, IPoint, DataKeyType, Datum, Maybe, ISeriesSpec, IExtensionMarkSpec, IExtensionGroupMarkSpec, EnableMarkType, IGroup, ILayoutType, ILayoutPoint, ILayoutRect } from '../../typings';
import { BaseModel } from '../../model/base-model';
import type { ISeriesOption, ISeries, ISeriesMarkInitOption, ISeriesStackData, ISeriesTooltipHelper, SeriesMarkMap, ISeriesMarkInfo, ISeriesSpecInfo, ISeriesStackDataLeaf, ISeriesStackDataMeta, ISeriesSeriesInfo } from '../interface';
import type { IModelEvaluateOption, IUpdateSpecResult } from '../../model/interface';
import type { AddVChartPropertyContext } from '../../data/transforms/add-property';
import type { IHoverSpec, ISelectSpec } from '../../interaction/interface/spec';
import type { ISeriesMarkAttributeContext } from '../../compile/mark';
import { STATE_VALUE_ENUM } from '../../compile/mark';
import { BaseSeriesSpecTransformer } from './base-series-transformer';
import type { ILabelSpec } from '../../component/label/interface';
import type { StatisticOperations } from '../../data/transforms/interface';
import type { GraphicEventType } from '@visactor/vrender-core';
import type { ICompilableData } from '../../compile/data';
import type { IBaseTriggerOptions } from '../../interaction/interface/trigger';
export declare abstract class BaseSeries<T extends ISeriesSpec> extends BaseModel<T> implements ISeries {
readonly specKey: string;
readonly type: string;
layoutType: ILayoutType;
readonly modelType: string;
readonly name: string | undefined;
static readonly mark: SeriesMarkMap;
static readonly transformerConstructor: typeof BaseSeriesSpecTransformer;
readonly transformerConstructor: any;
getSpecInfo: () => ISeriesSpecInfo;
protected _option: ISeriesOption;
readonly coordinate: CoordinateType;
protected _region: IRegion;
getRegion(): IRegion;
private _layoutStartPoint;
getLayoutStartPoint(): ILayoutPoint;
private _layoutRect;
getLayoutRect: () => ILayoutRect;
protected _rootMark: IGroupMark;
getRootMark(): IGroupMark;
protected _seriesMark: Maybe<IMark>;
getSeriesMark(): IMark;
protected _layoutLevel: number;
protected _rawData: DataView;
getRawData(): DataView;
protected _rawDataStatistics?: DataView;
protected _rawStatisticsCache: Record<string, {
values?: any[];
min?: number;
max?: number;
}>;
protected _viewDataMap: Map<number, DataView>;
protected _viewDataFilter: DataView;
getViewDataFilter(): DataView;
protected _data: ICompilableData;
getViewData(): DataView;
getViewDataProductId(): string;
protected _viewDataStatistics: DataView;
getViewDataStatistics(): DataView;
protected _viewStackData: DataView;
getViewStackData(): DataView;
protected _seriesField?: string;
getSeriesField(): string;
setSeriesField(field: string): void;
protected _groups?: IGroup;
getGroups(): IGroup;
getStack(): boolean;
getStackValue(): import("../../typings").StringOrNumber;
getPercent(): boolean;
getStackOffsetSilhouette(): boolean;
protected _dataSet: DataSet;
protected _tooltipHelper: ISeriesTooltipHelper | undefined;
get tooltipHelper(): ISeriesTooltipHelper;
layoutZIndex: number;
protected _invalidType: IInvalidType;
getInvalidType(): IInvalidType;
setInvalidType(t: IInvalidType): void;
protected _markAttributeContext: ISeriesMarkAttributeContext;
getMarkAttributeContext(): ISeriesMarkAttributeContext;
constructor(spec: T, options: ISeriesOption);
created(): void;
protected _buildMarkAttributeContext(): void;
setAttrFromSpec(): void;
protected getInvalidCheckFields(): string[];
protected initInvalidDataTransform(): void;
protected initData(): void;
protected initGroups(): void;
protected initStatisticalData(): void;
getRawDataStatisticsByField(field: string, isNumeric?: boolean): {
values?: any[];
min?: number;
max?: number;
};
protected _statisticViewData(): void;
protected createStatisticalData(dataName: string, rawData: DataView, staticFields?: (dataId: string) => {
key: string;
operations: StatisticOperations;
}[]): DataView;
private createdStackData;
protected _noAnimationDataKey(datum: Datum, index: number): unknown | undefined;
protected generateDefaultDataKey(dataKey: DataKeyType): (datum: Datum, index: number, context: AddVChartPropertyContext) => unknown;
protected _addDataIndexAndKey(): void;
updateRawData(d: any): void;
rawDataUpdate(d: DataView): void;
viewDataFilterOver(d: DataView): void;
viewDataUpdate(d: DataView): void;
viewDataStatisticsUpdate(d: DataView): void;
getDatumPositionValue(datum: Datum, field: string): any;
getDatumPositionValues(datum: Datum, fields: string | string[]): any[];
abstract getStatisticFields(): {
key: string;
operations: StatisticOperations;
}[];
abstract getGroupFields(): string[];
abstract dataToPosition(data: Datum, checkInViewData?: boolean): IPoint;
abstract dataToPositionX(data: Datum): number;
abstract dataToPositionY(data: Datum): number;
abstract valueToPosition(value1: any, value2?: any): IPoint;
abstract initMark(): void;
abstract initMarkStyle(): void;
abstract getStackGroupFields(): string[];
abstract getStackValueField(): string | undefined;
setValueFieldToStack(): void;
setValueFieldToPercent(): void;
setValueFieldToStackOffsetSilhouette(): void;
abstract getActiveMarks(): IMark[];
initRootMark(): void;
private _getExtensionMarkNamePrefix;
protected _initExtensionMark(options: {
hasAnimation: boolean;
}): void;
private _createExtensionMark;
protected _updateExtensionMarkSpec(): void;
getStackData(): ISeriesStackData;
protected _parseDefaultInteractionConfig(mainMarks?: IMark[]): {
trigger: Partial<IBaseTriggerOptions>;
marks: IMark[];
}[];
protected _defaultHoverConfig(finalHoverSpec: IHoverSpec): {
type: string;
trigger: GraphicEventType;
triggerOff: GraphicEventType;
blurState: STATE_VALUE_ENUM;
highlightState: STATE_VALUE_ENUM;
};
protected _defaultSelectConfig(finalSelectSpec: ISelectSpec): {
type: string;
trigger: GraphicEventType;
triggerOff: GraphicEventType;
reverseState: STATE_VALUE_ENUM;
state: STATE_VALUE_ENUM;
isMultiple: boolean;
};
protected _parseInteractionConfig(mainMarks?: IMark[]): {
trigger: Partial<IBaseTriggerOptions>;
marks: IMark[];
}[];
getInteractionTriggers(): {
trigger: Partial<IBaseTriggerOptions>;
marks: IMark[];
}[];
initAnimation(): void;
initMarkState(): void;
initSeriesStyleState(): void;
afterInitMark(): void;
getMarksWithoutRoot(): IMark[];
getMarksInType(type: string | string[]): IMark[];
getMarkInName(name: string): IMark | undefined;
getMarkInId(markId: number): IMark | undefined;
protected initEvent(): void;
protected _releaseEvent(): void;
protected initTooltip(): void;
_compareExtensionMarksSpec(newMarks: (IExtensionMarkSpec<Exclude<EnableMarkType, 'group'>> | IExtensionGroupMarkSpec)[], prevMarks: (IExtensionMarkSpec<Exclude<EnableMarkType, 'group'>> | IExtensionGroupMarkSpec)[], compareResult: IUpdateSpecResult): void;
_compareLabelSpec(newLabels: ILabelSpec[], prevLabels: ILabelSpec[], compareResult: IUpdateSpecResult): void;
_compareSpec(spec: T, prevSpec: T, ignoreCheckKeys?: Record<string, boolean>): {
change: boolean;
reMake: boolean;
reRender: boolean;
reSize: boolean;
reCompile: boolean;
};
_updateSpecData(): void;
reInit(spec?: T): void;
onEvaluateEnd(ctx: IModelEvaluateOption): void;
release(): void;
setLayoutStartPosition(pos: Partial<IPoint>): void;
setLayoutRect({ width, height }: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>): void;
getSeriesKeys(): string[];
getSeriesStyle(datum: Datum): (attribute: string) => unknown;
protected _getSeriesInfo(field: string, keys: string[]): ISeriesSeriesInfo[];
getSeriesInfoInField(field: string): ISeriesSeriesInfo[];
getSeriesInfoList(): ISeriesSeriesInfo[];
protected _getDefaultColorScale(): any;
protected _getDataScheme(): import("../..").ColorSchemeItem[] | import("../..").ProgressiveDataScheme<import("../..").ColorSchemeItem>;
getDefaultColorDomain(): any[];
getColorAttribute(): {
scale: any;
field: string;
};
getDimensionField(): string[];
getMeasureField(): string[];
protected onMarkPositionUpdate(): void;
protected onMarkTreePositionUpdate(marks: IMark[]): void;
protected _createMark<M extends IMark>(markInfo: ISeriesMarkInfo, option?: ISeriesMarkInitOption, config?: ICompileMarkConfig): NonNullable<M>;
protected _getDataIdKey(): string | ((datum: Datum) => string);
protected _getSeriesDataKey(datum: Datum): string;
addViewDataFilter(option: ITransformOptions): void;
reFilterViewData(): void;
reTransformViewData(): void;
fillData(): void;
compile(): void;
getDefaultShapeType(): string;
getFieldAlias(field: string): any;
protected _getInvalidConnectType(): "none" | "zero" | "connect";
protected _getInvalidDefined(datum: Datum): boolean;
protected _getRelatedComponentSpecInfo(specKey: string): import("../../model/interface").IModelSpecInfo<any>[];
protected _forEachStackGroup(callback: (node: ISeriesStackDataLeaf) => void, node?: ISeriesStackDataMeta): void;
isDatumInViewData(datum: Datum): any;
getSeriesFieldValue(datum: Datum, seriesField?: string): any;
}