UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

633 lines (620 loc) • 21 kB
/** * DevExtreme (viz/vector_map.d.ts) * Version: 19.2.6 * Build date: Thu Jan 30 2020 * * Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import '../jquery_augmentation'; import { dxElement } from '../core/element'; import { template } from '../core/templates/template'; import DataSource, { DataSourceOptions } from '../data/data_source'; import { event } from '../events'; import { BaseLegend, BaseLegendItem } from './common'; import BaseWidget, { BaseWidgetOptions, BaseWidgetTooltip, Font } from './core/base_widget'; import { VectorMapProjectionConfig } from './vector_map/projection'; /** Warning! This type is used for internal purposes. Do not import it directly. */ export interface MapLayer { /** * @docid MapLayerMethods.clearSelection * @publicName clearSelection() * @prevFileNamespace DevExpress.viz * @public */ clearSelection(): void; /** * @docid MapLayerFields.elementType * @type string * @prevFileNamespace DevExpress.viz * @public */ elementType?: string; /** * @docid MapLayerMethods.getDataSource * @publicName getDataSource() * @return DataSource * @prevFileNamespace DevExpress.viz * @public */ getDataSource(): DataSource; /** * @docid MapLayerMethods.getElements * @publicName getElements() * @return Array<MapLayerElement> * @prevFileNamespace DevExpress.viz * @public */ getElements(): Array<MapLayerElement>; /** * @docid MapLayerFields.index * @type number * @prevFileNamespace DevExpress.viz * @public */ index?: number; /** * @docid MapLayerFields.name * @type string * @prevFileNamespace DevExpress.viz * @public */ name?: string; /** * @docid MapLayerFields.type * @type string * @prevFileNamespace DevExpress.viz * @public */ type?: string; } /** Warning! This type is used for internal purposes. Do not import it directly. */ export interface MapLayerElement { /** * @docid MapLayerElementMethods.applySettings * @publicName applySettings(settings) * @param1 settings:object * @prevFileNamespace DevExpress.viz * @public */ applySettings(settings: any): void; /** * @docid MapLayerElementMethods.attribute * @publicName attribute(name) * @return any * @param1 name:string * @prevFileNamespace DevExpress.viz * @public */ attribute(name: string): any; /** * @docid MapLayerElementMethods.attribute * @publicName attribute(name, value) * @param1 name:string * @param2 value:any * @prevFileNamespace DevExpress.viz * @public */ attribute(name: string, value: any): void; /** * @docid MapLayerElementMethods.coordinates * @publicName coordinates() * @return object * @prevFileNamespace DevExpress.viz * @public */ coordinates(): any; /** * @docid MapLayerElementFields.layer * @type object * @prevFileNamespace DevExpress.viz * @public */ layer?: any; /** * @docid MapLayerElementMethods.selected * @publicName selected() * @return boolean * @prevFileNamespace DevExpress.viz * @public */ selected(): boolean; /** * @docid MapLayerElementMethods.selected * @publicName selected(state) * @param1 state:boolean * @prevFileNamespace DevExpress.viz * @public */ selected(state: boolean): void; } /** Warning! This type is used for internal purposes. Do not import it directly. */ export interface VectorMapLegendItem extends BaseLegendItem { /** * @docid VectorMapLegendItem.color * @type string * @prevFileNamespace DevExpress.viz * @public */ color?: string; /** * @docid VectorMapLegendItem.end * @type number * @prevFileNamespace DevExpress.viz * @public */ end?: number; /** * @docid VectorMapLegendItem.size * @type number * @prevFileNamespace DevExpress.viz * @public */ size?: number; /** * @docid VectorMapLegendItem.start * @type number * @prevFileNamespace DevExpress.viz * @public */ start?: number; } /** Warning! This type is used for internal purposes. Do not import it directly. */ export interface dxVectorMapOptions extends BaseWidgetOptions<dxVectorMap> { /** * @docid dxVectorMapOptions.background * @type object * @prevFileNamespace DevExpress.viz * @public */ background?: { borderColor?: string, color?: string }; /** * @docid dxVectorMapOptions.bounds * @type Array<number> * @default undefined * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ bounds?: Array<number>; /** * @docid dxVectorMapOptions.center * @type Array<number> * @default [0, 0] * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ center?: Array<number>; /** * @docid dxVectorMapOptions.controlBar * @type object * @prevFileNamespace DevExpress.viz * @public */ controlBar?: { borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: 'center' | 'left' | 'right', margin?: number, opacity?: number, verticalAlignment?: 'bottom' | 'top' }; /** * @docid dxVectorMapOptions.layers * @type Array<Object>|Object * @default undefined * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ layers?: Array<{ borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => any), dataField?: string, dataSource?: any | DataSource | DataSourceOptions | string, elementType?: 'bubble' | 'dot' | 'image' | 'pie', hoverEnabled?: boolean, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | 'Bright' | 'Default' | 'Harmony Light' | 'Ocean' | 'Pastel' | 'Soft' | 'Soft Pastel' | 'Vintage' | 'Violet' | 'Carmine' | 'Dark Moon' | 'Dark Violet' | 'Green Mist' | 'Soft Blue' | 'Material' | 'Office', paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: 'multiple' | 'none' | 'single', size?: number, sizeGroupingField?: string, sizeGroups?: Array<number>, type?: 'area' | 'line' | 'marker' }> | { borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => any), dataField?: string, dataSource?: any | DataSource | DataSourceOptions | string, elementType?: 'bubble' | 'dot' | 'image' | 'pie', hoverEnabled?: boolean, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | 'Bright' | 'Default' | 'Harmony Light' | 'Ocean' | 'Pastel' | 'Soft' | 'Soft Pastel' | 'Vintage' | 'Violet' | 'Carmine' | 'Dark Moon' | 'Dark Violet' | 'Green Mist' | 'Soft Blue' | 'Material' | 'Office', paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: 'multiple' | 'none' | 'single', size?: number, sizeGroupingField?: string, sizeGroups?: Array<number>, type?: 'area' | 'line' | 'marker' }; /** * @docid dxVectorMapOptions.legends * @type Array<Object> * @inherits BaseLegend * @default undefined * @prevFileNamespace DevExpress.viz * @public */ legends?: Array<dxVectorMapLegends>; /** * @docid dxVectorMapOptions.maxZoomFactor * @type number * @default 256 * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ maxZoomFactor?: number; /** * @docid dxVectorMapOptions.onCenterChanged * @extends Action * @type function * @type_function_param1 e:object * @type_function_param1_field4 center:Array<number> * @notUsedInTheme * @action * @prevFileNamespace DevExpress.viz * @public */ onCenterChanged?: ((e: { component?: dxVectorMap, element?: dxElement, model?: any, center?: Array<number> }) => any); /** * @docid dxVectorMapOptions.onClick * @extends Action * @type function|string * @type_function_param1 e:object * @type_function_param1_field4 jQueryEvent:jQuery.Event:deprecated(event) * @type_function_param1_field5 event:event * @type_function_param1_field6 target:MapLayerElement * @notUsedInTheme * @action * @prevFileNamespace DevExpress.viz * @public */ onClick?: ((e: { component?: dxVectorMap, element?: dxElement, model?: any, jQueryEvent?: JQueryEventObject, event?: event, target?: MapLayerElement }) => any) | string; /** * @docid dxVectorMapOptions.onSelectionChanged * @extends Action * @type function * @type_function_param1 e:object * @type_function_param1_field4 target:MapLayerElement * @notUsedInTheme * @action * @prevFileNamespace DevExpress.viz * @public */ onSelectionChanged?: ((e: { component?: dxVectorMap, element?: dxElement, model?: any, target?: MapLayerElement }) => any); /** * @docid dxVectorMapOptions.onTooltipHidden * @extends Action * @type function(e) * @type_function_param1 e:object * @type_function_param1_field4 target:MapLayerElement * @notUsedInTheme * @action * @prevFileNamespace DevExpress.viz * @public */ onTooltipHidden?: ((e: { component?: dxVectorMap, element?: dxElement, model?: any, target?: MapLayerElement }) => any); /** * @docid dxVectorMapOptions.onTooltipShown * @extends Action * @type function(e) * @type_function_param1 e:object * @type_function_param1_field4 target:MapLayerElement * @notUsedInTheme * @action * @prevFileNamespace DevExpress.viz * @public */ onTooltipShown?: ((e: { component?: dxVectorMap, element?: dxElement, model?: any, target?: MapLayerElement }) => any); /** * @docid dxVectorMapOptions.onZoomFactorChanged * @extends Action * @type function * @type_function_param1 e:object * @type_function_param1_field4 zoomFactor:number * @notUsedInTheme * @action * @prevFileNamespace DevExpress.viz * @public */ onZoomFactorChanged?: ((e: { component?: dxVectorMap, element?: dxElement, model?: any, zoomFactor?: number }) => any); /** * @docid dxVectorMapOptions.panningEnabled * @type boolean * @default true * @prevFileNamespace DevExpress.viz * @public */ panningEnabled?: boolean; /** * @docid dxVectorMapOptions.projection * @type Enums.VectorMapProjection|VectorMapProjectionConfig|string|object * @default "mercator" * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ projection?: 'equirectangular' | 'lambert' | 'mercator' | 'miller' | VectorMapProjectionConfig | string | any; /** * @docid dxVectorMapOptions.tooltip * @type object * @prevFileNamespace DevExpress.viz * @public */ tooltip?: dxVectorMapTooltip; /** * @docid dxVectorMapOptions.touchEnabled * @type boolean * @default true * @prevFileNamespace DevExpress.viz * @public */ touchEnabled?: boolean; /** * @docid dxVectorMapOptions.wheelEnabled * @type boolean * @default true * @prevFileNamespace DevExpress.viz * @public */ wheelEnabled?: boolean; /** * @docid dxVectorMapOptions.zoomFactor * @type number * @default 1 * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ zoomFactor?: number; /** * @docid dxVectorMapOptions.zoomingEnabled * @type boolean * @default true * @prevFileNamespace DevExpress.viz * @public */ zoomingEnabled?: boolean; } /** Warning! This type is used for internal purposes. Do not import it directly. */ export interface dxVectorMapLegends extends BaseLegend { /** * @docid dxVectorMapOptions.legends.customizeHint * @type function(itemInfo) * @type_function_param1 itemInfo:object * @type_function_param1_field1 start:number * @type_function_param1_field2 end:number * @type_function_param1_field3 index:number * @type_function_param1_field4 color:string * @type_function_param1_field5 size:number * @type_function_return string * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ customizeHint?: ((itemInfo: { start?: number, end?: number, index?: number, color?: string, size?: number }) => string); /** * @docid dxVectorMapOptions.legends.customizeItems * @type function(items) * @type_function_param1 items:Array<VectorMapLegendItem> * @type_function_return Array<VectorMapLegendItem> * @prevFileNamespace DevExpress.viz * @public */ customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>); /** * @docid dxVectorMapOptions.legends.customizeText * @type function(itemInfo) * @type_function_param1 itemInfo:object * @type_function_param1_field1 start:number * @type_function_param1_field2 end:number * @type_function_param1_field3 index:number * @type_function_param1_field4 color:string * @type_function_param1_field5 size:number * @type_function_return string * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ customizeText?: ((itemInfo: { start?: number, end?: number, index?: number, color?: string, size?: number }) => string); /** * @docid dxVectorMapOptions.legends.font * @type Font * @default '#2b2b2b' [prop](color) * @prevFileNamespace DevExpress.viz * @public */ font?: Font; /** * @docid dxVectorMapOptions.legends.markerColor * @type string * @default undefined * @prevFileNamespace DevExpress.viz * @public */ markerColor?: string; /** * @docid dxVectorMapOptions.legends.markerShape * @type Enums.VectorMapMarkerShape * @default "square" * @prevFileNamespace DevExpress.viz * @public */ markerShape?: 'circle' | 'square'; /** * @docid dxVectorMapOptions.legends.markerSize * @type number * @default 12 * @prevFileNamespace DevExpress.viz * @public */ markerSize?: number; /** * @docid dxVectorMapOptions.legends.markerTemplate * @type template|function * @default undefined * @type_function_param1 legendItem:VectorMapLegendItem * @type_function_param2 element:SVGGElement * @type_function_return string|SVGElement|jQuery * @prevFileNamespace DevExpress.viz * @public */ markerTemplate?: template | ((legendItem: VectorMapLegendItem, element: SVGGElement) => string | SVGElement | JQuery); /** * @docid dxVectorMapOptions.legends.source * @type object * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ source?: { grouping?: string, layer?: string }; } /** Warning! This type is used for internal purposes. Do not import it directly. */ export interface dxVectorMapTooltip extends BaseWidgetTooltip { /** * @docid dxVectorMapOptions.tooltip.contentTemplate * @type template | function(info, element) * @type_function_param1 info:MapLayerElement * @type_function_param2 element:dxElement * @type_function_return string|Node|jQuery * @default undefined * @prevFileNamespace DevExpress.viz * @public */ contentTemplate?: template | ((info: MapLayerElement, element: dxElement) => string | Element | JQuery); /** * @docid dxVectorMapOptions.tooltip.customizeTooltip * @type function(info) * @type_function_param1 info:MapLayerElement * @type_function_return object * @default undefined * @notUsedInTheme * @prevFileNamespace DevExpress.viz * @public */ customizeTooltip?: ((info: MapLayerElement) => any); } /** The VectorMap is a widget that visualizes geographical locations. This widget represents a geographical map that contains areas and markers. Areas embody continents and countries. Markers flag specific points on the map, for example, towns, cities or capitals. */ export default class dxVectorMap extends BaseWidget { constructor(element: Element, options?: dxVectorMapOptions) constructor(element: JQuery, options?: dxVectorMapOptions) /** * @docid dxVectorMapMethods.center * @publicName center() * @return Array<number> * @prevFileNamespace DevExpress.viz * @public */ center(): Array<number>; /** * @docid dxVectorMapMethods.center * @publicName center(centerCoordinates) * @param1 centerCoordinates:Array<number> * @prevFileNamespace DevExpress.viz * @public */ center(centerCoordinates: Array<number>): void; /** * @docid dxVectorMapMethods.clearSelection * @publicName clearSelection() * @prevFileNamespace DevExpress.viz * @public */ clearSelection(): void; /** * @docid dxVectorMapMethods.convertCoordinates * @publicName convertCoordinates(x, y) * @param1 x:number * @param2 y:number * @return Array<number> * @deprecated dxVectorMapMethods.convertToGeo * @prevFileNamespace DevExpress.viz * @public */ convertCoordinates(x: number, y: number): Array<number>; /** * @docid dxVectorMapMethods.convertToGeo * @publicName convertToGeo(x, y) * @param1 x:number * @param2 y:number * @return Array<number> * @prevFileNamespace DevExpress.viz * @public */ convertToGeo(x: number, y: number): Array<number>; /** * @docid dxVectorMapMethods.convertToXY * @publicName convertToXY(longitude, latitude) * @param1 longitude:number * @param2 latitude:number * @return Array<number> * @prevFileNamespace DevExpress.viz * @public */ convertToXY(longitude: number, latitude: number): Array<number>; /** * @docid dxVectorMapMethods.getLayerByIndex * @publicName getLayerByIndex(index) * @return MapLayer * @param1 index:number * @prevFileNamespace DevExpress.viz * @public */ getLayerByIndex(index: number): MapLayer; /** * @docid dxVectorMapMethods.getLayerByName * @publicName getLayerByName(name) * @return MapLayer * @param1 name:string * @prevFileNamespace DevExpress.viz * @public */ getLayerByName(name: string): MapLayer; /** * @docid dxVectorMapMethods.getLayers * @publicName getLayers() * @return Array<MapLayer> * @prevFileNamespace DevExpress.viz * @public */ getLayers(): Array<MapLayer>; /** * @docid dxVectorMapMethods.viewport * @publicName viewport() * @return Array<number> * @prevFileNamespace DevExpress.viz * @public */ viewport(): Array<number>; /** * @docid dxVectorMapMethods.viewport * @publicName viewport(viewportCoordinates) * @param1 viewportCoordinates:Array<number> * @prevFileNamespace DevExpress.viz * @public */ viewport(viewportCoordinates: Array<number>): void; /** * @docid dxVectorMapMethods.zoomFactor * @publicName zoomFactor() * @return number * @prevFileNamespace DevExpress.viz * @public */ zoomFactor(): number; /** * @docid dxVectorMapMethods.zoomFactor * @publicName zoomFactor(zoomFactor) * @param1 zoomFactor:number * @prevFileNamespace DevExpress.viz * @public */ zoomFactor(zoomFactor: number): void; } declare global { interface JQuery { dxVectorMap(): JQuery; dxVectorMap(options: "instance"): dxVectorMap; dxVectorMap(options: string): any; dxVectorMap(options: string, ...params: any[]): any; dxVectorMap(options: dxVectorMapOptions): JQuery; } } /** Warning! This type is used for internal purposes. Do not import it directly. */ export type Options = dxVectorMapOptions; /** @deprecated use Options instead */ /** Warning! This type is used for internal purposes. Do not import it directly. */ export type IOptions = dxVectorMapOptions;