@visactor/vchart
Version:
charts lib based @visactor/VGrammar
127 lines (126 loc) • 5.65 kB
TypeScript
import { BaseComponent } from '../base/base-component';
import type { IEffect, IModelInitOption } from '../../model/interface';
import { type IComponent, type IComponentOption } from '../interface';
import type { AdaptiveSpec, ILayoutRect, ILayoutType, IOrientType, IRect, StringOrNumber } from '../../typings';
import type { IBaseScale } from '@visactor/vscale';
import type { ICartesianBandAxisSpec } from '../axis/cartesian';
import type { IBoundsLike } from '@visactor/vutils';
import type { IFilterMode } from './interface';
import type { IDataFilterComponent, IDataFilterComponentSpec, IRoamDragSpec, IRoamScrollSpec, IRoamZoomSpec } from './interface';
import type { BaseEventParams } from '../../event/interface';
import type { AbstractComponent } from '@visactor/vrender-components';
import type { IGraphic } from '@visactor/vrender-core';
export declare abstract class DataFilterBaseComponent<T extends IDataFilterComponentSpec = IDataFilterComponentSpec> extends BaseComponent<AdaptiveSpec<T, 'width' | 'height'>> implements IDataFilterComponent {
layoutType: ILayoutType | 'none';
protected _component: AbstractComponent;
protected _orient: IOrientType;
protected _isHorizontal: boolean;
protected _auto?: boolean;
protected _fixedBandSize?: number;
protected _cacheRect?: ILayoutRect;
protected _cacheVisibility?: boolean;
protected _dataUpdating: boolean;
protected _stateScale: IBaseScale;
protected _relatedAxisComponent: IComponent;
protected _originalStateFields: Record<number, string | number>;
protected _seriesUserId?: StringOrNumber[];
protected _seriesIndex?: number[];
protected _regionUserId: string[];
protected _regionIndex: number[];
protected _newDomain: any[];
protected _startValue: number | string;
protected _endValue: number | string;
protected _start: number;
protected _end: number;
protected _minSpan: number;
protected _maxSpan: number;
protected _spanCache: number;
protected _shouldChange: boolean;
protected _domainCache: any;
protected _field: string | undefined;
protected _stateField: string;
protected _valueField?: string;
protected _width: number;
protected _height: number;
protected _filterMode: IFilterMode;
protected _activeRoam: boolean;
protected _zoomAttr: IRoamZoomSpec;
protected _dragAttr: IRoamDragSpec;
protected _scrollAttr: IRoamScrollSpec;
get relatedAxisComponent(): IComponent;
setStartAndEnd(start: number | string, end: number | string, rangeMode?: ['percent' | 'value', 'percent' | 'value']): void;
enableInteraction(): void;
disableInteraction(): void;
zoomIn(location?: {
x: number;
y: number;
}): void;
zoomOut(location?: {
x: number;
y: number;
}): void;
protected abstract _createOrUpdateComponent(): void;
protected abstract _computeWidth(): number;
protected abstract _computeHeight(): number;
protected abstract _handleDataCollectionChange(): void;
protected _handleChange(start: number, end: number, updateComponent?: boolean): void;
protected _isReverse(): boolean;
protected _updateRangeFactor(tag?: 'startHandler' | 'endHandler'): void;
effect: IEffect;
protected _visible: boolean;
get visible(): boolean;
constructor(spec: T, options: IComponentOption);
created(): void;
initLayout(): void;
protected _setAxisFromSpec(): void;
protected _setRegionsFromSpec(): void;
onDataUpdate(): void;
protected _computeDomainOfStateScale(isContinuous?: boolean): any;
protected _initEvent(): void;
protected _initData(): void;
setAttrFromSpec(): void;
statePointToData(state: number): any;
dataToStatePoint(data: number | string): number;
protected _modeCheck(statePoint: 'start' | 'end', mode: string): any;
protected _setStateFromSpec(): void;
private _parseFieldOfSeries;
protected _initStateScale(): void;
init(option: IModelInitOption): void;
protected _addTransformToSeries(): void;
_compareSpec(spec: AdaptiveSpec<T, 'width' | 'height'>, prevSpec: AdaptiveSpec<T, 'width' | 'height'>): {
change: boolean;
reMake: boolean;
reRender: boolean;
reSize: boolean;
reCompile: boolean;
};
reInit(spec?: AdaptiveSpec<T, 'width' | 'height'>): void;
protected _parseDomainFromState(startValue: number | string, endValue: number | string): any;
protected _handleStateChange: (startValue: number, endValue: number, tag?: string) => boolean;
protected _handleChartZoom: (params: {
zoomDelta: number;
zoomX?: number;
zoomY?: number;
}, e?: BaseEventParams['event']) => void;
protected _handleChartScroll: (params: {
scrollX: number;
scrollY: number;
}, e: BaseEventParams['event']) => boolean;
protected _handleChartDrag: (delta: [number, number], e: BaseEventParams['event']) => void;
protected _handleChartMove: (value: number, rate: number) => boolean;
protected _initCommonEvent(): void;
updateLayoutAttribute(): void;
protected _autoVisible(isShown: boolean): void;
onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect): void;
onLayoutEnd(): void;
getBoundsInRect(rect: ILayoutRect): IBoundsLike;
hide(): void;
show(): void;
protected _getAxisBandSize(axisSpec?: ICartesianBandAxisSpec): {
bandSize: number;
maxBandSize: number;
minBandSize: number;
};
protected _autoUpdate(rect?: ILayoutRect): boolean;
protected _getNeedClearVRenderComponents(): IGraphic[];
}