@syncfusion/ej2-maps 19.4.53 → 19.4.56-105067

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.
Files changed (84) hide show
  1. package/.eslintrc.json +18 -3
  2. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +72 -72
  3. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +49 -49
  4. package/CHANGELOG.md +441 -422
  5. package/README.md +73 -73
  6. package/dist/ej2-maps.umd.min.js +1 -10
  7. package/dist/ej2-maps.umd.min.js.map +1 -1
  8. package/dist/es6/ej2-maps.es2015.js +1220 -653
  9. package/dist/es6/ej2-maps.es2015.js.map +1 -1
  10. package/dist/es6/ej2-maps.es5.js +1258 -692
  11. package/dist/es6/ej2-maps.es5.js.map +1 -1
  12. package/dist/global/ej2-maps.min.js +1 -10
  13. package/dist/global/ej2-maps.min.js.map +1 -1
  14. package/dist/global/index.d.ts +0 -9
  15. package/dist/ts/maps/layers/bing-map.ts +50 -0
  16. package/dist/ts/maps/layers/bubble.ts +290 -0
  17. package/dist/ts/maps/layers/color-mapping.ts +226 -0
  18. package/dist/ts/maps/layers/data-label.ts +418 -0
  19. package/dist/ts/maps/layers/layer-panel.ts +1480 -0
  20. package/dist/ts/maps/layers/legend.ts +2236 -0
  21. package/dist/ts/maps/layers/marker.ts +453 -0
  22. package/dist/ts/maps/layers/navigation-selected-line.ts +167 -0
  23. package/dist/ts/maps/maps.ts +2886 -0
  24. package/dist/ts/maps/model/base.ts +1843 -0
  25. package/dist/ts/maps/model/constants.ts +200 -0
  26. package/dist/ts/maps/model/export-image.ts +178 -0
  27. package/dist/ts/maps/model/export-pdf.ts +170 -0
  28. package/dist/ts/maps/model/interface.ts +823 -0
  29. package/dist/ts/maps/model/print.ts +104 -0
  30. package/dist/ts/maps/model/theme.ts +554 -0
  31. package/dist/ts/maps/user-interaction/annotation.ts +127 -0
  32. package/dist/ts/maps/user-interaction/highlight.ts +233 -0
  33. package/dist/ts/maps/user-interaction/selection.ts +321 -0
  34. package/dist/ts/maps/user-interaction/tooltip.ts +387 -0
  35. package/dist/ts/maps/user-interaction/zoom.ts +1767 -0
  36. package/dist/ts/maps/utils/enum.ts +368 -0
  37. package/dist/ts/maps/utils/helper.ts +3421 -0
  38. package/helper/e2e/index.js +3 -3
  39. package/helper/e2e/maps-helper.js +13 -13
  40. package/license +9 -9
  41. package/package.json +85 -85
  42. package/src/maps/layers/bing-map.d.ts +4 -0
  43. package/src/maps/layers/bing-map.js +16 -3
  44. package/src/maps/layers/bubble.d.ts +1 -2
  45. package/src/maps/layers/bubble.js +7 -12
  46. package/src/maps/layers/data-label.d.ts +1 -4
  47. package/src/maps/layers/data-label.js +32 -35
  48. package/src/maps/layers/layer-panel.d.ts +18 -1
  49. package/src/maps/layers/layer-panel.js +226 -72
  50. package/src/maps/layers/legend.d.ts +5 -2
  51. package/src/maps/layers/legend.js +170 -61
  52. package/src/maps/layers/marker.d.ts +2 -4
  53. package/src/maps/layers/marker.js +49 -48
  54. package/src/maps/layers/navigation-selected-line.d.ts +1 -2
  55. package/src/maps/layers/navigation-selected-line.js +7 -13
  56. package/src/maps/maps-model.d.ts +259 -251
  57. package/src/maps/maps.d.ts +25 -3
  58. package/src/maps/maps.js +179 -106
  59. package/src/maps/model/base-model.d.ts +1025 -1021
  60. package/src/maps/model/base.d.ts +5 -1
  61. package/src/maps/model/base.js +24 -24
  62. package/src/maps/model/constants.d.ts +6 -0
  63. package/src/maps/model/constants.js +6 -0
  64. package/src/maps/model/export-image.d.ts +2 -4
  65. package/src/maps/model/export-image.js +34 -33
  66. package/src/maps/model/export-pdf.d.ts +4 -6
  67. package/src/maps/model/export-pdf.js +31 -32
  68. package/src/maps/model/interface.d.ts +34 -26
  69. package/src/maps/model/print.d.ts +2 -5
  70. package/src/maps/model/print.js +32 -18
  71. package/src/maps/model/theme.js +7 -4
  72. package/src/maps/user-interaction/annotation.d.ts +1 -2
  73. package/src/maps/user-interaction/annotation.js +3 -4
  74. package/src/maps/user-interaction/highlight.d.ts +1 -2
  75. package/src/maps/user-interaction/highlight.js +11 -10
  76. package/src/maps/user-interaction/selection.d.ts +1 -2
  77. package/src/maps/user-interaction/selection.js +42 -19
  78. package/src/maps/user-interaction/tooltip.d.ts +3 -5
  79. package/src/maps/user-interaction/tooltip.js +27 -14
  80. package/src/maps/user-interaction/zoom.d.ts +3 -8
  81. package/src/maps/user-interaction/zoom.js +282 -162
  82. package/src/maps/utils/enum.d.ts +5 -1
  83. package/src/maps/utils/helper.d.ts +9 -1
  84. package/src/maps/utils/helper.js +82 -33
@@ -12,102 +12,103 @@ var Marker = /** @class */ (function () {
12
12
  this.trackElements = [];
13
13
  this.sameMarkerData = [];
14
14
  }
15
- Marker.prototype.markerRender = function (layerElement, layerIndex, factor, type) {
15
+ Marker.prototype.markerRender = function (maps, layerElement, layerIndex, factor, type) {
16
16
  var _this = this;
17
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
18
  var templateFn;
19
19
  var markerCount = 0;
20
20
  var nullCount = 0;
21
21
  var markerTemplateCount = 0;
22
- this.maps.translateType = 'marker';
23
- var currentLayer = this.maps.layersCollection[layerIndex];
24
- this.markerSVGObject = this.maps.renderer.createGroup({
25
- id: this.maps.element.id + '_Markers_Group',
22
+ maps.translateType = 'marker';
23
+ var currentLayer = maps.layersCollection[layerIndex];
24
+ this.markerSVGObject = maps.renderer.createGroup({
25
+ id: maps.element.id + '_Markers_Group',
26
26
  class: 'GroupElement',
27
27
  style: 'pointer-events: auto;'
28
28
  });
29
29
  var markerTemplateEle = createElement('div', {
30
- id: this.maps.element.id + '_LayerIndex_' + layerIndex + '_Markers_Template_Group',
31
- className: this.maps.element.id + '_template',
30
+ id: maps.element.id + '_LayerIndex_' + layerIndex + '_Markers_Template_Group',
31
+ className: maps.element.id + '_template',
32
32
  styles: 'overflow: hidden; position: absolute;pointer-events: none;' +
33
- 'top:' + this.maps.mapAreaRect.y + 'px;' +
34
- 'left:' + this.maps.mapAreaRect.x + 'px;' +
35
- 'height:' + this.maps.mapAreaRect.height + 'px;' +
36
- 'width:' + this.maps.mapAreaRect.width + 'px;'
33
+ 'top:' + maps.mapAreaRect.y + 'px;' +
34
+ 'left:' + maps.mapAreaRect.x + 'px;' +
35
+ 'height:' + maps.mapAreaRect.height + 'px;' +
36
+ 'width:' + maps.mapAreaRect.width + 'px;'
37
37
  });
38
38
  currentLayer.markerSettings.map(function (markerSettings, markerIndex) {
39
39
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
40
  var markerData = markerSettings.dataSource;
41
41
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  Array.prototype.forEach.call(markerData, function (data, dataIndex) {
43
- _this.maps.markerNullCount = markerIndex > 0 && dataIndex === 0 ? 0 : _this.maps.markerNullCount;
43
+ maps.markerNullCount = markerIndex > 0 && dataIndex === 0 ? 0 : maps.markerNullCount;
44
44
  var eventArgs = {
45
45
  cancel: false, name: markerRendering, fill: markerSettings.fill, height: markerSettings.height,
46
46
  width: markerSettings.width, imageUrl: markerSettings.imageUrl, shape: markerSettings.shape,
47
- template: markerSettings.template, data: data, maps: _this.maps, marker: markerSettings,
47
+ template: markerSettings.template, data: data, maps: maps, marker: markerSettings,
48
48
  border: markerSettings.border, colorValuePath: markerSettings.colorValuePath,
49
49
  shapeValuePath: markerSettings.shapeValuePath, imageUrlValuePath: markerSettings.imageUrlValuePath
50
50
  };
51
- _this.maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
51
+ maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
52
52
  eventArgs = markerColorChoose(eventArgs, data);
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
- var markerID = _this.maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
62
+ var markerID = maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
63
63
  + markerIndex + '_dataIndex_' + dataIndex;
64
- var location_1 = (_this.maps.isTileMap) ? convertTileLatLongToPoint(new MapLocation(lng, lat), factor, _this.maps.tileTranslatePoint, true) : convertGeoToPoint(lat, lng, factor, currentLayer, _this.maps);
65
- var animate = currentLayer.animationDuration !== 0 || isNullOrUndefined(_this.maps.zoomModule);
64
+ var location_1 = (maps.isTileMap) ? convertTileLatLongToPoint(new MapLocation(lng, lat), factor, maps.tileTranslatePoint, true) : convertGeoToPoint(lat, lng, factor, currentLayer, maps);
65
+ var animate = currentLayer.animationDuration !== 0 || isNullOrUndefined(maps.zoomModule);
66
66
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
67
- var translate = (_this.maps.isTileMap) ? (currentLayer.type === 'SubLayer' && isNullOrUndefined(_this.maps.zoomModule)) ? location_1 = convertTileLatLongToPoint(new MapLocation(lng, lat), _this.maps.tileZoomLevel, _this.maps.tileTranslatePoint, true) : new Object() :
68
- !isNullOrUndefined(_this.maps.zoomModule) && _this.maps.zoomSettings.zoomFactor > 1 ?
69
- getZoomTranslate(_this.maps, currentLayer, animate) :
70
- getTranslate(_this.maps, currentLayer, animate);
71
- var scale = type === 'AddMarker' ? _this.maps.scale : translate['scale'];
72
- var transPoint = type === 'AddMarker' ? _this.maps.translatePoint : translate['location'];
67
+ var translate = (maps.isTileMap) ? (currentLayer.type === 'SubLayer' && isNullOrUndefined(maps.zoomModule)) ? location_1 = convertTileLatLongToPoint(new MapLocation(lng, lat), maps.tileZoomLevel, maps.tileTranslatePoint, true) : new Object() :
68
+ !isNullOrUndefined(maps.zoomModule) && maps.zoomSettings.zoomFactor > 1 ?
69
+ getZoomTranslate(maps, currentLayer, animate) :
70
+ getTranslate(maps, currentLayer, animate);
71
+ var scale = type === 'AddMarker' ? maps.scale : translate['scale'];
72
+ var transPoint = type === 'AddMarker' ? maps.translatePoint : translate['location'];
73
73
  if (eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
74
74
  markerTemplateCount++;
75
- markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset, _this.maps);
75
+ markerTemplate(eventArgs, templateFn, markerID, data, markerIndex, markerTemplateEle, location_1, transPoint, scale, offset, maps);
76
76
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
- _this.maps.renderReactTemplates();
77
+ maps.renderReactTemplates();
78
78
  }
79
79
  else if (!eventArgs.template && (!isNaN(location_1.x) && !isNaN(location_1.y))) {
80
80
  markerCount++;
81
- marker(eventArgs, markerSettings, markerData, dataIndex, location_1, transPoint, markerID, offset, scale, _this.maps, _this.markerSVGObject);
81
+ marker(eventArgs, markerSettings, markerData, dataIndex, location_1, transPoint, markerID, offset, scale, maps, _this.markerSVGObject);
82
82
  }
83
83
  }
84
84
  nullCount += (!isNaN(lat) && !isNaN(lng)) ? 0 : 1;
85
85
  markerTemplateCount += (eventArgs.cancel) ? 1 : 0;
86
86
  markerCount += (eventArgs.cancel) ? 1 : 0;
87
- _this.maps.markerNullCount = (isNullOrUndefined(lng) || isNullOrUndefined(lat)) ? _this.maps.markerNullCount + 1 : _this.maps.markerNullCount;
88
- var markerDataLength = markerData.length - _this.maps.markerNullCount;
87
+ maps.markerNullCount = (isNullOrUndefined(lng) || isNullOrUndefined(lat)) ? maps.markerNullCount + 1 : maps.markerNullCount;
88
+ var markerDataLength = markerData.length - maps.markerNullCount;
89
89
  if (_this.markerSVGObject.childElementCount === (markerDataLength - markerTemplateCount - nullCount) && (type !== 'Template')) {
90
90
  layerElement.appendChild(_this.markerSVGObject);
91
91
  if (currentLayer.markerClusterSettings.allowClustering) {
92
- _this.maps.svgObject.appendChild(_this.markerSVGObject);
93
- _this.maps.element.appendChild(_this.maps.svgObject);
94
- if (currentLayer.layerType !== 'OSM' || !_this.maps.zoomSettings.enable) {
95
- clusterTemplate(currentLayer, _this.markerSVGObject, _this.maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
92
+ maps.svgObject.appendChild(_this.markerSVGObject);
93
+ maps.element.appendChild(maps.svgObject);
94
+ if ((currentLayer.layerType === 'OSM' || (currentLayer.urlTemplate.indexOf('openstreetmap') !== -1 && isNullOrUndefined(currentLayer.shapeData)))
95
+ && maps.zoomSettings.enable) {
96
+ layerElement.appendChild(_this.markerSVGObject);
96
97
  }
97
98
  else {
98
- layerElement.appendChild(_this.markerSVGObject);
99
+ clusterTemplate(currentLayer, _this.markerSVGObject, maps, layerIndex, _this.markerSVGObject, layerElement, true, false);
99
100
  }
100
101
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
- _this.maps.renderReactTemplates();
102
+ maps.renderReactTemplates();
102
103
  }
103
104
  }
104
- if (markerTemplateEle.childElementCount === (markerData.length - markerCount - nullCount) && getElementByID(_this.maps.element.id + '_Secondary_Element')) {
105
- getElementByID(_this.maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
106
- if (_this.maps.checkInitialRender) {
105
+ if (markerTemplateEle.childElementCount === (markerDataLength - markerCount - nullCount) && getElementByID(maps.element.id + '_Secondary_Element')) {
106
+ getElementByID(maps.element.id + '_Secondary_Element').appendChild(markerTemplateEle);
107
+ if (maps.checkInitialRender) {
107
108
  if (currentLayer.markerClusterSettings.allowClustering) {
108
- clusterTemplate(currentLayer, markerTemplateEle, _this.maps, layerIndex, _this.markerSVGObject, layerElement, false, false);
109
+ clusterTemplate(currentLayer, markerTemplateEle, maps, layerIndex, _this.markerSVGObject, layerElement, false, false);
109
110
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
110
- _this.maps.renderReactTemplates();
111
+ maps.renderReactTemplates();
111
112
  }
112
113
  }
113
114
  }
@@ -353,8 +354,8 @@ var Marker = /** @class */ (function () {
353
354
  }
354
355
  if ((target.indexOf('_cluster_') > -1)) {
355
356
  var isClusterSame = false;
356
- var clusterElement = document.getElementById(target.indexOf('_datalabel_') > -1 ? target.split('_datalabel_')[0] : target);
357
- var indexes = clusterElement.innerHTML.split(',').map(Number);
357
+ var clusterElement = document.getElementById(target.indexOf('_datalabel_') > -1 ? layer.markerClusterSettings.shape === 'Balloon' ? target.split('_datalabel_')[0] + '_Group' : target.split('_datalabel_')[0] : layer.markerClusterSettings.shape === 'Balloon' ? target + '_Group' : target);
358
+ var indexes = layer.markerClusterSettings.shape === 'Balloon' ? clusterElement.children[0].innerHTML.split(',').map(Number) : clusterElement.innerHTML.split(',').map(Number);
358
359
  collection_1 = [];
359
360
  for (var _i = 0, indexes_1 = indexes; _i < indexes_1.length; _i++) {
360
361
  var i = indexes_1[_i];
@@ -423,14 +424,14 @@ var Marker = /** @class */ (function () {
423
424
  /**
424
425
  * To destroy the layers.
425
426
  *
426
- * @param {Maps} maps - Specifies the instance of the map
427
427
  * @returns {void}
428
428
  * @private
429
429
  */
430
- Marker.prototype.destroy = function (maps) {
431
- /**
432
- * Destroy method performed here
433
- */
430
+ Marker.prototype.destroy = function () {
431
+ this.maps = null;
432
+ this.trackElements = [];
433
+ this.markerSVGObject = null;
434
+ this.sameMarkerData = [];
434
435
  };
435
436
  return Marker;
436
437
  }());
@@ -20,9 +20,8 @@ export declare class NavigationLine {
20
20
  /**
21
21
  * To destroy the layers.
22
22
  *
23
- * @param {Maps} maps - Specifies the instance of the map
24
23
  * @returns {void}
25
24
  * @private
26
25
  */
27
- destroy(maps: Maps): void;
26
+ destroy(): void;
28
27
  }
@@ -29,9 +29,6 @@ var NavigationLine = /** @class */ (function () {
29
29
  var dashArray;
30
30
  var pathOption;
31
31
  var direction;
32
- var markerWidth;
33
- var arcId;
34
- var radius;
35
32
  var showArrow;
36
33
  var arrowColor;
37
34
  var arrowSize;
@@ -69,8 +66,8 @@ var NavigationLine = /** @class */ (function () {
69
66
  for (var j = 0; j < point['length'] - 1; j++) {
70
67
  angle = (-1 > angle) ? -1 : angle;
71
68
  angle = (1 < angle) ? 1 : angle;
72
- var arcId_1 = this.maps.element.id + '_LayerIndex_' + layerIndex + '_NavigationIndex_' + i + '_Line' + j + '';
73
- var radius_1 = this.convertRadius(point[j], point[j + 1]);
69
+ var arcId = this.maps.element.id + '_LayerIndex_' + layerIndex + '_NavigationIndex_' + i + '_Line' + j + '';
70
+ var radius = this.convertRadius(point[j], point[j + 1]);
74
71
  if (angle <= 1 && angle > 0) {
75
72
  direction = 0;
76
73
  if (point[j]['x'] > point[j + 1]['x']) {
@@ -115,10 +112,10 @@ var NavigationLine = /** @class */ (function () {
115
112
  angle = Math.abs(angle);
116
113
  d = (angle === 0) ? 'M ' + point[j]['x'] + ',' + point[j]['y'] + 'L ' + point[j + 1]['x']
117
114
  + ',' + point[j + 1]['y'] + ' ' :
118
- 'M ' + point[j]['x'] + ',' + point[j]['y'] + ' A ' + (radius_1 / 2 + (1 - angle) * radius_1 / (angle * 10)) +
119
- ' ' + (radius_1 / 2 + (1 - angle) * radius_1 / (angle * 10)) + ' ' + 0 + ',' + 0 + ','
115
+ 'M ' + point[j]['x'] + ',' + point[j]['y'] + ' A ' + (radius / 2 + (1 - angle) * radius / (angle * 10)) +
116
+ ' ' + (radius / 2 + (1 - angle) * radius / (angle * 10)) + ' ' + 0 + ',' + 0 + ','
120
117
  + direction + ' , ' + point[j + 1]['x'] + ',' + point[j + 1]['y'] + ' ';
121
- pathOption = new PathOption(arcId_1, 'none', width, color, 1, 1, dashArray, d);
118
+ pathOption = new PathOption(arcId, 'none', width, color, 1, 1, dashArray, d);
122
119
  navigationEle = this.maps.renderer.drawPath(pathOption);
123
120
  if (!isNullOrUndefined(arrowPosition)) {
124
121
  var position = (arrowPosition === 'Start') ? navigationEle.setAttribute('marker-start', startArrow)
@@ -151,14 +148,11 @@ var NavigationLine = /** @class */ (function () {
151
148
  /**
152
149
  * To destroy the layers.
153
150
  *
154
- * @param {Maps} maps - Specifies the instance of the map
155
151
  * @returns {void}
156
152
  * @private
157
153
  */
158
- NavigationLine.prototype.destroy = function (maps) {
159
- /**
160
- * Destroy method performed here
161
- */
154
+ NavigationLine.prototype.destroy = function () {
155
+ this.maps = null;
162
156
  };
163
157
  return NavigationLine;
164
158
  }());