@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.
- package/CHANGELOG.md +30 -1
- package/dist/ej2-maps.umd.min.js +2 -2
- package/dist/ej2-maps.umd.min.js.map +1 -1
- package/dist/es6/ej2-maps.es2015.js +144 -67
- package/dist/es6/ej2-maps.es2015.js.map +1 -1
- package/dist/es6/ej2-maps.es5.js +143 -66
- package/dist/es6/ej2-maps.es5.js.map +1 -1
- package/dist/global/ej2-maps.min.js +2 -2
- package/dist/global/ej2-maps.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +12 -12
- package/src/maps/layers/data-label.js +1 -1
- package/src/maps/layers/legend.js +1 -1
- package/src/maps/layers/marker.js +4 -4
- package/src/maps/maps.d.ts +1 -0
- package/src/maps/maps.js +28 -17
- package/src/maps/model/export-image.js +15 -9
- package/src/maps/model/export-pdf.js +11 -6
- package/src/maps/model/print.js +24 -2
- package/src/maps/model/theme.js +4 -4
- package/src/maps/user-interaction/annotation.js +1 -1
- package/src/maps/user-interaction/tooltip.d.ts +2 -1
- package/src/maps/user-interaction/tooltip.js +17 -9
- package/src/maps/user-interaction/zoom.js +10 -10
- package/src/maps/utils/enum.d.ts +5 -1
- package/src/maps/utils/helper.d.ts +9 -1
- package/src/maps/utils/helper.js +29 -4
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
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@
|
|
3
|
+
"_id": "@syncfusion/ej2-maps@16.37.2",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
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-
|
|
27
|
-
"_shasum": "
|
|
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": "~
|
|
39
|
-
"@syncfusion/ej2-buttons": "~
|
|
40
|
-
"@syncfusion/ej2-compression": "~
|
|
41
|
-
"@syncfusion/ej2-data": "~
|
|
42
|
-
"@syncfusion/ej2-file-utils": "~
|
|
43
|
-
"@syncfusion/ej2-pdf-export": "~
|
|
44
|
-
"@syncfusion/ej2-svg-base": "~
|
|
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": "
|
|
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']) :
|
|
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']) :
|
|
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 === (
|
|
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];
|
package/src/maps/maps.d.ts
CHANGED
|
@@ -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
|
-
|
|
421
|
-
|
|
422
|
-
&& this.layers[i].markerSettings[k].
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
+
svgObject.outerHTML + tileSvg.outerHTML + '</svg>';
|
|
50
52
|
}
|
|
51
53
|
var url = window.URL.createObjectURL(new Blob(type === 'SVG' ? [svgDataElement] :
|
|
52
|
-
[(new XMLSerializer()).serializeToString(
|
|
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
|
-
|
|
93
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
85
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
}
|
package/src/maps/model/print.js
CHANGED
|
@@ -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(
|
|
85
|
+
div.appendChild(divElement);
|
|
64
86
|
}
|
|
65
87
|
return div;
|
|
66
88
|
};
|
package/src/maps/model/theme.js
CHANGED
|
@@ -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 '
|
|
186
|
+
case 'fluent':
|
|
187
187
|
themePalette = ['#614570', '#4C6FB1', '#CC6952', '#3F579A', '#4EA09B',
|
|
188
188
|
'#6E7A89', '#D4515C', '#E6AF5D', '#639751', '#9D4D69'];
|
|
189
189
|
break;
|
|
190
|
-
case '
|
|
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 '
|
|
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 '
|
|
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():
|
|
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.
|
|
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.
|
|
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.
|
|
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'] :
|
|
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'] :
|
|
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 = (
|
|
572
|
-
? _this.maps.markerNullCount : _this.maps.markerNullCount
|
|
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 === (
|
|
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 === (
|
|
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() === '
|
|
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() === '
|
|
1441
|
-
getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', map.theme.toLowerCase() === '
|
|
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() === '
|
|
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');
|
package/src/maps/utils/enum.d.ts
CHANGED
|
@@ -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
|
*
|