123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- export default Chart;
- export type ChartEvent = import('../types/index.js').ChartEvent;
- export type Point = import('../types/index.js').Point;
- declare class Chart {
- static defaults: import("./core.defaults.js").Defaults;
- static instances: {};
- static overrides: any;
- static registry: import("./core.registry.js").Registry;
- static version: string;
- static getChart: (key: any) => any;
- static register(...items: any[]): void;
- static unregister(...items: any[]): void;
- constructor(item: any, userConfig: any);
- config: Config;
- platform: any;
- id: number;
- ctx: any;
- canvas: any;
- width: any;
- height: any;
- _options: any;
- _aspectRatio: any;
- _layers: any[];
- _metasets: any[];
- _stacks: any;
- boxes: any[];
- currentDevicePixelRatio: any;
- chartArea: any;
- _active: any[];
- _lastEvent: import("../types/index.js").ChartEvent;
- _listeners: {};
- /** @type {?{attach?: function, detach?: function, resize?: function}} */
- _responsiveListeners: {
- attach?: Function;
- detach?: Function;
- resize?: Function;
- };
- _sortedMetasets: any[];
- scales: {};
- _plugins: PluginService;
- $proxies: {};
- _hiddenIndices: {};
- attached: boolean;
- _animationsDisabled: boolean;
- $context: {
- chart: Chart;
- type: string;
- };
- _doResize: (mode?: any) => number;
- _dataChanges: any[];
- get aspectRatio(): any;
- set data(arg: any);
- get data(): any;
- set options(arg: any);
- get options(): any;
- get registry(): import("./core.registry.js").Registry;
- /**
- * @private
- */
- private _initialize;
- clear(): Chart;
- stop(): Chart;
- /**
- * Resize the chart to its container or to explicit dimensions.
- * @param {number} [width]
- * @param {number} [height]
- */
- resize(width?: number, height?: number): void;
- _resizeBeforeDraw: {
- width: number;
- height: number;
- };
- _resize(width: any, height: any): void;
- ensureScalesHaveIDs(): void;
- /**
- * Builds a map of scale ID to scale object for future lookup.
- */
- buildOrUpdateScales(): void;
- /**
- * @private
- */
- private _updateMetasets;
- /**
- * @private
- */
- private _removeUnreferencedMetasets;
- buildOrUpdateControllers(): any[];
- /**
- * Reset the elements of all datasets
- * @private
- */
- private _resetElements;
- /**
- * Resets the chart back to its state before the initial animation
- */
- reset(): void;
- update(mode: any): void;
- _minPadding: number;
- /**
- * @private
- */
- private _updateScales;
- /**
- * @private
- */
- private _checkEventBindings;
- /**
- * @private
- */
- private _updateHiddenIndices;
- /**
- * @private
- */
- private _getUniformDataChanges;
- /**
- * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`
- * hook, in which case, plugins will not be called on `afterLayout`.
- * @private
- */
- private _updateLayout;
- /**
- * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`
- * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.
- * @private
- */
- private _updateDatasets;
- /**
- * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`
- * hook, in which case, plugins will not be called on `afterDatasetUpdate`.
- * @private
- */
- private _updateDataset;
- render(): void;
- draw(): void;
- /**
- * @private
- */
- private _getSortedDatasetMetas;
- /**
- * Gets the visible dataset metas in drawing order
- * @return {object[]}
- */
- getSortedVisibleDatasetMetas(): object[];
- /**
- * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`
- * hook, in which case, plugins will not be called on `afterDatasetsDraw`.
- * @private
- */
- private _drawDatasets;
- /**
- * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`
- * hook, in which case, plugins will not be called on `afterDatasetDraw`.
- * @private
- */
- private _drawDataset;
- /**
- * Checks whether the given point is in the chart area.
- * @param {Point} point - in relative coordinates (see, e.g., getRelativePosition)
- * @returns {boolean}
- */
- isPointInArea(point: Point): boolean;
- getElementsAtEventForMode(e: any, mode: any, options: any, useFinalPosition: any): any;
- getDatasetMeta(datasetIndex: any): any;
- getContext(): {
- chart: Chart;
- type: string;
- };
- getVisibleDatasetCount(): number;
- isDatasetVisible(datasetIndex: any): boolean;
- setDatasetVisibility(datasetIndex: any, visible: any): void;
- toggleDataVisibility(index: any): void;
- getDataVisibility(index: any): boolean;
- /**
- * @private
- */
- private _updateVisibility;
- hide(datasetIndex: any, dataIndex: any): void;
- show(datasetIndex: any, dataIndex: any): void;
- /**
- * @private
- */
- private _destroyDatasetMeta;
- _stop(): void;
- destroy(): void;
- toBase64Image(...args: any[]): any;
- /**
- * @private
- */
- private bindEvents;
- /**
- * @private
- */
- private bindUserEvents;
- /**
- * @private
- */
- private bindResponsiveEvents;
- /**
- * @private
- */
- private unbindEvents;
- updateHoverStyle(items: any, mode: any, enabled: any): void;
- /**
- * Get active (hovered) elements
- * @returns array
- */
- getActiveElements(): any[];
- /**
- * Set active (hovered) elements
- * @param {array} activeElements New active data points
- */
- setActiveElements(activeElements: any[]): void;
- /**
- * Calls enabled plugins on the specified hook and with the given args.
- * This method immediately returns as soon as a plugin explicitly returns false. The
- * returned value can be used, for instance, to interrupt the current action.
- * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').
- * @param {Object} [args] - Extra arguments to apply to the hook call.
- * @param {import('./core.plugins.js').filterCallback} [filter] - Filtering function for limiting which plugins are notified
- * @returns {boolean} false if any of the plugins return false, else returns true.
- */
- notifyPlugins(hook: string, args?: any, filter?: import('./core.plugins.js').filterCallback): boolean;
- /**
- * Check if a plugin with the specific ID is registered and enabled
- * @param {string} pluginId - The ID of the plugin of which to check if it is enabled
- * @returns {boolean}
- */
- isPluginEnabled(pluginId: string): boolean;
- /**
- * @private
- */
- private _updateHoverStyles;
- /**
- * @private
- */
- private _eventHandler;
- /**
- * Handle an event
- * @param {ChartEvent} e the event to handle
- * @param {boolean} [replay] - true if the event was replayed by `update`
- * @param {boolean} [inChartArea] - true if the event is inside chartArea
- * @return {boolean} true if the chart needs to re-render
- * @private
- */
- private _handleEvent;
- /**
- * @param {ChartEvent} e - The event
- * @param {import('../types/index.js').ActiveElement[]} lastActive - Previously active elements
- * @param {boolean} inChartArea - Is the event inside chartArea
- * @param {boolean} useFinalPosition - Should the evaluation be done with current or final (after animation) element positions
- * @returns {import('../types/index.js').ActiveElement[]} - The active elements
- * @pravate
- */
- _getActiveElements(e: ChartEvent, lastActive: import('../types/index.js').ActiveElement[], inChartArea: boolean, useFinalPosition: boolean): import('../types/index.js').ActiveElement[];
- }
- import Config from "./core.config.js";
- import PluginService from "./core.plugins.js";
|