@syncfusion/ej2-maps 19.4.53 → 20.1.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.53
3
+ * version : 20.1.47
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-maps@*",
3
- "_id": "@syncfusion/ej2-maps@19.4.52",
3
+ "_id": "@syncfusion/ej2-maps@16.37.2",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-Q3dgzt8U6/MscnIZhcV06J6ko+xSj8qO+ElAQQjaWqHsH6bnFksBP7YJw645z3QxW80AaspnYKux8qXiKOJiNA==",
5
+ "_integrity": "sha512-aGcgrJMiXZD4Fn3dqBUbLHHIpV4Rl6EzYL4XUKDohYLRM7aWMclbVfBg7S1eSGE0vh5g6uB67RVflkiB3Jd0Lw==",
6
6
  "_location": "/@syncfusion/ej2-maps",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-maps",
24
24
  "/@syncfusion/ej2-vue-maps"
25
25
  ],
26
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-maps/-/ej2-maps-19.4.52.tgz",
27
- "_shasum": "0603d44e6c0df8ee903e1ee94f463fec63ac696b",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-maps/-/ej2-maps-16.37.2.tgz",
27
+ "_shasum": "58f1d0ca618711f1acab653b009fd39983923c45",
28
28
  "_spec": "@syncfusion/ej2-maps@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -35,13 +35,13 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~19.4.52",
39
- "@syncfusion/ej2-buttons": "~19.4.53",
40
- "@syncfusion/ej2-compression": "~19.4.52",
41
- "@syncfusion/ej2-data": "~19.4.52",
42
- "@syncfusion/ej2-file-utils": "~19.4.52",
43
- "@syncfusion/ej2-pdf-export": "~19.4.52",
44
- "@syncfusion/ej2-svg-base": "~19.4.52"
38
+ "@syncfusion/ej2-base": "~20.1.47",
39
+ "@syncfusion/ej2-buttons": "~20.1.47",
40
+ "@syncfusion/ej2-compression": "~20.1.47",
41
+ "@syncfusion/ej2-data": "~20.1.47",
42
+ "@syncfusion/ej2-file-utils": "~20.1.47",
43
+ "@syncfusion/ej2-pdf-export": "~20.1.47",
44
+ "@syncfusion/ej2-svg-base": "~20.1.47"
45
45
  },
46
46
  "deprecated": false,
47
47
  "description": "The Maps component is used to visualize the geographical data and represent the statistical data of a particular geographical area on earth with user interactivity, and provides various customizing options",
@@ -80,6 +80,6 @@
80
80
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
81
81
  },
82
82
  "typings": "index.d.ts",
83
- "version": "19.4.53",
83
+ "version": "20.1.47",
84
84
  "sideEffects": false
85
85
  }
@@ -256,7 +256,7 @@ var DataLabel = /** @class */ (function () {
256
256
  _this.value[index] = { rightWidth: xpositionEnds, leftWidth: xpositionStart, heightTop: start, heightBottom: end };
257
257
  var labelElement;
258
258
  if (eventargs_1.template !== '') {
259
- templateFn = getTemplateFunction(eventargs_1.template);
259
+ templateFn = getTemplateFunction(eventargs_1.template, _this.maps);
260
260
  var templateElement = templateFn ? templateFn(!isNullOrUndefined(datasrcObj) ?
261
261
  datasrcObj : shapeData['properties'], _this.maps, eventargs_1.template, _this.maps.element.id + '_LabelTemplate', false) : document.createElement('div');
262
262
  templateElement.innerHTML = !templateFn ? eventargs_1.template : '';
@@ -1303,7 +1303,7 @@ var Legend = /** @class */ (function () {
1303
1303
  data[_this.maps.legendSettings.showLegendPath];
1304
1304
  if (marker.visible && showLegend && (!isNullOrUndefined(data['latitude'])) && (!isNullOrUndefined(data['longitude']))) {
1305
1305
  if (marker.template) {
1306
- templateFn = getTemplateFunction(marker.template);
1306
+ templateFn = getTemplateFunction(marker.template, _this.maps);
1307
1307
  var templateElement = templateFn(_this.maps);
1308
1308
  var markerEle = isNullOrUndefined(templateElement.childElementCount) ? templateElement[0] :
1309
1309
  templateElement;
@@ -53,10 +53,10 @@ var Marker = /** @class */ (function () {
53
53
  eventArgs = markerShapeChoose(eventArgs, data);
54
54
  var lng = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
55
55
  Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
56
- parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : 0;
56
+ parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : null;
57
57
  var lat = (!isNullOrUndefined(markerSettings.latitudeValuePath)) ?
58
58
  Number(getValueFromObject(data, markerSettings.latitudeValuePath)) : !isNullOrUndefined(data['latitude']) ?
59
- parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) : 0;
59
+ parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? parseFloat(data['Latitude']) : null;
60
60
  var offset = markerSettings.offset;
61
61
  if (!eventArgs.cancel && markerSettings.visible && !isNullOrUndefined(lng) && !isNullOrUndefined(lat)) {
62
62
  var markerID = _this.maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
@@ -101,7 +101,7 @@ var Marker = /** @class */ (function () {
101
101
  _this.maps.renderReactTemplates();
102
102
  }
103
103
  }
104
- if (markerTemplateEle.childElementCount === (markerData.length - markerCount - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
104
+ if (markerTemplateEle.childElementCount === (markerDataLength - markerCount - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
105
105
  getElementByID(_this.maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
106
106
  if (_this.maps.checkInitialRender) {
107
107
  if (currentLayer.markerClusterSettings.allowClustering) {
@@ -354,7 +354,7 @@ var Marker = /** @class */ (function () {
354
354
  if ((target.indexOf('_cluster_') > -1)) {
355
355
  var isClusterSame = false;
356
356
  var clusterElement = document.getElementById(target.indexOf('_datalabel_') > -1 ? target.split('_datalabel_')[0] : target);
357
- var indexes = clusterElement.innerHTML.split(',').map(Number);
357
+ var indexes = layer.markerClusterSettings.shape === 'Balloon' ? clusterElement.children[0].innerHTML.split(',').map(Number) : clusterElement.innerHTML.split(',').map(Number);
358
358
  collection_1 = [];
359
359
  for (var _i = 0, indexes_1 = indexes; _i < indexes_1.length; _i++) {
360
360
  var i = indexes_1[_i];
@@ -818,6 +818,7 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
818
818
  * @param {PointerEvent} e - Specifies the pointer event on maps.
819
819
  */
820
820
  mapsOnClick(e: PointerEvent): void;
821
+ private triggerShapeSelection;
821
822
  private getClickLocation;
822
823
  /**
823
824
  * This method is used to perform operations when mouse click on maps.
package/src/maps/maps.js CHANGED
@@ -417,12 +417,14 @@ var Maps = /** @class */ (function (_super) {
417
417
  this.checkInitialRender = false;
418
418
  }
419
419
  }
420
- for (var k = 0; k < this.layers[i].markerSettings.length; k++) {
421
- if (this.layers[i].markerSettings[k].selectionSettings && this.layers[i].markerSettings[k].selectionSettings.enable
422
- && this.layers[i].markerSettings[k].initialMarkerSelection.length > 0) {
423
- var markerSelectionValues = this.layers[i].markerSettings[k].initialMarkerSelection;
424
- for (var j = 0; j < markerSelectionValues.length; j++) {
425
- this.markerInitialSelection(i, k, this.layers[i].markerSettings[k], markerSelectionValues[j].latitude, markerSelectionValues[j].longitude);
420
+ if (!this.isResize) {
421
+ for (var k = 0; k < this.layers[i].markerSettings.length; k++) {
422
+ if (this.layers[i].markerSettings[k].selectionSettings && this.layers[i].markerSettings[k].selectionSettings.enable
423
+ && this.layers[i].markerSettings[k].initialMarkerSelection.length > 0) {
424
+ var markerSelectionValues = this.layers[i].markerSettings[k].initialMarkerSelection;
425
+ for (var j = 0; j < markerSelectionValues.length; j++) {
426
+ this.markerInitialSelection(i, k, this.layers[i].markerSettings[k], markerSelectionValues[j].latitude, markerSelectionValues[j].longitude);
427
+ }
426
428
  }
427
429
  }
428
430
  }
@@ -500,7 +502,8 @@ var Maps = /** @class */ (function (_super) {
500
502
  Maps.prototype.markerSelection = function (selectionSettings, map, targetElement, data) {
501
503
  var border = {
502
504
  color: selectionSettings.border.color,
503
- width: selectionSettings.border.width / map.scale
505
+ width: selectionSettings.border.width / map.scale,
506
+ opacity: selectionSettings.border.opacity
504
507
  };
505
508
  var markerSelectionProperties = {
506
509
  opacity: selectionSettings.opacity,
@@ -520,9 +523,11 @@ var Maps = /** @class */ (function (_super) {
520
523
  if (this.selectedMarkerElementId.length === 0 || selectionSettings.enableMultiSelect) {
521
524
  if (targetElement.tagName === 'g') {
522
525
  targetElement.children[0].setAttribute('class', 'MarkerselectionMapStyle');
526
+ this.selectedMarkerElementId.push(targetElement.children[0].id);
523
527
  }
524
528
  else {
525
529
  targetElement.setAttribute('class', 'MarkerselectionMapStyle');
530
+ this.selectedMarkerElementId.push(targetElement.id);
526
531
  }
527
532
  }
528
533
  };
@@ -1039,20 +1044,23 @@ var Maps = /** @class */ (function (_super) {
1039
1044
  _this.notify(click, targetEle);
1040
1045
  }
1041
1046
  if (!eventArgs_1.cancel && targetEle.id.indexOf('shapeIndex') !== -1) {
1042
- var layerIndex = parseInt(targetEle.id.split('_LayerIndex_')[1].split('_')[0], 10);
1043
- var shapeSelectedEventArgs = triggerShapeEvent(targetId, _this.layers[layerIndex].selectionSettings, _this, shapeSelected);
1044
- if (!shapeSelectedEventArgs.cancel && _this.selectionModule && !isNullOrUndefined(_this.shapeSelected)) {
1045
- customizeStyle(_this.selectionModule.selectionType + 'selectionMap', _this.selectionModule.selectionType + 'selectionMapStyle', shapeSelectedEventArgs);
1046
- }
1047
- else if (shapeSelectedEventArgs.cancel && _this.selectionModule
1048
- && isNullOrUndefined(shapeSelectedEventArgs['data'])) {
1049
- removeClass(targetEle);
1050
- _this.selectionModule.removedSelectionList(targetEle);
1051
- }
1047
+ _this.triggerShapeSelection(targetEle);
1052
1048
  }
1053
1049
  });
1054
1050
  }
1055
1051
  };
1052
+ Maps.prototype.triggerShapeSelection = function (targetEle) {
1053
+ var layerIndex = parseInt(targetEle.id.split('_LayerIndex_')[1].split('_')[0], 10);
1054
+ var shapeSelectedEventArgs = triggerShapeEvent(targetEle.id, this.layers[layerIndex].selectionSettings, this, shapeSelected);
1055
+ if (!shapeSelectedEventArgs.cancel && this.selectionModule && !isNullOrUndefined(this.shapeSelected)) {
1056
+ customizeStyle(this.selectionModule.selectionType + 'selectionMap', this.selectionModule.selectionType + 'selectionMapStyle', shapeSelectedEventArgs);
1057
+ }
1058
+ else if (shapeSelectedEventArgs.cancel && this.selectionModule
1059
+ && isNullOrUndefined(shapeSelectedEventArgs['data'])) {
1060
+ removeClass(targetEle);
1061
+ this.selectionModule.removedSelectionList(targetEle);
1062
+ }
1063
+ };
1056
1064
  Maps.prototype.getClickLocation = function (targetId, pageX, pageY, targetElement, x, y) {
1057
1065
  var layerIndex = 0;
1058
1066
  var latLongValue;
@@ -1178,6 +1186,9 @@ var Maps = /** @class */ (function (_super) {
1178
1186
  var markerModule = this.markerModule;
1179
1187
  if (element.id.indexOf('shapeIndex') > -1 || element.id.indexOf('Tile') > -1) {
1180
1188
  this.mergeCluster();
1189
+ if (element.id.indexOf('shapeIndex') > -1) {
1190
+ this.triggerShapeSelection(element);
1191
+ }
1181
1192
  }
1182
1193
  if (markerModule) {
1183
1194
  markerModule.markerClick(e);
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
- import { createElement, Browser } from '@syncfusion/ej2-base';
3
- import { triggerDownload } from '../utils/helper';
2
+ import { createElement, Browser, isNullOrUndefined } from '@syncfusion/ej2-base';
3
+ import { triggerDownload, getElementByID } from '../utils/helper';
4
4
  /**
5
5
  * This module enables the export to Image functionality in Maps control.
6
6
  *
@@ -39,17 +39,19 @@ var ImageExport = /** @class */ (function () {
39
39
  var toolbarEle = document.getElementById(_this.control.element.id + '_ToolBar');
40
40
  var svgParent = document.getElementById(_this.control.element.id + '_Tile_SVG_Parent');
41
41
  var svgDataElement;
42
+ var tileSvg;
43
+ var svgObject = getElementByID(_this.control.element.id + '_svg').cloneNode(true);
42
44
  if (!_this.control.isTileMap) {
43
45
  svgDataElement = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' +
44
46
  _this.control.svgObject.outerHTML + '</svg>';
45
47
  }
46
48
  else {
47
- var tileSvg = document.getElementById(_this.control.element.id + '_Tile_SVG');
49
+ tileSvg = getElementByID(_this.control.element.id + '_Tile_SVG').cloneNode(true);
48
50
  svgDataElement = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' +
49
- _this.control.svgObject.outerHTML + tileSvg.outerHTML + '</svg>';
51
+ svgObject.outerHTML + tileSvg.outerHTML + '</svg>';
50
52
  }
51
53
  var url = window.URL.createObjectURL(new Blob(type === 'SVG' ? [svgDataElement] :
52
- [(new XMLSerializer()).serializeToString(_this.control.svgObject)], { type: 'image/svg+xml' }));
54
+ [(new XMLSerializer()).serializeToString(svgObject)], { type: 'image/svg+xml' }));
53
55
  if (type === 'SVG') {
54
56
  if (allowDownload) {
55
57
  triggerDownload(fileName, type, url, isDownload);
@@ -89,8 +91,11 @@ var ImageExport = /** @class */ (function () {
89
91
  ctxt_1.fillStyle = _this.control.background ? _this.control.background : '#FFFFFF';
90
92
  ctxt_1.fillRect(0, 0, _this.control.availableSize.width, _this.control.availableSize.height);
91
93
  ctxt_1.font = _this.control.titleSettings.textStyle.size + ' Arial';
92
- ctxt_1.fillStyle = document.getElementById(_this.control.element.id + '_Map_title').getAttribute('fill');
93
- ctxt_1.fillText(_this.control.titleSettings.text, parseFloat(document.getElementById(_this.control.element.id + '_Map_title').getAttribute('x')), parseFloat(document.getElementById(_this.control.element.id + '_Map_title').getAttribute('y')));
94
+ var titleElement = document.getElementById(_this.control.element.id + '_Map_title');
95
+ if (!isNullOrUndefined(titleElement)) {
96
+ ctxt_1.fillStyle = titleElement.getAttribute('fill');
97
+ ctxt_1.fillText(_this.control.titleSettings.text, parseFloat(titleElement.getAttribute('x')), parseFloat(titleElement.getAttribute('y')));
98
+ }
94
99
  exportTileImg.onload = (function () {
95
100
  if (i === 0 || i === imgTileLength_1 + 1) {
96
101
  if (i === 0) {
@@ -103,8 +108,9 @@ var ImageExport = /** @class */ (function () {
103
108
  }
104
109
  }
105
110
  else {
111
+ var tileParent = document.getElementById(_this.control.element.id + '_tile_parent');
106
112
  ctxt_1.setTransform(1, 0, 0, 1, parseFloat(tile.style.left) + 10, parseFloat(tile.style.top) +
107
- (parseFloat(document.getElementById(_this.control.element.id + '_tile_parent').style.top)));
113
+ (parseFloat(tileParent.style.top)));
108
114
  }
109
115
  ctxt_1.drawImage(exportTileImg, 0, 0);
110
116
  if (i === imgTileLength_1 + 1) {
@@ -130,7 +136,7 @@ var ImageExport = /** @class */ (function () {
130
136
  }
131
137
  else {
132
138
  setTimeout(function () {
133
- exportTileImg.src = window.URL.createObjectURL(new Blob([(new XMLSerializer()).serializeToString(document.getElementById(_this.control.element.id + '_Tile_SVG'))], { type: 'image/svg+xml' }));
139
+ exportTileImg.src = window.URL.createObjectURL(new Blob([(new XMLSerializer()).serializeToString(tileSvg)], { type: 'image/svg+xml' }));
134
140
  }, 300);
135
141
  }
136
142
  }
@@ -42,8 +42,8 @@ var PdfExport = /** @class */ (function () {
42
42
  var exportElement = _this.control.svgObject.cloneNode(true);
43
43
  var backgroundElement = exportElement.childNodes[0];
44
44
  var backgroundColor = backgroundElement.getAttribute('fill');
45
- if ((_this.control.theme === 'Tailwind' || _this.control.theme === 'TailwindDark' || _this.control.theme === 'Bootstrap5' || _this.control.theme === 'Bootstrap5Dark')
46
- && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
45
+ if ((_this.control.theme === 'Tailwind' || _this.control.theme === 'TailwindDark' || _this.control.theme === 'Bootstrap5' || _this.control.theme === 'Bootstrap5Dark'
46
+ || _this.control.theme === 'Fluent' || _this.control.theme === 'FluentDark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
47
47
  exportElement.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
48
48
  }
49
49
  var url = window.URL.createObjectURL(new Blob(type === 'SVG' ? [svgData] :
@@ -81,8 +81,11 @@ var PdfExport = /** @class */ (function () {
81
81
  ctx.fillStyle = _this.control.background ? _this.control.background : '#FFFFFF';
82
82
  ctx.fillRect(0, 0, _this.control.availableSize.width, _this.control.availableSize.height);
83
83
  ctx.font = _this.control.titleSettings.textStyle.size + ' Arial';
84
- ctx.fillStyle = document.getElementById(_this.control.element.id + '_Map_title').getAttribute('fill');
85
- ctx.fillText(_this.control.titleSettings.text, parseFloat(document.getElementById(_this.control.element.id + '_Map_title').getAttribute('x')), parseFloat(document.getElementById(_this.control.element.id + '_Map_title').getAttribute('y')));
84
+ var titleElement = document.getElementById(_this.control.element.id + '_Map_title');
85
+ if (!isNullOrUndefined(titleElement)) {
86
+ ctx.fillStyle = titleElement.getAttribute('fill');
87
+ ctx.fillText(_this.control.titleSettings.text, parseFloat(titleElement.getAttribute('x')), parseFloat(titleElement.getAttribute('y')));
88
+ }
86
89
  tileImg.onload = (function () {
87
90
  if (i === 0 || i === tileLength_1 + 1) {
88
91
  if (i === 0) {
@@ -95,8 +98,9 @@ var PdfExport = /** @class */ (function () {
95
98
  }
96
99
  }
97
100
  else {
101
+ var tileParent = document.getElementById(_this.control.element.id + '_tile_parent');
98
102
  ctx.setTransform(1, 0, 0, 1, parseFloat(tile.style.left) + 10, parseFloat(tile.style.top) +
99
- (parseFloat(document.getElementById(_this.control.element.id + '_tile_parent').style.top)));
103
+ (parseFloat(tileParent.style.top)));
100
104
  }
101
105
  ctx.drawImage(tileImg, 0, 0);
102
106
  if (i === tileLength_1 + 1) {
@@ -122,7 +126,8 @@ var PdfExport = /** @class */ (function () {
122
126
  }
123
127
  else {
124
128
  setTimeout(function () {
125
- tileImg.src = window.URL.createObjectURL(new Blob([(new XMLSerializer()).serializeToString(document.getElementById(_this.control.element.id + '_Tile_SVG'))], { type: 'image/svg+xml' }));
129
+ var tileSvg = document.getElementById(_this.control.element.id + '_Tile_SVG');
130
+ tileImg.src = window.URL.createObjectURL(new Blob([(new XMLSerializer()).serializeToString(tileSvg)], { type: 'image/svg+xml' }));
126
131
  }, 300);
127
132
  }
128
133
  }
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import { print as printWindow, createElement } from '@syncfusion/ej2-base';
3
- import { getElement } from '../utils/helper';
3
+ import { getElement, getClientElement } from '../utils/helper';
4
4
  import { beforePrint } from '../model/constants';
5
5
  /**
6
6
  * This module enables the print functionality in maps.
@@ -45,7 +45,29 @@ var Print = /** @class */ (function () {
45
45
  * @private
46
46
  */
47
47
  Print.prototype.getHTMLContent = function (elements) {
48
+ var elementRect = getClientElement(this.control.element.id);
48
49
  var div = createElement('div');
50
+ var divElement = this.control.element.cloneNode(true);
51
+ if (this.control.isTileMap) {
52
+ for (var i = 0; i < divElement.childElementCount; i++) {
53
+ if (divElement.children[i].id === this.control.element.id + '_tile_parent') {
54
+ divElement.children[i].style.removeProperty('height');
55
+ divElement.children[i].style.removeProperty('width');
56
+ divElement.children[i].style.removeProperty('top');
57
+ divElement.children[i].style.removeProperty('left');
58
+ divElement.children[i].style.removeProperty('right');
59
+ divElement.children[i].style.removeProperty('overflow');
60
+ var svgElement = document.getElementById(this.control.element.id + '_Tile_SVG_Parent');
61
+ divElement.children[i].children[0].style.overflow = 'hidden';
62
+ divElement.children[i].children[0].style.position = 'absolute';
63
+ divElement.children[i].children[0].style.height = svgElement.style.height;
64
+ divElement.children[i].children[0].style.width = svgElement.style.width;
65
+ divElement.children[i].children[0].style.left = svgElement.style.left;
66
+ divElement.children[i].children[0].style.top = svgElement.style.top;
67
+ break;
68
+ }
69
+ }
70
+ }
49
71
  if (elements) {
50
72
  if (elements instanceof Array) {
51
73
  Array.prototype.forEach.call(elements, function (value) {
@@ -60,7 +82,7 @@ var Print = /** @class */ (function () {
60
82
  }
61
83
  }
62
84
  else {
63
- div.appendChild(this.control.element.cloneNode(true));
85
+ div.appendChild(divElement);
64
86
  }
65
87
  return div;
66
88
  };
@@ -183,11 +183,11 @@ export function getShapeColor(theme) {
183
183
  themePalette = ['#5ECB9B', '#A860F1', '#EBA844', '#557EF7', '#E9599B',
184
184
  '#BFC529', '#3BC6CF', '#7A68EC', '#74B706', '#EA6266'];
185
185
  break;
186
- case 'fluentui':
186
+ case 'fluent':
187
187
  themePalette = ['#614570', '#4C6FB1', '#CC6952', '#3F579A', '#4EA09B',
188
188
  '#6E7A89', '#D4515C', '#E6AF5D', '#639751', '#9D4D69'];
189
189
  break;
190
- case 'fluentuidark':
190
+ case 'fluentdark':
191
191
  themePalette = ['#8AB113', '#2A72D5', '#43B786', '#584EC6', '#E85F9C',
192
192
  '#6E7A89', '#EA6266', '#EBA844', '#26BC7A', '#BC4870'];
193
193
  break;
@@ -476,7 +476,7 @@ export function getThemeStyle(theme) {
476
476
  shapeFill: '#495057'
477
477
  };
478
478
  break;
479
- case 'fluentui':
479
+ case 'fluent':
480
480
  style = {
481
481
  backgroundColor: 'rgba(255,255,255, 0.0)',
482
482
  areaBackgroundColor: 'rgba(255,255,255, 0.0)',
@@ -499,7 +499,7 @@ export function getThemeStyle(theme) {
499
499
  shapeFill: '#F3F2F1'
500
500
  };
501
501
  break;
502
- case 'fluentuidark':
502
+ case 'fluentdark':
503
503
  style = {
504
504
  backgroundColor: 'rgba(255,255,255, 0.0)',
505
505
  areaBackgroundColor: 'rgba(255,255,255, 0.0)',
@@ -53,7 +53,7 @@ var Annotations = /** @class */ (function () {
53
53
  if (argsData.cancel) {
54
54
  return;
55
55
  }
56
- templateFn = getTemplateFunction(argsData.content);
56
+ templateFn = getTemplateFunction(argsData.content, _this.map);
57
57
  if (templateFn && templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex).length) {
58
58
  templateElement = Array.prototype.slice.call(templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex));
59
59
  var length_1 = templateElement.length;
@@ -27,7 +27,8 @@ export declare class MapsTooltip {
27
27
  private setTooltipContent;
28
28
  private formatter;
29
29
  mouseUpHandler(e: PointerEvent): void;
30
- removeTooltip(): void;
30
+ removeTooltip(): boolean;
31
+ private clearTooltip;
31
32
  /**
32
33
  * To bind events for tooltip module
33
34
  */
@@ -228,6 +228,10 @@ var MapsTooltip = /** @class */ (function () {
228
228
  fill: tooltipArgs.fill || _this.maps.themeStyle.tooltipFillColor
229
229
  });
230
230
  }
231
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
232
+ if (_this.maps.isVue || _this.maps.isVue3) {
233
+ _this.svgTooltip.controlInstance = _this.maps;
234
+ }
231
235
  _this.svgTooltip.opacity = _this.maps.themeStyle.tooltipFillOpacity || _this.svgTooltip.opacity;
232
236
  _this.svgTooltip.appendTo(tooltipEle);
233
237
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -241,9 +245,7 @@ var MapsTooltip = /** @class */ (function () {
241
245
  }
242
246
  }
243
247
  else {
244
- _this.removeTooltip();
245
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
246
- _this.maps.clearTemplate();
248
+ _this.clearTooltip();
247
249
  }
248
250
  });
249
251
  if (this.svgTooltip) {
@@ -258,9 +260,7 @@ var MapsTooltip = /** @class */ (function () {
258
260
  });
259
261
  }
260
262
  else {
261
- this.removeTooltip();
262
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
263
- this.maps.clearTemplate();
263
+ this.clearTooltip();
264
264
  }
265
265
  }
266
266
  else {
@@ -270,9 +270,7 @@ var MapsTooltip = /** @class */ (function () {
270
270
  this.maps.notify(click, this);
271
271
  }
272
272
  else {
273
- this.removeTooltip();
274
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
275
- this.maps.clearTemplate();
273
+ this.clearTooltip();
276
274
  }
277
275
  }
278
276
  };
@@ -318,8 +316,18 @@ var MapsTooltip = /** @class */ (function () {
318
316
  }
319
317
  };
320
318
  MapsTooltip.prototype.removeTooltip = function () {
319
+ var isTooltipRemoved = false;
321
320
  if (document.getElementsByClassName('EJ2-maps-Tooltip').length > 0) {
322
321
  remove(document.getElementsByClassName('EJ2-maps-Tooltip')[0]);
322
+ isTooltipRemoved = true;
323
+ }
324
+ return isTooltipRemoved;
325
+ };
326
+ MapsTooltip.prototype.clearTooltip = function () {
327
+ var isTooltipRemoved = this.removeTooltip();
328
+ if (isTooltipRemoved) {
329
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
330
+ this.maps.clearTemplate();
323
331
  }
324
332
  };
325
333
  // eslint-disable-next-line valid-jsdoc
@@ -545,10 +545,10 @@ var Zoom = /** @class */ (function () {
545
545
  }
546
546
  var lati = (!isNullOrUndefined(markerSettings.latitudeValuePath)) ?
547
547
  Number(getValueFromObject(data, markerSettings.latitudeValuePath)) : !isNullOrUndefined(data['latitude']) ?
548
- parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? data['Latitude'] : 0;
548
+ parseFloat(data['latitude']) : !isNullOrUndefined(data['Latitude']) ? data['Latitude'] : null;
549
549
  var long = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
550
550
  Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
551
- parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? data['Longitude'] : 0;
551
+ parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? data['Longitude'] : null;
552
552
  var offset = markerSettings.offset;
553
553
  if (!eventArgs.cancel && markerSettings.visible && !isNullOrUndefined(long) && !isNullOrUndefined(lati)) {
554
554
  var markerID = _this.maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
@@ -568,10 +568,10 @@ var Zoom = /** @class */ (function () {
568
568
  nullCount += (!isNaN(lati) && !isNaN(long)) ? 0 : 1;
569
569
  markerTemplateCounts += (eventArgs.cancel) ? 1 : 0;
570
570
  markerCounts += (eventArgs.cancel) ? 1 : 0;
571
- _this.maps.markerNullCount = (!isNullOrUndefined(lati) || !isNullOrUndefined(long))
572
- ? _this.maps.markerNullCount : _this.maps.markerNullCount + 1;
571
+ _this.maps.markerNullCount = (isNullOrUndefined(lati) || isNullOrUndefined(long))
572
+ ? _this.maps.markerNullCount + 1 : _this.maps.markerNullCount;
573
573
  var markerDataLength = markerDatas.length - _this.maps.markerNullCount;
574
- if (markerSVGObject.childElementCount === (markerDatas.length - markerTemplateCounts - nullCount) && (type !== 'Template')) {
574
+ if (markerSVGObject.childElementCount === (markerDataLength - markerTemplateCounts - nullCount) && (type !== 'Template')) {
575
575
  layerElement.appendChild(markerSVGObject);
576
576
  if (currentLayers.markerClusterSettings.allowClustering) {
577
577
  _this.maps.svgObject.appendChild(markerSVGObject);
@@ -579,7 +579,7 @@ var Zoom = /** @class */ (function () {
579
579
  clusterTemplate(currentLayers, markerSVGObject, _this.maps, layerIndex, markerSVGObject, layerElement, true, true);
580
580
  }
581
581
  }
582
- if (markerTemplateElements.childElementCount === (markerDatas.length - markerCounts - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
582
+ if (markerTemplateElements.childElementCount === (markerDataLength - markerCounts - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
583
583
  getElementByID(_this.maps.element.id + '_Secondary_Element').appendChild(markerTemplateElements);
584
584
  if (scale >= 1) {
585
585
  if (currentLayers.markerClusterSettings.allowClustering) {
@@ -1027,7 +1027,7 @@ var Zoom = /** @class */ (function () {
1027
1027
  var map = this.maps;
1028
1028
  this.toolBarGroup = map.renderer.createGroup({
1029
1029
  id: map.element.id + '_Zooming_KitCollection',
1030
- opacity: map.theme.toLowerCase() === 'fluentuidark' ? 0.6 : 0.3
1030
+ opacity: map.theme.toLowerCase() === 'fluentdark' ? 0.6 : 0.3
1031
1031
  });
1032
1032
  var kitHeight = 16;
1033
1033
  var kitWidth = 16;
@@ -1437,14 +1437,14 @@ var Zoom = /** @class */ (function () {
1437
1437
  if (document.getElementById(map.element.id + '_Zooming_ToolBar_Pan_Group')) {
1438
1438
  if (!this.maps.zoomSettings.enablePanning) {
1439
1439
  if (target.id.indexOf('_Zooming_ToolBar') > -1 || target.id.indexOf('_Zooming_Rect') > -1) {
1440
- getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
1441
- getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
1440
+ getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', map.theme.toLowerCase() === 'fluentdark' ? '0.6' : '0.3');
1441
+ getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', map.theme.toLowerCase() === 'fluentdark' ? '0.6' : '0.3');
1442
1442
  }
1443
1443
  }
1444
1444
  }
1445
1445
  }
1446
1446
  else {
1447
- getElementByID(map.element.id + '_Zooming_KitCollection').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
1447
+ getElementByID(map.element.id + '_Zooming_KitCollection').setAttribute('opacity', map.theme.toLowerCase() === 'fluentdark' ? '0.6' : '0.3');
1448
1448
  if (!this.maps.zoomSettings.enablePanning && document.getElementById(map.element.id + '_Zooming_ToolBar_Pan_Group')) {
1449
1449
  getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', '1');
1450
1450
  getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', '1');
@@ -40,7 +40,11 @@ export declare type MapsTheme =
40
40
  /** Renders a map with Bootstrap5 theme. */
41
41
  'Bootstrap5' |
42
42
  /** Render a map with Bootstrap5 dark theme. */
43
- 'Bootstrap5Dark';
43
+ 'Bootstrap5Dark' |
44
+ /** Renders a map with Fluent theme. */
45
+ 'Fluent' |
46
+ /** Render a map with Fluent dark theme. */
47
+ 'FluentDark';
44
48
  /**
45
49
  * Defines the position of the legend.
46
50
  */
@@ -818,6 +818,14 @@ export declare function fixInitialScaleForTile(map: Maps): void;
818
818
  * @returns {Element} - Returns the element
819
819
  */
820
820
  export declare function getElementByID(id: string): Element;
821
+ /**
822
+ * Function to get clientElement from id.
823
+ *
824
+ * @param {string} id - Specifies the id
825
+ * @returns {Element} - Returns the element
826
+ * @private
827
+ */
828
+ export declare function getClientElement(id: string): ClientRect;
821
829
  /**
822
830
  * To apply internalization
823
831
  *
@@ -833,7 +841,7 @@ export declare function Internalize(maps: Maps, value: number): string;
833
841
  * @returns {Function} - Returns the function
834
842
  * @private
835
843
  */
836
- export declare function getTemplateFunction(template: string): any;
844
+ export declare function getTemplateFunction(template: string, maps: Maps): any;
837
845
  /**
838
846
  * Function to get element from id.
839
847
  *