123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- export default class DatasetController {
- /**
- * @type {any}
- */
- static defaults: any;
- /**
- * Element type used to generate a meta dataset (e.g. Chart.element.LineElement).
- */
- static datasetElementType: any;
- /**
- * Element type used to generate a meta data (e.g. Chart.element.PointElement).
- */
- static dataElementType: any;
- /**
- * @param {Chart} chart
- * @param {number} datasetIndex
- */
- constructor(chart: Chart, datasetIndex: number);
- chart: import("./core.controller.js").default;
- _ctx: any;
- index: number;
- _cachedDataOpts: {};
- _cachedMeta: any;
- _type: any;
- options: any;
- /** @type {boolean | object} */
- _parsing: boolean | object;
- _data: any;
- _objectData: any;
- _sharedOptions: any;
- _drawStart: any;
- _drawCount: any;
- enableOptionSharing: boolean;
- supportsDecimation: boolean;
- $context: any;
- _syncList: any[];
- datasetElementType: any;
- dataElementType: any;
- initialize(): void;
- updateIndex(datasetIndex: any): void;
- linkScales(): void;
- getDataset(): any;
- getMeta(): any;
- /**
- * @param {string} scaleID
- * @return {Scale}
- */
- getScaleForId(scaleID: string): Scale;
- /**
- * @private
- */
- private _getOtherScale;
- reset(): void;
- /**
- * @private
- */
- private _destroy;
- /**
- * @private
- */
- private _dataCheck;
- addElements(): void;
- buildOrUpdateElements(resetNewElements: any): void;
- /**
- * Merges user-supplied and default dataset-level options
- * @private
- */
- private configure;
- /**
- * @param {number} start
- * @param {number} count
- */
- parse(start: number, count: number): void;
- /**
- * Parse array of primitive values
- * @param {object} meta - dataset meta
- * @param {array} data - data array. Example [1,3,4]
- * @param {number} start - start index
- * @param {number} count - number of items to parse
- * @returns {object} parsed item - item containing index and a parsed value
- * for each scale id.
- * Example: {xScale0: 0, yScale0: 1}
- * @protected
- */
- protected parsePrimitiveData(meta: object, data: any[], start: number, count: number): object;
- /**
- * Parse array of arrays
- * @param {object} meta - dataset meta
- * @param {array} data - data array. Example [[1,2],[3,4]]
- * @param {number} start - start index
- * @param {number} count - number of items to parse
- * @returns {object} parsed item - item containing index and a parsed value
- * for each scale id.
- * Example: {x: 0, y: 1}
- * @protected
- */
- protected parseArrayData(meta: object, data: any[], start: number, count: number): object;
- /**
- * Parse array of objects
- * @param {object} meta - dataset meta
- * @param {array} data - data array. Example [{x:1, y:5}, {x:2, y:10}]
- * @param {number} start - start index
- * @param {number} count - number of items to parse
- * @returns {object} parsed item - item containing index and a parsed value
- * for each scale id. _custom is optional
- * Example: {xScale0: 0, yScale0: 1, _custom: {r: 10, foo: 'bar'}}
- * @protected
- */
- protected parseObjectData(meta: object, data: any[], start: number, count: number): object;
- /**
- * @protected
- */
- protected getParsed(index: any): any;
- /**
- * @protected
- */
- protected getDataElement(index: any): any;
- /**
- * @protected
- */
- protected applyStack(scale: any, parsed: any, mode: any): any;
- /**
- * @protected
- */
- protected updateRangeFromParsed(range: any, scale: any, parsed: any, stack: any): void;
- /**
- * @protected
- */
- protected getMinMax(scale: any, canStack: any): {
- min: number;
- max: number;
- };
- getAllParsedValues(scale: any): number[];
- /**
- * @return {number|boolean}
- * @protected
- */
- protected getMaxOverflow(): number | boolean;
- /**
- * @protected
- */
- protected getLabelAndValue(index: any): {
- label: string;
- value: string;
- };
- /**
- * @private
- */
- private _update;
- /**
- * @param {string} mode
- */
- update(mode: string): void;
- draw(): void;
- /**
- * Returns a set of predefined style properties that should be used to represent the dataset
- * or the data if the index is specified
- * @param {number} index - data index
- * @param {boolean} [active] - true if hover
- * @return {object} style object
- */
- getStyle(index: number, active?: boolean): object;
- /**
- * @protected
- */
- protected getContext(index: any, active: any, mode: any): any;
- /**
- * @param {string} [mode]
- * @protected
- */
- protected resolveDatasetElementOptions(mode?: string): any;
- /**
- * @param {number} index
- * @param {string} [mode]
- * @protected
- */
- protected resolveDataElementOptions(index: number, mode?: string): any;
- /**
- * @private
- */
- private _resolveElementOptions;
- /**
- * @private
- */
- private _resolveAnimations;
- /**
- * Utility for getting the options object shared between elements
- * @protected
- */
- protected getSharedOptions(options: any): any;
- /**
- * Utility for determining if `options` should be included in the updated properties
- * @protected
- */
- protected includeOptions(mode: any, sharedOptions: any): boolean;
- /**
- * @todo v4, rename to getSharedOptions and remove excess functions
- */
- _getSharedOptions(start: any, mode: any): {
- sharedOptions: any;
- includeOptions: boolean;
- };
- /**
- * Utility for updating an element with new properties, using animations when appropriate.
- * @protected
- */
- protected updateElement(element: any, index: any, properties: any, mode: any): void;
- /**
- * Utility to animate the shared options, that are potentially affecting multiple elements.
- * @protected
- */
- protected updateSharedOptions(sharedOptions: any, mode: any, newOptions: any): void;
- /**
- * @private
- */
- private _setStyle;
- removeHoverStyle(element: any, datasetIndex: any, index: any): void;
- setHoverStyle(element: any, datasetIndex: any, index: any): void;
- /**
- * @private
- */
- private _removeDatasetHoverStyle;
- /**
- * @private
- */
- private _setDatasetHoverStyle;
- /**
- * @private
- */
- private _resyncElements;
- /**
- * @private
- */
- private _insertElements;
- updateElements(element: any, start: any, count: any, mode: any): void;
- /**
- * @private
- */
- private _removeElements;
- /**
- * @private
- */
- private _sync;
- _onDataPush(...args: any[]): void;
- _onDataPop(): void;
- _onDataShift(): void;
- _onDataSplice(start: any, count: any, ...args: any[]): void;
- _onDataUnshift(...args: any[]): void;
- }
- export type Chart = import('./core.controller.js').default;
- export type Scale = import('./core.scale.js').default;
|