UNPKG

@highcharts/dashboards

Version:
133 lines (132 loc) 4.7 kB
import type { HTMLDOMElement } from '../Renderer/DOMElementType'; import type MapPoint from '../../Series/Map/MapPoint'; import type MapPointer from '../../Maps/MapPointer'; import type MapView from '../../Maps/MapView'; import type Options from '../Options'; import type SVGPath from '../Renderer/SVG/SVGPath'; import Chart from './Chart.js'; import '../../Maps/MapSymbols.js'; declare module './ChartBase' { interface ChartBase { mapView?: MapView; } } /** * Map-optimized chart. Use {@link Highcharts.Chart|Chart} for common charts. * * @requires modules/map * * @class * @name Highcharts.MapChart * @extends Highcharts.Chart */ declare class MapChart extends Chart { /** * Initializes the chart. The constructor's arguments are passed on * directly. * * @function Highcharts.MapChart#init * * @param {Highcharts.Options} userOptions * Custom options. * * @param {Function} [callback] * Function to run when the chart has loaded and all external * images are loaded. * * * @emits Highcharts.MapChart#event:init * @emits Highcharts.MapChart#event:afterInit */ init(userOptions: Partial<Options>, callback?: Chart.CallbackFunction): void; /** * Highcharts Maps only. Zoom in or out of the map. See also * {@link Point#zoomTo}. See {@link Chart#fromLatLonToPoint} for how to get * the `centerX` and `centerY` parameters for a geographic location. * * Deprecated as of v9.3 in favor of [MapView.zoomBy](https://api.highcharts.com/class-reference/Highcharts.MapView#zoomBy). * * @deprecated * @function Highcharts.Chart#mapZoom * * @param {number} [howMuch] * How much to zoom the map. Values less than 1 zooms in. 0.5 zooms * in to half the current view. 2 zooms to twice the current view. If * omitted, the zoom is reset. * * @param {number} [xProjected] * The projected x position to keep stationary when zooming, if * available space. * * @param {number} [yProjected] * The projected y position to keep stationary when zooming, if * available space. * * @param {number} [chartX] * Keep this chart position stationary if possible. This is used for * example in `mousewheel` events, where the area under the mouse * should be fixed as we zoom in. * * @param {number} [chartY] * Keep this chart position stationary if possible. */ mapZoom(howMuch?: number, xProjected?: number, yProjected?: number, chartX?: number, chartY?: number): void; update(options: Partial<Options>): void; } interface MapChart extends Chart { hoverPoint?: MapPoint; pointer: MapPointer; } declare namespace MapChart { /** * Contains all loaded map data for Highmaps. * * @requires modules/map * * @name Highcharts.maps * @type {Record<string,*>} */ const maps: AnyRecord; /** * The factory function for creating new map charts. Creates a new {@link * Highcharts.MapChart|MapChart} object with different default options than * the basic Chart. * * @requires modules/map * * @function Highcharts.mapChart * * @param {string|Highcharts.HTMLDOMElement} [renderTo] * The DOM element to render to, or its id. * * @param {Highcharts.Options} options * The chart options structure as described in the * [options reference](https://api.highcharts.com/highstock). * * @param {Highcharts.ChartCallbackFunction} [callback] * A function to execute when the chart object is finished * rendering and all external image files (`chart.backgroundImage`, * `chart.plotBackgroundImage` etc) are loaded. Defining a * [chart.events.load](https://api.highcharts.com/highstock/chart.events.load) * handler is equivalent. * * @return {Highcharts.MapChart} * The chart object. */ function mapChart(a: (string | HTMLDOMElement | Partial<Options>), b?: (Chart.CallbackFunction | Partial<Options>), c?: Chart.CallbackFunction): MapChart; /** * Utility for reading SVG paths directly. * * @requires modules/map * * @function Highcharts.splitPath * * @param {string|Array<(string|number)>} path * Path to split. * * @return {Highcharts.SVGPathArray} * Splitted SVG path */ function splitPath(path: (string | Array<(string | number)>)): SVGPath; } export default MapChart;