@visactor/vchart
Version:
charts lib based @visactor/VGrammar
94 lines (93 loc) • 3.52 kB
TypeScript
import { BaseComponent } from '../base/base-component';
import { ComponentTypeEnum } from '../interface/type';
import { Brush as BrushComponent } from '@visactor/vrender-components';
import type { Maybe } from '@visactor/vutils';
import type { IModelSpecInfo } from '../../model/interface';
import type { IRegion } from '../../region/interface';
import type { IGraphic } from '@visactor/vrender-core';
import type { ISeries } from '../../series/interface';
import type { IMark, IMarkGraphic } from '../../mark/interface';
import type { BrushInteractiveRangeAttr, IBrush, IBrushSpec } from './interface';
export declare class Brush<T extends IBrushSpec = IBrushSpec> extends BaseComponent<T> implements IBrush {
layoutType: 'none';
static type: ComponentTypeEnum;
type: ComponentTypeEnum;
name: string;
static readonly builtInTheme: {
brush: import("./interface").IBrushTheme;
};
static specKey: string;
specKey: string;
layoutZIndex: number;
protected _brushComponents: BrushComponent[];
protected _relativeRegions: IRegion[];
protected _linkedSeries: ISeries[];
private _itemMap;
private _linkedItemMap;
protected _inBrushElementsMap: {
[brushName: string]: {
[elementKey: string]: IMarkGraphic;
};
};
protected _outOfBrushElementsMap: {
[elementKey: string]: IMarkGraphic;
};
protected _linkedInBrushElementsMap: {
[brushName: string]: {
[elementKey: string]: IMarkGraphic;
};
};
protected _linkedOutOfBrushElementsMap: {
[elementKey: string]: IMarkGraphic;
};
private _cacheInteractiveRangeAttrs;
private _releatedAxes;
private _regionAxisMap;
private _axisDataZoomMap;
private _zoomRecord;
static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
init(): void;
private _initNeedOperatedItem;
created(): void;
protected _bindRegions(): void;
protected _bindLinkedSeries(): void;
private _initRegionAxisMap;
private _initAxisDataZoomMap;
protected initEvent(): void;
_compareSpec(spec: T, prevSpec: T): {
change: boolean;
reMake: boolean;
reRender: boolean;
reSize: boolean;
reCompile: boolean;
};
onLayoutEnd(): void;
protected _updateBrushComponent(region: IRegion, componentIndex: number): void;
protected _createBrushComponent(region: IRegion, componentIndex: number): void;
protected _getBrushInteractiveAttr(region: IRegion): BrushInteractiveRangeAttr;
private _transformBrushedMarkAttr;
private _handleBrushChange;
protected _extendDataInBrush(elementsMap: {
[brushName: string]: {
[elementKey: string]: IMarkGraphic;
};
}): {
[x: string]: any;
}[];
protected _extendDatumOutOfBrush(elementsMap: {
[elementKey: string]: IMarkGraphic;
}): import("../..").Datum[];
private _emitEvent;
private _reconfigItem;
private _reconfigLinkedItem;
private _isBrushContainItem;
protected _initItemMap(itemMap: Record<string, IMark[]>, elementMap: Record<string, IMarkGraphic>, stateName: string): void;
protected _initMarkBrushState(componentIndex: number, stateName: string): void;
private _setRegionMarkPickable;
private _stateClamp;
private _setAxisAndDataZoom;
protected _getNeedClearVRenderComponents(): IGraphic[];
clearGraphic(): void;
clear(): void;
}
export declare const registerBrush: () => void;