123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- import * as zrUtil from 'zrender/lib/core/util.js';
- import { DataHost, DimensionName, SeriesOption, ZRColor, ScaleDataValue, SeriesDataType, OptionEncodeValue, ColorBy } from '../util/types.js';
- import ComponentModel from './Component.js';
- import { PaletteMixin } from './mixin/palette.js';
- import { DataFormatMixin } from '../model/mixin/dataFormat.js';
- import Model from '../model/Model.js';
- import GlobalModel from './Global.js';
- import { CoordinateSystem } from '../coord/CoordinateSystem.js';
- import { ExtendableConstructor, Constructor } from '../util/clazz.js';
- import { PipelineContext, SeriesTask } from '../core/Scheduler.js';
- import LegendVisualProvider from '../visual/LegendVisualProvider.js';
- import SeriesData from '../data/SeriesData.js';
- import Axis from '../coord/Axis.js';
- import type { BrushCommonSelectorsForSeries, BrushSelectableArea } from '../component/brush/selector.js';
- import makeStyleMapper from './mixin/makeStyleMapper.js';
- import { SourceManager } from '../data/helper/sourceManager.js';
- import { Source } from '../data/Source.js';
- import { ECSymbol } from '../util/symbol.js';
- import { Group } from '../util/graphic.js';
- import { LegendIconParams } from '../component/legend/LegendModel.js';
- export declare const SERIES_UNIVERSAL_TRANSITION_PROP = "__universalTransitionEnabled";
- interface SeriesModel {
- /**
- * Convinient for override in extended class.
- * Implement it if needed.
- */
- preventIncremental(): boolean;
- /**
- * See tooltip.
- * Implement it if needed.
- * @return Point of tooltip. null/undefined can be returned.
- */
- getTooltipPosition(dataIndex: number): number[];
- /**
- * Get data indices for show tooltip content. See tooltip.
- * Implement it if needed.
- */
- getAxisTooltipData(dim: DimensionName[], value: ScaleDataValue, baseAxis: Axis): {
- dataIndices: number[];
- nestestValue: any;
- };
- /**
- * Get position for marker
- */
- getMarkerPosition(value: ScaleDataValue[]): number[];
- /**
- * Get legend icon symbol according to each series type
- */
- getLegendIcon(opt: LegendIconParams): ECSymbol | Group;
- /**
- * See `component/brush/selector.js`
- * Defined the brush selector for this series.
- */
- brushSelector(dataIndex: number, data: SeriesData, selectors: BrushCommonSelectorsForSeries, area: BrushSelectableArea): boolean;
- enableAriaDecal(): void;
- }
- declare class SeriesModel<Opt extends SeriesOption = SeriesOption> extends ComponentModel<Opt> {
- type: string;
- defaultOption: SeriesOption;
- seriesIndex: number;
- coordinateSystem: CoordinateSystem;
- dataTask: SeriesTask;
- pipelineContext: PipelineContext;
- legendVisualProvider: LegendVisualProvider;
- visualStyleAccessPath: string;
- visualDrawType: 'fill' | 'stroke';
- visualStyleMapper: ReturnType<typeof makeStyleMapper>;
- ignoreStyleOnData: boolean;
- hasSymbolVisual: boolean;
- defaultSymbol: string;
- legendIcon: string;
- [SERIES_UNIVERSAL_TRANSITION_PROP]: boolean;
- private _selectedDataIndicesMap;
- readonly preventUsingHoverLayer: boolean;
- static protoInitialize: void;
- init(option: Opt, parentModel: Model, ecModel: GlobalModel): void;
- /**
- * Util for merge default and theme to option
- */
- mergeDefaultAndTheme(option: Opt, ecModel: GlobalModel): void;
- mergeOption(newSeriesOption: Opt, ecModel: GlobalModel): void;
- fillDataTextStyle(data: ArrayLike<any>): void;
- /**
- * Init a data structure from data related option in series
- * Must be overriden.
- */
- getInitialData(option: Opt, ecModel: GlobalModel): SeriesData;
- /**
- * Append data to list
- */
- appendData(params: {
- data: ArrayLike<any>;
- }): void;
- /**
- * Consider some method like `filter`, `map` need make new data,
- * We should make sure that `seriesModel.getData()` get correct
- * data in the stream procedure. So we fetch data from upstream
- * each time `task.perform` called.
- */
- getData(dataType?: SeriesDataType): SeriesData<this>;
- getAllData(): ({
- data: SeriesData;
- type?: SeriesDataType;
- })[];
- setData(data: SeriesData): void;
- getEncode(): zrUtil.HashMap<OptionEncodeValue, string>;
- getSourceManager(): SourceManager;
- getSource(): Source;
- /**
- * Get data before processed
- */
- getRawData(): SeriesData;
- getColorBy(): ColorBy;
- isColorBySeries(): boolean;
- /**
- * Get base axis if has coordinate system and has axis.
- * By default use coordSys.getBaseAxis();
- * Can be overrided for some chart.
- * @return {type} description
- */
- getBaseAxis(): Axis;
- /**
- * Default tooltip formatter
- *
- * @param dataIndex
- * @param multipleSeries
- * @param dataType
- * @param renderMode valid values: 'html'(by default) and 'richText'.
- * 'html' is used for rendering tooltip in extra DOM form, and the result
- * string is used as DOM HTML content.
- * 'richText' is used for rendering tooltip in rich text form, for those where
- * DOM operation is not supported.
- * @return formatted tooltip with `html` and `markers`
- * Notice: The override method can also return string
- */
- formatTooltip(dataIndex: number, multipleSeries?: boolean, dataType?: SeriesDataType): ReturnType<DataFormatMixin['formatTooltip']>;
- isAnimationEnabled(): boolean;
- restoreData(): void;
- getColorFromPalette(name: string, scope: any, requestColorNum?: number): ZRColor;
- /**
- * Use `data.mapDimensionsAll(coordDim)` instead.
- * @deprecated
- */
- coordDimToDataDim(coordDim: DimensionName): DimensionName[];
- /**
- * Get progressive rendering count each step
- */
- getProgressive(): number | false;
- /**
- * Get progressive rendering count each step
- */
- getProgressiveThreshold(): number;
- select(innerDataIndices: number[], dataType?: SeriesDataType): void;
- unselect(innerDataIndices: number[], dataType?: SeriesDataType): void;
- toggleSelect(innerDataIndices: number[], dataType?: SeriesDataType): void;
- getSelectedDataIndices(): number[];
- isSelected(dataIndex: number, dataType?: SeriesDataType): boolean;
- isUniversalTransitionEnabled(): boolean;
- private _innerSelect;
- private _initSelectedMapFromData;
- static registerClass(clz: Constructor): Constructor;
- }
- interface SeriesModel<Opt extends SeriesOption = SeriesOption> extends DataFormatMixin, PaletteMixin<Opt>, DataHost {
- /**
- * Get dimension to render shadow in dataZoom component
- */
- getShadowDim?(): string;
- }
- export declare type SeriesModelConstructor = typeof SeriesModel & ExtendableConstructor;
- export default SeriesModel;
|