UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

213 lines (212 loc) 11.4 kB
import type { ISeries } from '../series/interface/series'; import type { ILayoutConstructor, LayoutCallBack } from '../layout/interface'; import type { IDataValues, IMarkStateSpec, IInitOption } from '../typings/spec/common'; import { RenderModeEnum } from '../typings/spec/common'; import type { ISeriesConstructor } from '../series/interface'; import { type DimensionIndexOption, type IChart, type IChartConstructor, type IChartOption, type IChartSpecInfo } from '../chart/interface'; import type { IComponentConstructor } from '../component/interface'; import type { EventCallback, EventQuery, EventType, ExtendEventParam } from '../event/interface'; import type { IParserOptions, Transform } from '@visactor/vdataset'; import { DataSet, DataView } from '@visactor/vdataset'; import type { IStage } from '@visactor/vrender-core'; import type { GeoSourceType } from '../typings/geo'; import type { GeoSourceOption } from '../series/map/geo-source'; import type { IMark, MarkConstructor } from '../mark/interface'; import type { ITooltipHandler } from '../typings/tooltip'; import type { Datum, IPoint, IRegionQuerier, IShowTooltipOption, ISpec, Maybe, MaybeArray, StringOrNumber } from '../typings'; import type { IBoundsLike, ILogger } from '@visactor/vutils'; import { ThemeManager } from '../theme/theme-manager'; import type { ITheme } from '../theme'; import type { IModel, IUpdateDataResult, IUpdateSpecResult } from '../model/interface'; import { Compiler } from '../compile/compiler'; import type { IMorphConfig } from '../animation/spec'; import type { DataLinkAxis, DataLinkSeries, IGlobalConfig, IVChart, IVChartRenderOption } from './interface'; import { InstanceManager } from './instance-manager'; export declare class VChart implements IVChart { readonly id: number; static useRegisters(comps: (() => void)[]): void; static useChart(charts: IChartConstructor[]): void; static useSeries(series: ISeriesConstructor[]): void; static useComponent(components: IComponentConstructor[]): void; static useMark(marks: MarkConstructor[]): void; static useLayout(layouts: ILayoutConstructor[]): void; static registerDataSetTransform(name: string, transform: Transform): void; static registerFunction(key: string, fun: Function): void; static unregisterFunction(key: string): void; static getFunction(key: string): Function | null; static getFunctionList(): string[] | null; static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption): void; static unregisterMap(key: string): void; static getMap(key: string): GeoSourceType; static registerSVG(key: string, source: GeoSourceType, option?: GeoSourceOption): void; static unregisterSVG(key: string): void; static hideTooltip(excludeId?: MaybeArray<number>): void; static getLogger(): ILogger; static readonly InstanceManager: typeof InstanceManager; static readonly ThemeManager: typeof ThemeManager; static globalConfig: IGlobalConfig; static readonly Utils: { measureText: (text: string, textSpec?: Partial<import("@visactor/vrender-core").ITextGraphicAttribute>, option?: Partial<import("@visactor/vutils").ITextMeasureOption>, useNaiveCanvas?: boolean) => import("@visactor/vutils").ITextSize; }; static readonly vglobal: import("@visactor/vrender-core").IGlobal; protected _originalSpec: any; protected _spec: any; getSpec(): any; protected _specInfo: IChartSpecInfo; getSpecInfo(): IChartSpecInfo; private _viewBox; private _chart; private _chartSpecTransformer; private _compiler; private _event; private _userEvents; private _eventDispatcher; private _dataSet; getDataSet(): DataSet; private _container?; private _canvas?; private _stage?; private _autoSize; private _option; private _currentSize; private _observer; private _currentThemeName; private _currentTheme; private _cachedProcessedTheme; private _onError?; private _context; private _isReleased; private _chartPlugin?; private _onResize?; constructor(spec: ISpec, options: IInitOption); private _setNewSpec; private _getSpecFromOriginalSpec; private _initChartSpec; private _updateSpecInfo; private _initChart; private _releaseData; private _bindViewEvent; private _bindResizeEvent; private _unBindResizeEvent; getCurrentSize(): { width: number; height: number; }; private _doResize; private _initDataSet; updateCustomConfigAndRerender(updateSpecResult: IUpdateSpecResult | (() => IUpdateSpecResult), sync?: boolean, option?: IVChartRenderOption): IVChart | Promise<IVChart>; protected _updateCustomConfigAndRecompile(updateSpecResult: IUpdateSpecResult, option?: IVChartRenderOption): boolean; protected _reCompile(updateResult: IUpdateSpecResult, morphConfig?: IMorphConfig): void; protected _beforeRender(option?: IVChartRenderOption): boolean; protected _afterRender(): boolean; renderSync(morphConfig?: IMorphConfig): IVChart; renderAsync(morphConfig?: IMorphConfig): Promise<IVChart>; protected _renderSync: (option?: IVChartRenderOption) => IVChart; protected _renderAsync(option?: IVChartRenderOption): Promise<IVChart>; private _updateAnimateState; release(): void; updateData(id: StringOrNumber, data: DataView | Datum[] | string, parserOptions?: IParserOptions, userUpdateOptions?: IUpdateDataResult): Promise<IVChart>; private _updateDataById; updateDataInBatches(list: { id: string; data: Datum[]; options?: IParserOptions; }[]): Promise<IVChart>; updateDataSync(id: StringOrNumber, data: DataView | Datum[] | string, parserOptions?: IParserOptions, userUpdateOptions?: IUpdateDataResult): IVChart; updateFullDataSync(data: IDataValues | IDataValues[], reRender?: boolean, userUpdateOptions?: IUpdateSpecResult): IVChart; updateFullData(data: IDataValues | IDataValues[], reRender?: boolean): Promise<IVChart>; updateSpec(spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig, userUpdateOptions?: IUpdateSpecResult): Promise<IVChart>; updateSpecSync(spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig, userUpdateOptions?: IUpdateSpecResult): IVChart; updateSpecAndRecompile(spec: ISpec, forceMerge?: boolean, option?: IVChartRenderOption): boolean; private _updateSpec; updateModelSpec(filter: string | { type: string; index: number; } | ((model: IModel) => boolean), spec: unknown, forceMerge?: boolean, morphConfig?: IMorphConfig): Promise<IVChart>; updateModelSpecSync(filter: string | { type: string; index: number; } | ((model: IModel) => boolean), spec: unknown, forceMerge?: boolean, morphConfig?: IMorphConfig): IVChart; protected _updateModelSpec(model: IModel, spec: unknown, sync?: boolean, forceMerge?: boolean, morphConfig?: IMorphConfig): IVChart | Promise<IVChart>; resize(width: number, height: number): Promise<IVChart>; resizeSync(width: number, height: number): IVChart; protected _beforeResize(width: number, height: number): boolean; protected _afterResize(): IVChart; updateViewBox(viewBox: IBoundsLike, reRender?: boolean, reLayout?: boolean): IVChart; on(eType: EventType, handler: EventCallback<ExtendEventParam>): void; on(eType: EventType, query: EventQuery, handler: EventCallback<ExtendEventParam>): void; off(eType: EventType, handler?: EventCallback<ExtendEventParam>): void; updateState(state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>, filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean): void; setSelected(datum: MaybeArray<any> | null, filter?: (series: ISeries, mark: IMark) => boolean, region?: IRegionQuerier): void; setHovered(datum: MaybeArray<Datum> | null, filter?: (series: ISeries, mark: IMark) => boolean, region?: IRegionQuerier): void; clearState(state: string): void; clearAllStates(): void; clearSelected(): void; clearHovered(): void; private _updateCurrentTheme; private _shouldChartResize; private _getBackground; getCurrentTheme(): ITheme; getCurrentThemeName(): string; setCurrentTheme(name: string): Promise<IVChart>; setCurrentThemeSync(name: string): IVChart; protected _setCurrentTheme(name?: string): IUpdateSpecResult; private _setFontFamilyTheme; private _getTooltipComponent; setTooltipHandler(tooltipHandler: ITooltipHandler): void; getTooltipHandlerByUser(): ITooltipHandler | undefined; getTooltipHandler(): ITooltipHandler | undefined; showTooltip(datum: Datum, options: IShowTooltipOption): boolean; hideTooltip(): boolean; getLegendDataById(id: string): Datum[]; getLegendDataByIndex(index?: number): Datum[]; getLegendSelectedDataById(id: string): StringOrNumber[]; getLegendSelectedDataByIndex(index?: number): StringOrNumber[]; setLegendSelectedDataById(id: string, selectedData: StringOrNumber[]): void; setLegendSelectedDataByIndex(index: number, selectedData: StringOrNumber[]): void; getDataURL(): Promise<string>; exportImg(name?: string): Promise<void>; exportCanvas(): HTMLCanvasElement | undefined; getImageBuffer(): any; setLayout(layout: LayoutCallBack): void; reLayout(): void; getCompiler(): Compiler; getChart(): IChart; getStage(): IStage; getCanvas(): HTMLCanvasElement | undefined; getContainer(): Maybe<HTMLElement>; getComponents(): import("../component/interface").IComponent[]; getScale(scaleId: string): import("@visactor/vscale").IBaseScale; setDimensionIndex(value: StringOrNumber, opt?: DimensionIndexOption): void; stopAnimation(): void; pauseAnimation(): void; resumeAnimation(): void; convertDatumToPosition(datum: Datum, dataLinkInfo?: DataLinkSeries, isRelativeToCanvas?: boolean, checkInViewData?: boolean): IPoint | null; convertValueToPosition(value: StringOrNumber, dataLinkInfo: DataLinkAxis, isRelativeToCanvas?: boolean): number | null; convertValueToPosition(value: [StringOrNumber, StringOrNumber], dataLinkInfo: DataLinkSeries, isRelativeToCanvas?: boolean): IPoint | null; getFunction(key: string): Function | null; registerFunction(key: string, fun: Function): void; unregisterFunction(key: string): void; getFunctionList(): string[]; setRuntimeSpec(spec: any): void; updateIndicatorDataById(id: string, datum?: Datum): void; updateIndicatorDataByIndex(index?: number, datum?: Datum): void; geoZoomByIndex(regionIndex: number, zoom: number, center?: { x: number; y: number; }): void; geoZoomById(regionId: string | number, zoom: number, center?: { x: number; y: number; }): void; _geoZoomByQuery(query: MaybeArray<IRegionQuerier>, zoom: number, center?: { x: number; y: number; }): void; private _initChartPlugin; private _chartPluginApply; protected _getMode(): (typeof RenderModeEnum)["desktop-browser"] | "desktop-browser" | "mobile-browser" | "node" | "worker" | "miniApp" | "wx" | "tt" | "harmony" | "desktop-miniApp" | "lynx"; protected getTheme: (...keys: string[]) => any; protected _getChartOption(type: string): IChartOption; } export declare const registerVChartCore: () => void;