UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

1 lines • 66.9 kB
{"version":3,"file":"devextreme-angular-ui-vector-map.mjs","sources":["../../../dist/ui/vector-map/index.ts","../../../dist/ui/vector-map/devextreme-angular-ui-vector-map.ts"],"sourcesContent":["/*!\n * devextreme-angular\n * Version: 25.1.4\n * Build date: Tue Aug 05 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\n/* tslint:disable:max-line-length */\r\n\r\n\r\nimport {\r\n TransferState,\r\n Component,\r\n NgModule,\r\n ElementRef,\r\n NgZone,\r\n PLATFORM_ID,\r\n Inject,\r\n\r\n Input,\r\n Output,\r\n OnDestroy,\r\n EventEmitter,\r\n OnChanges,\r\n DoCheck,\r\n SimpleChanges,\r\n ContentChildren,\r\n QueryList\r\n} from '@angular/core';\r\n\r\n\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { dxVectorMapAnnotationConfig, dxVectorMapCommonAnnotationConfig, MapLayerElement, VectorMapMarkerType, VectorMapLayerType, VectorMapLegendItem, VectorMapMarkerShape, CenterChangedEvent, ClickEvent, DisposingEvent, DrawnEvent, ExportedEvent, ExportingEvent, FileSavingEvent, IncidentOccurredEvent, InitializedEvent, OptionChangedEvent, SelectionChangedEvent, TooltipHiddenEvent, TooltipShownEvent, ZoomFactorChangedEvent } from 'devextreme/viz/vector_map';\r\nimport { HorizontalAlignment, VerticalEdge, ExportFormat, SingleMultipleOrNone, Position, Orientation } from 'devextreme/common';\r\nimport { DataSourceOptions } from 'devextreme/data/data_source';\r\nimport { Store } from 'devextreme/data/store';\r\nimport { Font, Palette, DashStyle, Theme, TextOverflow, WordWrap } from 'devextreme/common/charts';\r\nimport { VectorMapProjection, VectorMapProjectionConfig } from 'devextreme/viz/vector_map/projection';\r\n\r\nimport DxVectorMap from 'devextreme/viz/vector_map';\r\n\r\n\r\nimport {\r\n DxComponent,\r\n DxTemplateHost,\r\n DxIntegrationModule,\r\n DxTemplateModule,\r\n NestedOptionHost,\r\n IterableDifferHelper,\r\n WatcherHelper\r\n} from 'devextreme-angular/core';\r\n\r\nimport { DxiAnnotationModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoBorderModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoFontModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoImageModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoShadowModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoBackgroundModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoCommonAnnotationSettingsModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoControlBarModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoExportModule } from 'devextreme-angular/ui/nested';\r\nimport { DxiLayerModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoLabelModule } from 'devextreme-angular/ui/nested';\r\nimport { DxiLegendModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoMarginModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoSourceModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoTitleModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoSubtitleModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoLoadingIndicatorModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoProjectionModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoSizeModule } from 'devextreme-angular/ui/nested';\r\nimport { DxoTooltipModule } from 'devextreme-angular/ui/nested';\r\n\r\nimport { DxiVectorMapAnnotationModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapAnnotationBorderModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapBackgroundModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapBorderModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapCommonAnnotationSettingsModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapControlBarModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapExportModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapFontModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapImageModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapLabelModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxiVectorMapLayerModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxiVectorMapLegendModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapLegendTitleModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapLegendTitleSubtitleModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapLoadingIndicatorModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapMarginModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapProjectionModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapShadowModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapSizeModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapSourceModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapSubtitleModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapTitleModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapTooltipModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapTooltipBorderModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapVectorMapTitleModule } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxoVectorMapVectorMapTitleSubtitleModule } from 'devextreme-angular/ui/vector-map/nested';\r\n\r\nimport { DxiAnnotationComponent } from 'devextreme-angular/ui/nested';\r\nimport { DxiLayerComponent } from 'devextreme-angular/ui/nested';\r\nimport { DxiLegendComponent } from 'devextreme-angular/ui/nested';\r\n\r\nimport { DxiVectorMapAnnotationComponent } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxiVectorMapLayerComponent } from 'devextreme-angular/ui/vector-map/nested';\r\nimport { DxiVectorMapLegendComponent } from 'devextreme-angular/ui/vector-map/nested';\r\n\r\n\r\n/**\r\n * The VectorMap is a UI component that visualizes geographical locations. This UI component 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.\r\n\r\n */\r\n@Component({\r\n selector: 'dx-vector-map',\r\n standalone: true,\r\n template: '',\r\n styles: [ ' :host { display: block; }'],\r\n host: { ngSkipHydration: 'true' },\r\n imports: [ DxIntegrationModule ],\r\n providers: [\r\n DxTemplateHost,\r\n WatcherHelper,\r\n NestedOptionHost,\r\n IterableDifferHelper\r\n ]\r\n})\r\nexport class DxVectorMapComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck {\r\n instance: DxVectorMap = null;\r\n\r\n /**\r\n * Specifies the annotation collection.\r\n \r\n */\r\n @Input()\r\n get annotations(): Array<any | dxVectorMapAnnotationConfig> {\r\n return this._getOption('annotations');\r\n }\r\n set annotations(value: Array<any | dxVectorMapAnnotationConfig>) {\r\n this._setOption('annotations', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the properties for the map background.\r\n \r\n */\r\n @Input()\r\n get background(): { borderColor?: string, color?: string } {\r\n return this._getOption('background');\r\n }\r\n set background(value: { borderColor?: string, color?: string }) {\r\n this._setOption('background', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the positioning of a map in geographical coordinates.\r\n \r\n */\r\n @Input()\r\n get bounds(): Array<number> {\r\n return this._getOption('bounds');\r\n }\r\n set bounds(value: Array<number>) {\r\n this._setOption('bounds', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the geographical coordinates of the center for a map.\r\n \r\n */\r\n @Input()\r\n get center(): Array<number> {\r\n return this._getOption('center');\r\n }\r\n set center(value: Array<number>) {\r\n this._setOption('center', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies settings common for all annotations in the VectorMap.\r\n \r\n */\r\n @Input()\r\n get commonAnnotationSettings(): dxVectorMapCommonAnnotationConfig {\r\n return this._getOption('commonAnnotationSettings');\r\n }\r\n set commonAnnotationSettings(value: dxVectorMapCommonAnnotationConfig) {\r\n this._setOption('commonAnnotationSettings', value);\r\n }\r\n\r\n\r\n /**\r\n * Configures the control bar.\r\n \r\n */\r\n @Input()\r\n get controlBar(): { borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: HorizontalAlignment, margin?: number, opacity?: number, panVisible?: boolean, verticalAlignment?: VerticalEdge, zoomVisible?: boolean } {\r\n return this._getOption('controlBar');\r\n }\r\n set controlBar(value: { borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: HorizontalAlignment, margin?: number, opacity?: number, panVisible?: boolean, verticalAlignment?: VerticalEdge, zoomVisible?: boolean }) {\r\n this._setOption('controlBar', value);\r\n }\r\n\r\n\r\n /**\r\n * Customizes an individual annotation.\r\n \r\n */\r\n @Input()\r\n get customizeAnnotation(): ((annotation: dxVectorMapAnnotationConfig | any) => dxVectorMapAnnotationConfig) | undefined {\r\n return this._getOption('customizeAnnotation');\r\n }\r\n set customizeAnnotation(value: ((annotation: dxVectorMapAnnotationConfig | any) => dxVectorMapAnnotationConfig) | undefined) {\r\n this._setOption('customizeAnnotation', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n \r\n */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._getOption('disabled');\r\n }\r\n set disabled(value: boolean) {\r\n this._setOption('disabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the global attributes to be attached to the UI component&apos;s container element.\r\n \r\n */\r\n @Input()\r\n get elementAttr(): Record<string, any> {\r\n return this._getOption('elementAttr');\r\n }\r\n set elementAttr(value: Record<string, any>) {\r\n this._setOption('elementAttr', value);\r\n }\r\n\r\n\r\n /**\r\n * Configures the exporting and printing features.\r\n \r\n */\r\n @Input()\r\n get export(): { backgroundColor?: string, enabled?: boolean, fileName?: string, formats?: Array<ExportFormat>, margin?: number, printingEnabled?: boolean, svgToCanvas?: ((svg: any, canvas: any) => any) | undefined } {\r\n return this._getOption('export');\r\n }\r\n set export(value: { backgroundColor?: string, enabled?: boolean, fileName?: string, formats?: Array<ExportFormat>, margin?: number, printingEnabled?: boolean, svgToCanvas?: ((svg: any, canvas: any) => any) | undefined }) {\r\n this._setOption('export', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies properties for VectorMap UI component layers.\r\n \r\n */\r\n @Input()\r\n get layers(): { borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string | undefined, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => void), dataField?: string | undefined, dataSource?: Array<any> | DataSource | DataSourceOptions | null | Record<string, any> | Store | string, elementType?: VectorMapMarkerType, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, hoverEnabled?: boolean, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | Palette, paletteIndex?: number, paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: SingleMultipleOrNone, size?: number, sizeGroupingField?: string | undefined, sizeGroups?: Array<number>, type?: VectorMapLayerType }[] {\r\n return this._getOption('layers');\r\n }\r\n set layers(value: { borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string | undefined, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => void), dataField?: string | undefined, dataSource?: Array<any> | DataSource | DataSourceOptions | null | Record<string, any> | Store | string, elementType?: VectorMapMarkerType, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, hoverEnabled?: boolean, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | Palette, paletteIndex?: number, paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: SingleMultipleOrNone, size?: number, sizeGroupingField?: string | undefined, sizeGroups?: Array<number>, type?: VectorMapLayerType }[]) {\r\n this._setOption('layers', value);\r\n }\r\n\r\n\r\n /**\r\n * Configures map legends.\r\n \r\n */\r\n @Input()\r\n get legends(): { backgroundColor?: string | undefined, border?: { color?: string, cornerRadius?: number, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, columnCount?: number, columnItemSpacing?: number, customizeHint?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>), customizeText?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), font?: Font, horizontalAlignment?: HorizontalAlignment, itemsAlignment?: HorizontalAlignment | undefined, itemTextPosition?: Position | undefined, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, markerColor?: string | undefined, markerShape?: VectorMapMarkerShape, markerSize?: number, markerTemplate?: any, orientation?: Orientation | undefined, paddingLeftRight?: number, paddingTopBottom?: number, rowCount?: number, rowItemSpacing?: number, source?: { grouping?: string, layer?: string }, title?: string | { font?: Font, horizontalAlignment?: HorizontalAlignment | undefined, margin?: { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string }, text?: string, verticalAlignment?: VerticalEdge }, verticalAlignment?: VerticalEdge, visible?: boolean }[] {\r\n return this._getOption('legends');\r\n }\r\n set legends(value: { backgroundColor?: string | undefined, border?: { color?: string, cornerRadius?: number, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, columnCount?: number, columnItemSpacing?: number, customizeHint?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>), customizeText?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), font?: Font, horizontalAlignment?: HorizontalAlignment, itemsAlignment?: HorizontalAlignment | undefined, itemTextPosition?: Position | undefined, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, markerColor?: string | undefined, markerShape?: VectorMapMarkerShape, markerSize?: number, markerTemplate?: any, orientation?: Orientation | undefined, paddingLeftRight?: number, paddingTopBottom?: number, rowCount?: number, rowItemSpacing?: number, source?: { grouping?: string, layer?: string }, title?: string | { font?: Font, horizontalAlignment?: HorizontalAlignment | undefined, margin?: { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string }, text?: string, verticalAlignment?: VerticalEdge }, verticalAlignment?: VerticalEdge, visible?: boolean }[]) {\r\n this._setOption('legends', value);\r\n }\r\n\r\n\r\n /**\r\n * Configures the loading indicator.\r\n \r\n */\r\n @Input()\r\n get loadingIndicator(): { backgroundColor?: string, enabled?: boolean, font?: Font, show?: boolean, text?: string } {\r\n return this._getOption('loadingIndicator');\r\n }\r\n set loadingIndicator(value: { backgroundColor?: string, enabled?: boolean, font?: Font, show?: boolean, text?: string }) {\r\n this._setOption('loadingIndicator', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies a map&apos;s maximum zoom factor.\r\n \r\n */\r\n @Input()\r\n get maxZoomFactor(): number {\r\n return this._getOption('maxZoomFactor');\r\n }\r\n set maxZoomFactor(value: number) {\r\n this._setOption('maxZoomFactor', value);\r\n }\r\n\r\n\r\n /**\r\n * Disables the panning capability.\r\n \r\n */\r\n @Input()\r\n get panningEnabled(): boolean {\r\n return this._getOption('panningEnabled');\r\n }\r\n set panningEnabled(value: boolean) {\r\n this._setOption('panningEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Notifies the UI component that it is embedded into an HTML page that uses a tag modifying the path.\r\n \r\n */\r\n @Input()\r\n get pathModified(): boolean {\r\n return this._getOption('pathModified');\r\n }\r\n set pathModified(value: boolean) {\r\n this._setOption('pathModified', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the map projection.\r\n \r\n */\r\n @Input()\r\n get projection(): Record<string, any> | string | VectorMapProjection | VectorMapProjectionConfig {\r\n return this._getOption('projection');\r\n }\r\n set projection(value: Record<string, any> | string | VectorMapProjection | VectorMapProjectionConfig) {\r\n this._setOption('projection', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether to redraw the UI component when the size of the container changes or a mobile device rotates.\r\n \r\n */\r\n @Input()\r\n get redrawOnResize(): boolean {\r\n return this._getOption('redrawOnResize');\r\n }\r\n set redrawOnResize(value: boolean) {\r\n this._setOption('redrawOnResize', value);\r\n }\r\n\r\n\r\n /**\r\n * Switches the UI component to a right-to-left representation.\r\n \r\n */\r\n @Input()\r\n get rtlEnabled(): boolean {\r\n return this._getOption('rtlEnabled');\r\n }\r\n set rtlEnabled(value: boolean) {\r\n this._setOption('rtlEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies the UI component&apos;s size in pixels.\r\n \r\n */\r\n @Input()\r\n get size(): { height?: number | undefined, width?: number | undefined } {\r\n return this._getOption('size');\r\n }\r\n set size(value: { height?: number | undefined, width?: number | undefined }) {\r\n this._setOption('size', value);\r\n }\r\n\r\n\r\n /**\r\n * Sets the name of the theme the UI component uses.\r\n \r\n */\r\n @Input()\r\n get theme(): Theme {\r\n return this._getOption('theme');\r\n }\r\n set theme(value: Theme) {\r\n this._setOption('theme', value);\r\n }\r\n\r\n\r\n /**\r\n * Configures the UI component&apos;s title.\r\n \r\n */\r\n @Input()\r\n get title(): string | { font?: Font, horizontalAlignment?: HorizontalAlignment, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string, textOverflow?: TextOverflow, wordWrap?: WordWrap }, text?: string, textOverflow?: TextOverflow, verticalAlignment?: VerticalEdge, wordWrap?: WordWrap } {\r\n return this._getOption('title');\r\n }\r\n set title(value: string | { font?: Font, horizontalAlignment?: HorizontalAlignment, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string, textOverflow?: TextOverflow, wordWrap?: WordWrap }, text?: string, textOverflow?: TextOverflow, verticalAlignment?: VerticalEdge, wordWrap?: WordWrap }) {\r\n this._setOption('title', value);\r\n }\r\n\r\n\r\n /**\r\n * Configures tooltips.\r\n \r\n */\r\n @Input()\r\n get tooltip(): { arrowLength?: number, border?: { color?: string, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, color?: string, container?: any | string | undefined, contentTemplate?: any, cornerRadius?: number, customizeTooltip?: ((info: MapLayerElement) => Record<string, any>) | undefined, enabled?: boolean, font?: Font, opacity?: number | undefined, paddingLeftRight?: number, paddingTopBottom?: number, shadow?: { blur?: number, color?: string, offsetX?: number, offsetY?: number, opacity?: number }, zIndex?: number | undefined } {\r\n return this._getOption('tooltip');\r\n }\r\n set tooltip(value: { arrowLength?: number, border?: { color?: string, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, color?: string, container?: any | string | undefined, contentTemplate?: any, cornerRadius?: number, customizeTooltip?: ((info: MapLayerElement) => Record<string, any>) | undefined, enabled?: boolean, font?: Font, opacity?: number | undefined, paddingLeftRight?: number, paddingTopBottom?: number, shadow?: { blur?: number, color?: string, offsetX?: number, offsetY?: number, opacity?: number }, zIndex?: number | undefined }) {\r\n this._setOption('tooltip', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether the map should respond to touch gestures.\r\n \r\n */\r\n @Input()\r\n get touchEnabled(): boolean {\r\n return this._getOption('touchEnabled');\r\n }\r\n set touchEnabled(value: boolean) {\r\n this._setOption('touchEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies whether or not the map should respond when a user rolls the mouse wheel.\r\n \r\n */\r\n @Input()\r\n get wheelEnabled(): boolean {\r\n return this._getOption('wheelEnabled');\r\n }\r\n set wheelEnabled(value: boolean) {\r\n this._setOption('wheelEnabled', value);\r\n }\r\n\r\n\r\n /**\r\n * Specifies a number that is used to zoom a map initially.\r\n \r\n */\r\n @Input()\r\n get zoomFactor(): number {\r\n return this._getOption('zoomFactor');\r\n }\r\n set zoomFactor(value: number) {\r\n this._setOption('zoomFactor', value);\r\n }\r\n\r\n\r\n /**\r\n * Disables the zooming capability.\r\n \r\n */\r\n @Input()\r\n get zoomingEnabled(): boolean {\r\n return this._getOption('zoomingEnabled');\r\n }\r\n set zoomingEnabled(value: boolean) {\r\n this._setOption('zoomingEnabled', value);\r\n }\r\n\r\n /**\r\n \r\n * A function that is executed each time the center coordinates are changed.\r\n \r\n \r\n */\r\n @Output() onCenterChanged: EventEmitter<CenterChangedEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when any location on the map is clicked or tapped.\r\n \r\n \r\n */\r\n @Output() onClick: EventEmitter<ClickEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed before the UI component is disposed of.\r\n \r\n \r\n */\r\n @Output() onDisposing: EventEmitter<DisposingEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when the UI component&apos;s rendering has finished.\r\n \r\n \r\n */\r\n @Output() onDrawn: EventEmitter<DrawnEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed after the UI component is exported.\r\n \r\n \r\n */\r\n @Output() onExported: EventEmitter<ExportedEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed before the UI component is exported.\r\n \r\n \r\n */\r\n @Output() onExporting: EventEmitter<ExportingEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed before a file with exported UI component is saved to the user&apos;s local storage.\r\n \r\n \r\n */\r\n @Output() onFileSaving: EventEmitter<FileSavingEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when an error or warning occurs.\r\n \r\n \r\n */\r\n @Output() onIncidentOccurred: EventEmitter<IncidentOccurredEvent>;\r\n\r\n /**\r\n \r\n * A function used in JavaScript frameworks to save the UI component instance.\r\n \r\n \r\n */\r\n @Output() onInitialized: EventEmitter<InitializedEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed after a UI component property is changed.\r\n \r\n \r\n */\r\n @Output() onOptionChanged: EventEmitter<OptionChangedEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when a layer element is selected or selection is canceled.\r\n \r\n \r\n */\r\n @Output() onSelectionChanged: EventEmitter<SelectionChangedEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when a tooltip becomes hidden.\r\n \r\n \r\n */\r\n @Output() onTooltipHidden: EventEmitter<TooltipHiddenEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed when a tooltip appears.\r\n \r\n \r\n */\r\n @Output() onTooltipShown: EventEmitter<TooltipShownEvent>;\r\n\r\n /**\r\n \r\n * A function that is executed each time the zoom factor is changed.\r\n \r\n \r\n */\r\n @Output() onZoomFactorChanged: EventEmitter<ZoomFactorChangedEvent>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() annotationsChange: EventEmitter<Array<any | dxVectorMapAnnotationConfig>>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() backgroundChange: EventEmitter<{ borderColor?: string, color?: string }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() boundsChange: EventEmitter<Array<number>>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() centerChange: EventEmitter<Array<number>>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() commonAnnotationSettingsChange: EventEmitter<dxVectorMapCommonAnnotationConfig>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() controlBarChange: EventEmitter<{ borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: HorizontalAlignment, margin?: number, opacity?: number, panVisible?: boolean, verticalAlignment?: VerticalEdge, zoomVisible?: boolean }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() customizeAnnotationChange: EventEmitter<((annotation: dxVectorMapAnnotationConfig | any) => dxVectorMapAnnotationConfig) | undefined>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() disabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() elementAttrChange: EventEmitter<Record<string, any>>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() exportChange: EventEmitter<{ backgroundColor?: string, enabled?: boolean, fileName?: string, formats?: Array<ExportFormat>, margin?: number, printingEnabled?: boolean, svgToCanvas?: ((svg: any, canvas: any) => any) | undefined }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() layersChange: EventEmitter<{ borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string | undefined, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => void), dataField?: string | undefined, dataSource?: Array<any> | DataSource | DataSourceOptions | null | Record<string, any> | Store | string, elementType?: VectorMapMarkerType, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, hoverEnabled?: boolean, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | Palette, paletteIndex?: number, paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: SingleMultipleOrNone, size?: number, sizeGroupingField?: string | undefined, sizeGroups?: Array<number>, type?: VectorMapLayerType }[]>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() legendsChange: EventEmitter<{ backgroundColor?: string | undefined, border?: { color?: string, cornerRadius?: number, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, columnCount?: number, columnItemSpacing?: number, customizeHint?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>), customizeText?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), font?: Font, horizontalAlignment?: HorizontalAlignment, itemsAlignment?: HorizontalAlignment | undefined, itemTextPosition?: Position | undefined, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, markerColor?: string | undefined, markerShape?: VectorMapMarkerShape, markerSize?: number, markerTemplate?: any, orientation?: Orientation | undefined, paddingLeftRight?: number, paddingTopBottom?: number, rowCount?: number, rowItemSpacing?: number, source?: { grouping?: string, layer?: string }, title?: string | { font?: Font, horizontalAlignment?: HorizontalAlignment | undefined, margin?: { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string }, text?: string, verticalAlignment?: VerticalEdge }, verticalAlignment?: VerticalEdge, visible?: boolean }[]>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() loadingIndicatorChange: EventEmitter<{ backgroundColor?: string, enabled?: boolean, font?: Font, show?: boolean, text?: string }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() maxZoomFactorChange: EventEmitter<number>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() panningEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() pathModifiedChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() projectionChange: EventEmitter<Record<string, any> | string | VectorMapProjection | VectorMapProjectionConfig>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() redrawOnResizeChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() rtlEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() sizeChange: EventEmitter<{ height?: number | undefined, width?: number | undefined }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() themeChange: EventEmitter<Theme>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() titleChange: EventEmitter<string | { font?: Font, horizontalAlignment?: HorizontalAlignment, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string, textOverflow?: TextOverflow, wordWrap?: WordWrap }, text?: string, textOverflow?: TextOverflow, verticalAlignment?: VerticalEdge, wordWrap?: WordWrap }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() tooltipChange: EventEmitter<{ arrowLength?: number, border?: { color?: string, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, color?: string, container?: any | string | undefined, contentTemplate?: any, cornerRadius?: number, customizeTooltip?: ((info: MapLayerElement) => Record<string, any>) | undefined, enabled?: boolean, font?: Font, opacity?: number | undefined, paddingLeftRight?: number, paddingTopBottom?: number, shadow?: { blur?: number, color?: string, offsetX?: number, offsetY?: number, opacity?: number }, zIndex?: number | undefined }>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() touchEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() wheelEnabledChange: EventEmitter<boolean>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() zoomFactorChange: EventEmitter<number>;\r\n\r\n /**\r\n \r\n * This member supports the internal infrastructure and is not intended to be used directly from your code.\r\n \r\n */\r\n @Output() zoomingEnabledChange: EventEmitter<boolean>;\r\n\r\n\r\n\r\n\r\n @ContentChildren(DxiVectorMapAnnotationComponent)\r\n get annotationsChildren(): QueryList<DxiVectorMapAnnotationComponent> {\r\n return this._getOption('annotations');\r\n }\r\n set annotationsChildren(value) {\r\n this._setChildren('annotations', value, 'DxiVectorMapAnnotationComponent');\r\n }\r\n\r\n @ContentChildren(DxiVectorMapLayerComponent)\r\n get layersChildren(): QueryList<DxiVectorMapLayerComponent> {\r\n return this._getOption('layers');\r\n }\r\n set layersChildren(value) {\r\n this._setChildren('layers', value, 'DxiVectorMapLayerComponent');\r\n }\r\n\r\n @ContentChildren(DxiVectorMapLegendComponent)\r\n get legendsChildren(): QueryList<DxiVectorMapLegendComponent> {\r\n return this._getOption('legends');\r\n }\r\n set legendsChildren(value) {\r\n this._setChildren('legends', value, 'DxiVectorMapLegendComponent');\r\n }\r\n\r\n\r\n @ContentChildren(DxiAnnotationComponent)\r\n get annotationsLegacyChildren(): QueryList<DxiAnnotationComponent> {\r\n return this._getOption('annotations');\r\n }\r\n set annotationsLegacyChildren(value) {\r\n this._setChildren('annotations', value, 'DxiAnnotationComponent');\r\n }\r\n\r\n @ContentChildren(DxiLayerComponent)\r\n get layersLegacyChildren(): QueryList<DxiLayerComponent> {\r\n return this._getOption('layers');\r\n }\r\n set layersLegacyChildren(value) {\r\n this._setChildren('layers', value, 'DxiLayerComponent');\r\n }\r\n\r\n @ContentChildren(DxiLegendComponent)\r\n get legendsLegacyChildren(): QueryList<DxiLegendComponent> {\r\n return this._getOption('legends');\r\n }\r\n set legendsLegacyChildren(value) {\r\n this._setChildren('legends', value, 'DxiLegendComponent');\r\n }\r\n\r\n\r\n\r\n\r\n constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost,\r\n private _watcherHelper: WatcherHelper,\r\n private _idh: IterableDifferHelper,\r\n optionHost: NestedOptionHost,\r\n transferState: TransferState,\r\n @Inject(PLATFORM_ID) platformId: any) {\r\n\r\n super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);\r\n\r\n this._createEventEmitters([\r\n { subscribe: 'centerChanged', emit: 'onCenterChanged' },\r\n { subscribe: 'click', emit: 'onClick' },\r\n { subscribe: 'disposing', emit: 'onDisposing' },\r\n { subscribe: 'drawn', emit: 'onDrawn' },\r\n { subscribe: 'exported', emit: 'onExported' },\r\n { subscribe: 'exporting', emit: 'onExporting' },\r\n { subscribe: 'fileSaving', emit: 'onFileSaving' },\r\n { subscribe: 'incidentOccurred', emit: 'onIncidentOccurred' },\r\n { subscribe: 'initialized', emit: 'onInitialized' },\r\n { subscribe: 'optionChanged', emit: 'onOptionChanged' },\r\n { subscribe: 'selectionChanged', emit: 'onSelectionChanged' },\r\n { subscribe: 'tooltipHidden', emit: 'onTooltipHidden' },\r\n { subscribe: 'tooltipShown', emit: 'onTooltipShown' },\r\n { subscribe: 'zoomFactorChanged', emit: 'onZoomFactorChanged' },\r\n { emit: 'annotationsChange' },\r\n { emit: 'backgroundChange' },\r\n { emit: 'boundsChange' },\r\n { emit: 'centerChange' },\r\n { emit: 'commonAnnotationSettingsChange' },\r\n { emit: 'controlBarChange' },\r\n { emit: 'customizeAnnotationChange' },\r\n { emit: 'disabledChange' },\r\n { emit: 'elementAttrChange' },\r\n { emit: 'exportChange' },\r\n { emit: 'layersChange' },\r\n { emit: 'legendsChange' },\r\n { emit: 'loadingIndicatorChange' },\r\n { emit: 'maxZoomFactorChange' },\r\n { emit: 'panningEnabledChange' },\r\n { emit: 'pathModifiedChange' },\r\n { emit: 'projectionChange' },\r\n { emit: 'redrawOnResizeChange' },\r\n { emit: 'rtlEnabledChange' },\r\n { emit: 'sizeChange' },\r\n { emit: 'themeChange' },\r\n { emit: 'titleChange' },\r\n { emit: 'tooltipChange' },\r\n { emit: 'touchEnabledChange' },\r\n { emit: 'wheelEnabledChange' },\r\n { emit: 'zoomFactorChange' },\r\n { emit: 'zoomingEnabledChange' }\r\n ]);\r\n\r\n this._idh.setHost(this);\r\n optionHost.setHost(this);\r\n }\r\n\r\n protected _createInstance(element, options) {\r\n\r\n return new DxVectorMap(element, options);\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this._destroyWidget();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n super.ngOnChanges(changes);\r\n this.setupChanges('annotations', changes);\r\n this.setupChanges('bounds', changes);\r\n this.setupChanges('center', changes);\r\n this.setupChanges('layers', changes);\r\n this.setupChanges('legends', changes);\r\n }\r\n\r\n setupChanges(prop: string, changes: SimpleChanges) {\r\n if (!(prop in this._optionsToUpdate)) {\r\n this._idh.setup(prop, changes);\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n this._idh.doCheck('annotations');\r\n this._idh.doCheck('bounds');\r\n this._idh.doCheck('center');\r\n this._idh.doCheck('layers');\r\n this._idh.doCheck('legends');\r\n this._watcherHelper.checkWatchers();\r\n super.ngDoCheck();\r\n super.clearChangedOptions();\r\n }\r\n\r\n _setOption(name: string, value: any) {\r\n let isSetup = this._idh.setupSingle(name, value);\r\n let isChanged = this._idh.getChanges(name, value) !== null;\r\n\r\n if (isSetup || isChanged) {\r\n super._setOption(name, value);\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n DxVectorMapComponent,\r\n DxiAnnotationModule,\r\n DxoBorderModule,\r\n DxoFontModule,\r\n DxoImageModule,\r\n DxoShadowModule,\r\n DxoBackgroundModule,\r\n DxoCommonAnnotationSettingsModule,\r\n DxoControlBarModule,\r\n DxoExportModule,\r\n DxiLayerModule,\r\n DxoLabelModule,\r\n DxiLegendModule,\r\n DxoMarginModule,\r\n DxoSourceModule,\r\n DxoTitleModule,\r\n DxoSubtitleModule,\r\n DxoLoadingIndicatorModule,\r\n DxoProjectionModule,\r\n DxoSizeModule,\r\n DxoTooltipModule,\r\n DxiVectorMapAnnotationModule,\r\n DxoVectorMapAnnotationBorderModule,\r\n DxoVectorMapBackgroundModule,\r\n DxoVectorMapBorderModule,\r\n DxoVectorMapCommonAnnotationSettingsModule,\r\n DxoVectorMapControlBarModule,\r\n DxoVectorMapExportModule,\r\n DxoVectorMapFontModule,\r\n DxoVectorMapImageModule,\r\n DxoVectorMapLabelModule,\r\n DxiVectorMapLayerModule,\r\n DxiVectorMapLegendModule,\r\n DxoVectorMapLegendTitleModule,\r\n DxoVectorMapLegendTitleSubtitleModule,\r\n DxoVectorMapLoadingIndicatorModule,\r\n DxoVectorMapMarginModule,\r\n DxoVectorMapProjectionModule,\r\n DxoVectorMapShadowModule,\r\n DxoVectorMapSizeModule,\r\n DxoVectorMapSourceModule,\r\n DxoVectorMapSubtitleModule,\r\n DxoVectorMapTitleModule,\r\n DxoVectorMapTooltipModule,\r\n DxoVectorMapTooltipBorderModule,\r\n DxoVectorMapVectorMapTitleModule,\r\n DxoVectorMapVectorMapTitleSubtitleModule,\r\n DxIntegrationModule,\r\n DxTemplateModule\r\n ],\r\n exports: [\r\n DxVectorMapComponent,\r\n DxiAnnotationModule,\r\n DxoBorderModule,\r\n DxoFontModule,\r\n DxoImageModule,\r\n DxoShadowModule,\r\n DxoBackgroundModule,\r\n DxoCommonAnnotationSettingsModule,\r\n DxoControlBarModule,\r\n DxoExportModule,\r\n DxiLayerModule,\r\n DxoLabelModule,\r\n DxiLegendModule,\r\n DxoMarginModule,\r\n DxoSourceModule,\r\n DxoTitleModule,\r\n DxoSubtitleModule,\r\n DxoLoadingIndicatorModule,\r\n DxoProjectionModule,\r\n DxoSizeModule,\r\n DxoTooltipModule,\r\n DxiVectorMapAnnotationModule,\r\n DxoVectorMapAnnotationBorderModule,\r\n DxoVectorMapBackgroundModule,\r\n DxoVectorMapBorderModule,\r\n DxoVectorMapCommonAnnotationSettingsModule,\r\n DxoVectorMapControlBarModule,\r\n DxoVectorMapExportModule,\r\n DxoVectorMapFontModule,\r\n DxoVectorMapImageModule,\r\n DxoVectorMapLabelModule,\r\n DxiVectorMapLayerModule,\r\n DxiVectorMapLegendModule,\r\n DxoVectorMapLegendTitleModule,\r\n DxoVectorMapLegendTitleSubtitleModule,\r\n DxoVectorMapLoadingIndicatorModule,\r\n DxoVectorMapMarginModule,\r\n DxoVectorMapProjectionModule,\r\n DxoVectorMapShadowModule,\r\n DxoVectorMapSizeModule,\r\n DxoVectorMapSourceModule,\r\n DxoVectorMapSubtitleModule,\r\n DxoVectorMapTitleModule,\r\n DxoVectorMapTooltipModule,\r\n DxoVectorMapTooltipBorderModule,\r\n DxoVectorMapVectorMapTitleModule,\r\n DxoVectorMapVectorMapTitleSubtitleModule,\r\n DxTemplateModule\r\n ]\r\n})\r\nexport class DxVectorMapModule { }\r\n\r\nexport * from 'devextreme-angular/ui/vector-map/nested';\r\n\r\nimport type * as DxVectorMapTypes from \"devextreme/viz/vector_map_types\";\r\nexport { DxVectorMapTypes };\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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