@syncfusion/ej2-maps 19.4.55 → 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.
- package/.eslintrc.json +18 -3
- package/.github/PULL_REQUEST_TEMPLATE/Bug.md +72 -72
- package/.github/PULL_REQUEST_TEMPLATE/Feature.md +49 -49
- package/CHANGELOG.md +441 -430
- package/README.md +73 -73
- package/dist/ej2-maps.umd.min.js +1 -10
- package/dist/ej2-maps.umd.min.js.map +1 -1
- package/dist/es6/ej2-maps.es2015.js +1205 -644
- package/dist/es6/ej2-maps.es2015.js.map +1 -1
- package/dist/es6/ej2-maps.es5.js +1243 -683
- package/dist/es6/ej2-maps.es5.js.map +1 -1
- package/dist/global/ej2-maps.min.js +1 -10
- package/dist/global/ej2-maps.min.js.map +1 -1
- package/dist/global/index.d.ts +0 -9
- package/dist/ts/maps/layers/bing-map.ts +50 -0
- package/dist/ts/maps/layers/bubble.ts +290 -0
- package/dist/ts/maps/layers/color-mapping.ts +226 -0
- package/dist/ts/maps/layers/data-label.ts +418 -0
- package/dist/ts/maps/layers/layer-panel.ts +1480 -0
- package/dist/ts/maps/layers/legend.ts +2236 -0
- package/dist/ts/maps/layers/marker.ts +453 -0
- package/dist/ts/maps/layers/navigation-selected-line.ts +167 -0
- package/dist/ts/maps/maps.ts +2886 -0
- package/dist/ts/maps/model/base.ts +1843 -0
- package/dist/ts/maps/model/constants.ts +200 -0
- package/dist/ts/maps/model/export-image.ts +178 -0
- package/dist/ts/maps/model/export-pdf.ts +170 -0
- package/dist/ts/maps/model/interface.ts +823 -0
- package/dist/ts/maps/model/print.ts +104 -0
- package/dist/ts/maps/model/theme.ts +554 -0
- package/dist/ts/maps/user-interaction/annotation.ts +127 -0
- package/dist/ts/maps/user-interaction/highlight.ts +233 -0
- package/dist/ts/maps/user-interaction/selection.ts +321 -0
- package/dist/ts/maps/user-interaction/tooltip.ts +387 -0
- package/dist/ts/maps/user-interaction/zoom.ts +1767 -0
- package/dist/ts/maps/utils/enum.ts +368 -0
- package/dist/ts/maps/utils/helper.ts +3421 -0
- package/helper/e2e/index.js +3 -3
- package/helper/e2e/maps-helper.js +13 -13
- package/license +9 -9
- package/package.json +85 -85
- package/src/maps/layers/bing-map.d.ts +4 -0
- package/src/maps/layers/bing-map.js +16 -3
- package/src/maps/layers/bubble.d.ts +1 -2
- package/src/maps/layers/bubble.js +7 -12
- package/src/maps/layers/data-label.d.ts +1 -4
- package/src/maps/layers/data-label.js +32 -35
- package/src/maps/layers/layer-panel.d.ts +18 -1
- package/src/maps/layers/layer-panel.js +226 -72
- package/src/maps/layers/legend.d.ts +5 -2
- package/src/maps/layers/legend.js +170 -61
- package/src/maps/layers/marker.d.ts +2 -4
- package/src/maps/layers/marker.js +49 -48
- package/src/maps/layers/navigation-selected-line.d.ts +1 -2
- package/src/maps/layers/navigation-selected-line.js +7 -13
- package/src/maps/maps-model.d.ts +259 -251
- package/src/maps/maps.d.ts +24 -3
- package/src/maps/maps.js +164 -97
- package/src/maps/model/base-model.d.ts +1025 -1021
- package/src/maps/model/base.d.ts +5 -1
- package/src/maps/model/base.js +24 -24
- package/src/maps/model/constants.d.ts +6 -0
- package/src/maps/model/constants.js +6 -0
- package/src/maps/model/export-image.d.ts +2 -4
- package/src/maps/model/export-image.js +34 -33
- package/src/maps/model/export-pdf.d.ts +4 -6
- package/src/maps/model/export-pdf.js +31 -32
- package/src/maps/model/interface.d.ts +34 -26
- package/src/maps/model/print.d.ts +2 -5
- package/src/maps/model/print.js +32 -18
- package/src/maps/model/theme.js +7 -4
- package/src/maps/user-interaction/annotation.d.ts +1 -2
- package/src/maps/user-interaction/annotation.js +3 -4
- package/src/maps/user-interaction/highlight.d.ts +1 -2
- package/src/maps/user-interaction/highlight.js +11 -10
- package/src/maps/user-interaction/selection.d.ts +1 -2
- package/src/maps/user-interaction/selection.js +42 -19
- package/src/maps/user-interaction/tooltip.d.ts +3 -5
- package/src/maps/user-interaction/tooltip.js +27 -14
- package/src/maps/user-interaction/zoom.d.ts +3 -8
- package/src/maps/user-interaction/zoom.js +282 -162
- package/src/maps/utils/enum.d.ts +5 -1
- package/src/maps/utils/helper.d.ts +9 -1
- package/src/maps/utils/helper.js +82 -33
package/src/maps/maps.d.ts
CHANGED
|
@@ -248,11 +248,18 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
|
|
|
248
248
|
*/
|
|
249
249
|
loaded: EmitType<ILoadedEventArgs>;
|
|
250
250
|
/**
|
|
251
|
-
* Triggers when
|
|
251
|
+
* Triggers when a user clicks on an element in Maps.
|
|
252
252
|
*
|
|
253
253
|
* @event click
|
|
254
|
+
* @deprecated
|
|
254
255
|
*/
|
|
255
256
|
click: EmitType<IMouseEventArgs>;
|
|
257
|
+
/**
|
|
258
|
+
* Triggers when a user clicks on an element in Maps.
|
|
259
|
+
*
|
|
260
|
+
* @event onclick
|
|
261
|
+
*/
|
|
262
|
+
onclick: EmitType<IMouseEventArgs>;
|
|
256
263
|
/**
|
|
257
264
|
* Triggers when performing the double click operation on an element in maps.
|
|
258
265
|
*
|
|
@@ -281,13 +288,13 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
|
|
|
281
288
|
* Triggers before the legend gets rendered.
|
|
282
289
|
*
|
|
283
290
|
* @event legendRendering
|
|
284
|
-
|
|
291
|
+
* @deprecated
|
|
285
292
|
*/
|
|
286
293
|
legendRendering: EmitType<ILegendRenderingEventArgs>;
|
|
287
294
|
/**
|
|
288
295
|
* Triggers after the maps tooltip gets rendered.
|
|
289
296
|
*
|
|
290
|
-
|
|
297
|
+
* @deprecated
|
|
291
298
|
* @event tooltipRenderComplete
|
|
292
299
|
*/
|
|
293
300
|
tooltipRenderComplete: EmitType<ITooltipRenderCompleteEventArgs>;
|
|
@@ -437,6 +444,12 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
|
|
|
437
444
|
* @private
|
|
438
445
|
*/
|
|
439
446
|
availableSize: Size;
|
|
447
|
+
/**
|
|
448
|
+
* whether it is layer add or not.
|
|
449
|
+
*
|
|
450
|
+
* @private
|
|
451
|
+
*/
|
|
452
|
+
isAddLayer: boolean;
|
|
440
453
|
/**
|
|
441
454
|
* Specifies the localization object.
|
|
442
455
|
*
|
|
@@ -818,6 +831,7 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
|
|
|
818
831
|
* @param {PointerEvent} e - Specifies the pointer event on maps.
|
|
819
832
|
*/
|
|
820
833
|
mapsOnClick(e: PointerEvent): void;
|
|
834
|
+
private clickHandler;
|
|
821
835
|
private triggerShapeSelection;
|
|
822
836
|
private getClickLocation;
|
|
823
837
|
/**
|
|
@@ -1024,6 +1038,13 @@ export declare class Maps extends Component<HTMLElement> implements INotifyPrope
|
|
|
1024
1038
|
* @returns {Promise<string>} - Returns the string value.
|
|
1025
1039
|
*/
|
|
1026
1040
|
export(type: ExportType, fileName: string, orientation?: PdfPageOrientation, allowDownload?: boolean): Promise<string>;
|
|
1041
|
+
/**
|
|
1042
|
+
* This method is used to get the Bing maps URL.
|
|
1043
|
+
*
|
|
1044
|
+
* @param {string} url - Specifies the URL of the maps.
|
|
1045
|
+
* @returns {Promise<string>} - Returns the processed Bing URL as Promise.
|
|
1046
|
+
*/
|
|
1047
|
+
getBingUrlTemplate(url: string): Promise<string>;
|
|
1027
1048
|
/**
|
|
1028
1049
|
* To find visibility of layers and markers for required modules load.
|
|
1029
1050
|
*
|
package/src/maps/maps.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
var __extends = (this && this.__extends) || (function () {
|
|
2
|
-
var extendStatics = function (d, b) {
|
|
3
|
-
extendStatics = Object.setPrototypeOf ||
|
|
4
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
-
return extendStatics(d, b);
|
|
7
|
-
};
|
|
8
|
-
return function (d, b) {
|
|
9
|
-
extendStatics(d, b);
|
|
10
|
-
function __() { this.constructor = d; }
|
|
11
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
-
};
|
|
13
|
-
})();
|
|
14
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
};
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
20
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
21
21
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
22
22
|
/* eslint-disable radix */
|
|
@@ -35,8 +35,8 @@ import { createStyle } from './utils/helper';
|
|
|
35
35
|
import { ZoomSettings, LegendSettings } from './model/base';
|
|
36
36
|
import { LayerSettings, TitleSettings, Border, Margin, MapsAreaSettings, Annotation, CenterPosition } from './model/base';
|
|
37
37
|
import { Marker } from './layers/marker';
|
|
38
|
-
import { load, click, loaded, doubleClick, resize, shapeSelected, zoomIn } from './model/constants';
|
|
39
|
-
import { getThemeStyle } from './model/theme';
|
|
38
|
+
import { load, click, onclick, loaded, doubleClick, resize, shapeSelected, zoomIn } from './model/constants';
|
|
39
|
+
import { getThemeStyle, Theme } from './model/theme';
|
|
40
40
|
import { BingMap } from './layers/bing-map';
|
|
41
41
|
import { LayerPanel } from './layers/layer-panel';
|
|
42
42
|
import { Rect, RectOption, measureText, getElementByID, MapAjax, processResult, getElementsByClassName } from '../maps/utils/helper';
|
|
@@ -75,6 +75,10 @@ var Maps = /** @class */ (function (_super) {
|
|
|
75
75
|
* Resize the map
|
|
76
76
|
*/
|
|
77
77
|
_this.isResize = false;
|
|
78
|
+
/**
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
_this.isReset = false;
|
|
78
82
|
/** @private */
|
|
79
83
|
_this.baseSize = new Size(0, 0);
|
|
80
84
|
/** @public */
|
|
@@ -232,6 +236,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
232
236
|
this.renderArea();
|
|
233
237
|
this.processRequestJsonData();
|
|
234
238
|
this.renderComplete();
|
|
239
|
+
this.isAddLayer = !this.isTileMap ? false : this.isAddLayer;
|
|
235
240
|
};
|
|
236
241
|
/**
|
|
237
242
|
* To Initialize the control rendering.
|
|
@@ -374,16 +379,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
374
379
|
};
|
|
375
380
|
Maps.prototype.renderMap = function () {
|
|
376
381
|
if (this.legendModule && this.legendSettings.visible) {
|
|
377
|
-
|
|
378
|
-
this.legendModule.renderLegend();
|
|
379
|
-
}
|
|
380
|
-
else {
|
|
381
|
-
var layerCount = this.layersCollection.length - 1;
|
|
382
|
-
if (!this.layersCollection[layerCount].isBaseLayer) {
|
|
383
|
-
this.isTileMapSubLayer = true;
|
|
384
|
-
this.legendModule.renderLegend();
|
|
385
|
-
}
|
|
386
|
-
}
|
|
382
|
+
this.legendModule.renderLegend();
|
|
387
383
|
}
|
|
388
384
|
this.createTile();
|
|
389
385
|
if (this.zoomSettings.enable && this.zoomModule) {
|
|
@@ -394,7 +390,9 @@ var Maps = /** @class */ (function (_super) {
|
|
|
394
390
|
this.dataLabelShape = [];
|
|
395
391
|
}
|
|
396
392
|
this.mapLayerPanel.measureLayerPanel();
|
|
397
|
-
|
|
393
|
+
if (!isNullOrUndefined(this.svgObject)) {
|
|
394
|
+
this.element.appendChild(this.svgObject);
|
|
395
|
+
}
|
|
398
396
|
var position = this.getExtraPosition();
|
|
399
397
|
for (var i = 0; i < this.layers.length; i++) {
|
|
400
398
|
if (position.x !== 0 || position.y !== 0) {
|
|
@@ -417,12 +415,14 @@ var Maps = /** @class */ (function (_super) {
|
|
|
417
415
|
this.checkInitialRender = false;
|
|
418
416
|
}
|
|
419
417
|
}
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
&& this.layers[i].markerSettings[k].
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
418
|
+
if (!this.isResize) {
|
|
419
|
+
for (var k = 0; k < this.layers[i].markerSettings.length; k++) {
|
|
420
|
+
if (this.layers[i].markerSettings[k].selectionSettings && this.layers[i].markerSettings[k].selectionSettings.enable
|
|
421
|
+
&& this.layers[i].markerSettings[k].initialMarkerSelection.length > 0) {
|
|
422
|
+
var markerSelectionValues = this.layers[i].markerSettings[k].initialMarkerSelection;
|
|
423
|
+
for (var j = 0; j < markerSelectionValues.length; j++) {
|
|
424
|
+
this.markerInitialSelection(i, k, this.layers[i].markerSettings[k], markerSelectionValues[j].latitude, markerSelectionValues[j].longitude);
|
|
425
|
+
}
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
428
|
}
|
|
@@ -464,12 +464,16 @@ var Maps = /** @class */ (function (_super) {
|
|
|
464
464
|
bottom = svg.bottom - tile.bottom - element.offsetTop;
|
|
465
465
|
top_1 = parseFloat(tileElement.style.top) + element.offsetTop;
|
|
466
466
|
}
|
|
467
|
-
top_1 = (bottom <= 11) ? top_1 : (top_1 * 2);
|
|
468
|
-
left = (bottom <= 11) ? left : (left * 2);
|
|
467
|
+
top_1 = (bottom <= 11) ? top_1 : (!isNullOrUndefined(this.legendModule) && this.legendSettings.position === 'Bottom') ? this.mapAreaRect.y : (top_1 * 2);
|
|
468
|
+
left = (bottom <= 11) ? left : !isNullOrUndefined(this.legendModule) ? left : (left * 2);
|
|
469
469
|
tileElement.style.top = top_1 + 'px';
|
|
470
470
|
tileElement.style.left = left + 'px';
|
|
471
471
|
tileElement1.style.top = top_1 + 'px';
|
|
472
472
|
tileElement1.style.left = left + 'px';
|
|
473
|
+
if (!isNullOrUndefined(this.legendModule) && this.legendModule.totalPages.length > 0) {
|
|
474
|
+
tileElement.style.height = tileElement1.style.height = this.legendModule.legendTotalRect.height + 'px';
|
|
475
|
+
tileElement.style.width = tileElement1.style.width = this.legendModule.legendTotalRect.width + 'px';
|
|
476
|
+
}
|
|
473
477
|
}
|
|
474
478
|
this.arrangeTemplate();
|
|
475
479
|
if (this.annotationsModule) {
|
|
@@ -500,7 +504,8 @@ var Maps = /** @class */ (function (_super) {
|
|
|
500
504
|
Maps.prototype.markerSelection = function (selectionSettings, map, targetElement, data) {
|
|
501
505
|
var border = {
|
|
502
506
|
color: selectionSettings.border.color,
|
|
503
|
-
width: selectionSettings.border.width / map.scale
|
|
507
|
+
width: selectionSettings.border.width / map.scale,
|
|
508
|
+
opacity: selectionSettings.border.opacity
|
|
504
509
|
};
|
|
505
510
|
var markerSelectionProperties = {
|
|
506
511
|
opacity: selectionSettings.opacity,
|
|
@@ -520,9 +525,11 @@ var Maps = /** @class */ (function (_super) {
|
|
|
520
525
|
if (this.selectedMarkerElementId.length === 0 || selectionSettings.enableMultiSelect) {
|
|
521
526
|
if (targetElement.tagName === 'g') {
|
|
522
527
|
targetElement.children[0].setAttribute('class', 'MarkerselectionMapStyle');
|
|
528
|
+
this.selectedMarkerElementId.push(targetElement.children[0].id);
|
|
523
529
|
}
|
|
524
530
|
else {
|
|
525
531
|
targetElement.setAttribute('class', 'MarkerselectionMapStyle');
|
|
532
|
+
this.selectedMarkerElementId.push(targetElement.id);
|
|
526
533
|
}
|
|
527
534
|
}
|
|
528
535
|
};
|
|
@@ -574,6 +581,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
574
581
|
*/
|
|
575
582
|
Maps.prototype.addTabIndex = function () {
|
|
576
583
|
this.element.setAttribute('aria-label', this.description || 'Maps Element');
|
|
584
|
+
this.element.setAttribute('role', '');
|
|
577
585
|
this.element.setAttribute('tabindex', this.tabIndex.toString());
|
|
578
586
|
};
|
|
579
587
|
// private setSecondaryElementPosition(): void {
|
|
@@ -592,12 +600,21 @@ var Maps = /** @class */ (function (_super) {
|
|
|
592
600
|
this.zoomModule.layerCollectionEle = getElementByID(this.element.id + '_Layer_Collections');
|
|
593
601
|
}
|
|
594
602
|
if (this.isTileMap && getElementByID(this.element.id + '_Tile_SVG') && getElementByID(this.element.id + '_tile_parent')) {
|
|
595
|
-
var
|
|
596
|
-
var
|
|
603
|
+
var tileElement = getElementByID(this.element.id + '_tile_parent');
|
|
604
|
+
var tileSvgElement = getElementByID(this.element.id + '_Tile_SVG');
|
|
605
|
+
var tileSvgParentElement = getElementByID(this.element.id + '_Tile_SVG_Parent');
|
|
606
|
+
var tileRect = tileElement.getBoundingClientRect();
|
|
607
|
+
var tileSvgRect = tileSvgElement.getBoundingClientRect();
|
|
597
608
|
left = (tileRect.left - tileSvgRect.left);
|
|
598
609
|
top = (tileRect.top - tileSvgRect.top);
|
|
599
|
-
|
|
600
|
-
|
|
610
|
+
tileSvgParentElement.style.left = left + 'px';
|
|
611
|
+
tileSvgParentElement.style.top = top + 'px';
|
|
612
|
+
if (!isNullOrUndefined(this.legendModule) && this.legendModule.totalPages.length > 0) {
|
|
613
|
+
tileElement.style.width = tileSvgElement.style.width = this.legendModule.legendTotalRect.width.toString();
|
|
614
|
+
tileElement.style.height = tileSvgElement.style.height = this.legendModule.legendTotalRect.height.toString();
|
|
615
|
+
tileSvgParentElement.style.width = this.legendModule.legendTotalRect.width + 'px';
|
|
616
|
+
tileSvgParentElement.style.height = this.legendModule.legendTotalRect.height + 'px';
|
|
617
|
+
}
|
|
601
618
|
var markerTemplateElements = document.getElementsByClassName('template');
|
|
602
619
|
if (!isNullOrUndefined(markerTemplateElements) && markerTemplateElements.length > 0) {
|
|
603
620
|
for (var i = 0; i < markerTemplateElements.length; i++) {
|
|
@@ -615,7 +632,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
615
632
|
if (!isNullOrUndefined(elements) && elements.childElementCount > 0) {
|
|
616
633
|
for (var i = 0; i < elements.childNodes.length; i++) {
|
|
617
634
|
var childElement = elements.childNodes[i];
|
|
618
|
-
if (childElement.tagName === 'g') {
|
|
635
|
+
if (childElement.tagName === 'g' && childElement.id.indexOf('_Legend_Group') == -1) {
|
|
619
636
|
var layerIndex = parseFloat(childElement.id.split('_LayerIndex_')[1].split('_')[0]);
|
|
620
637
|
for (var j = 0; j < childElement.childNodes.length; j++) {
|
|
621
638
|
var childNode = childElement.childNodes[j];
|
|
@@ -629,7 +646,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
629
646
|
}
|
|
630
647
|
}
|
|
631
648
|
if (this.zoomModule && (this.previousScale !== this.scale)) {
|
|
632
|
-
this.zoomModule.applyTransform(true);
|
|
649
|
+
this.zoomModule.applyTransform(this, true);
|
|
633
650
|
}
|
|
634
651
|
}
|
|
635
652
|
};
|
|
@@ -652,7 +669,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
652
669
|
}
|
|
653
670
|
var templateElements = document.getElementsByClassName(this.element.id + '_template');
|
|
654
671
|
if (!isNullOrUndefined(templateElements) && templateElements.length > 0 &&
|
|
655
|
-
getElementByID(this.element.id + '_Layer_Collections') && this.
|
|
672
|
+
getElementByID(this.element.id + '_Layer_Collections') && !this.isTileMap) {
|
|
656
673
|
for (var i = 0; i < templateElements.length; i++) {
|
|
657
674
|
var offSetLetValue = 0;
|
|
658
675
|
var offSetTopValue = 0;
|
|
@@ -687,10 +704,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
687
704
|
var mainLayer = this.layersCollection[0];
|
|
688
705
|
var padding = 0;
|
|
689
706
|
if (mainLayer.isBaseLayer && (mainLayer.layerType === 'OSM' || mainLayer.layerType === 'Bing' ||
|
|
690
|
-
mainLayer.layerType === 'GoogleStaticMap' || mainLayer.layerType === 'Google')) {
|
|
691
|
-
if (mainLayer.layerType === 'Google') {
|
|
692
|
-
mainLayer.urlTemplate = 'https://mt1.google.com/vt/lyrs=m@129&hl=en&x=tileX&y=tileY&z=level';
|
|
693
|
-
}
|
|
707
|
+
mainLayer.layerType === 'GoogleStaticMap' || mainLayer.layerType === 'Google' || (!isNullOrUndefined(mainLayer.urlTemplate) && mainLayer.urlTemplate !== ''))) {
|
|
694
708
|
removeElement(this.element.id + '_tile_parent');
|
|
695
709
|
removeElement(this.element.id + '_tiles');
|
|
696
710
|
removeElement('animated_tiles');
|
|
@@ -738,7 +752,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
738
752
|
var baseLayer = mainLayers[i];
|
|
739
753
|
if (baseLayer.visible && baseIndex === i) {
|
|
740
754
|
baseLayer.isBaseLayer = true;
|
|
741
|
-
this.isTileMap = (baseLayer.layerType === 'Geometry') ? false : true;
|
|
755
|
+
this.isTileMap = (baseLayer.layerType === 'Geometry' && !isNullOrUndefined(baseLayer.shapeData)) ? false : true;
|
|
742
756
|
this.layersCollection.push(baseLayer);
|
|
743
757
|
break;
|
|
744
758
|
}
|
|
@@ -785,12 +799,19 @@ var Maps = /** @class */ (function (_super) {
|
|
|
785
799
|
* @private
|
|
786
800
|
*/
|
|
787
801
|
Maps.prototype.renderTitle = function (title, type, bounds, groupEle) {
|
|
788
|
-
var style =
|
|
802
|
+
var style = {
|
|
803
|
+
size: title.textStyle.size,
|
|
804
|
+
color: title.textStyle.color,
|
|
805
|
+
fontFamily: title.textStyle.fontFamily,
|
|
806
|
+
fontWeight: title.textStyle.fontWeight,
|
|
807
|
+
fontStyle: title.textStyle.fontStyle,
|
|
808
|
+
opacity: title.textStyle.opacity
|
|
809
|
+
};
|
|
789
810
|
var height;
|
|
790
811
|
var width = Math.abs((this.margin.left + this.margin.right) - this.availableSize.width);
|
|
791
|
-
style.fontFamily =
|
|
812
|
+
style.fontFamily = !isNullOrUndefined(style.fontFamily) ? style.fontFamily : this.themeStyle.fontFamily;
|
|
792
813
|
style.fontWeight = style.fontWeight || this.themeStyle.titleFontWeight;
|
|
793
|
-
style.size = this.themeStyle.titleFontSize
|
|
814
|
+
style.size = type === 'title' ? (style.size || this.themeStyle.titleFontSize) : (style.size || Theme.mapsSubTitleFont.size);
|
|
794
815
|
if (title.text) {
|
|
795
816
|
if (isNullOrUndefined(groupEle)) {
|
|
796
817
|
groupEle = this.renderer.createGroup({ id: this.element.id + '_Title_Group' });
|
|
@@ -803,6 +824,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
803
824
|
var titleBounds = new Rect(location_1.x, location_1.y, elementSize.width, elementSize.height);
|
|
804
825
|
var element = renderTextElement(options, style, style.color || (type === 'title' ? this.themeStyle.titleFontColor : this.themeStyle.subTitleFontColor), groupEle);
|
|
805
826
|
element.setAttribute('aria-label', this.description || title.text);
|
|
827
|
+
element.setAttribute('role', '');
|
|
806
828
|
if ((type === 'title' && !title.subtitleSettings.text) || (type === 'subtitle')) {
|
|
807
829
|
height = Math.abs((titleBounds.y + this.margin.bottom) - this.availableSize.height);
|
|
808
830
|
this.mapAreaRect = new Rect(this.margin.left, titleBounds.y + 10, width, height - 10);
|
|
@@ -960,6 +982,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
960
982
|
var id = event.target['id'];
|
|
961
983
|
event.preventDefault();
|
|
962
984
|
if (this.legendModule && (id.indexOf('_Left_Page_Rect') > -1 || id.indexOf('_Right_Page_Rect') > -1)) {
|
|
985
|
+
this.mapAreaRect = this.legendModule.initialMapAreaRect;
|
|
963
986
|
this.legendModule.currentPage = (id.indexOf('_Left_Page_') > -1) ? (this.legendModule.currentPage - 1) :
|
|
964
987
|
(this.legendModule.currentPage + 1);
|
|
965
988
|
this.legendModule.legendGroup = this.renderer.createGroup({ id: this.element.id + '_Legend_Group' });
|
|
@@ -1024,24 +1047,35 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1024
1047
|
latitude: latitude, longitude: longitude,
|
|
1025
1048
|
isShapeSelected: this.SelectedElement(targetEle)
|
|
1026
1049
|
};
|
|
1027
|
-
this.
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1050
|
+
if (this.onclick) {
|
|
1051
|
+
eventArgs_1.name = onclick;
|
|
1052
|
+
this.trigger('onclick', eventArgs_1, function (mouseArgs) {
|
|
1053
|
+
_this.clickHandler(e, eventArgs_1, targetEle);
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
else {
|
|
1057
|
+
this.trigger('click', eventArgs_1, function (mouseArgs) {
|
|
1058
|
+
_this.clickHandler(e, eventArgs_1, targetEle);
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
};
|
|
1063
|
+
Maps.prototype.clickHandler = function (e, eventArgs, targetEle) {
|
|
1064
|
+
if (targetEle.id.indexOf('shapeIndex') > -1) {
|
|
1065
|
+
this.mergeCluster();
|
|
1066
|
+
if (getElement(this.element.id + '_mapsTooltip') &&
|
|
1067
|
+
this.mapsTooltipModule.tooltipTargetID.indexOf('_MarkerIndex_') > -1) {
|
|
1068
|
+
removeElement(this.element.id + '_mapsTooltip');
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
if (this.markerModule) {
|
|
1072
|
+
this.markerModule.markerClusterClick(e);
|
|
1073
|
+
}
|
|
1074
|
+
if (!eventArgs.cancel) {
|
|
1075
|
+
this.notify(click, targetEle);
|
|
1076
|
+
}
|
|
1077
|
+
if (!eventArgs.cancel && targetEle.id.indexOf('shapeIndex') !== -1) {
|
|
1078
|
+
this.triggerShapeSelection(targetEle);
|
|
1045
1079
|
}
|
|
1046
1080
|
};
|
|
1047
1081
|
Maps.prototype.triggerShapeSelection = function (targetEle) {
|
|
@@ -1141,13 +1175,6 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1141
1175
|
latitude = latLongValue.latitude;
|
|
1142
1176
|
longitude = latLongValue.longitude;
|
|
1143
1177
|
}
|
|
1144
|
-
var eventArgs = {
|
|
1145
|
-
cancel: false, name: click, target: targetId, x: e.clientX, y: e.clientY,
|
|
1146
|
-
latitude: latitude, longitude: longitude, isShapeSelected: this.SelectedElement(targetEle)
|
|
1147
|
-
};
|
|
1148
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1149
|
-
this.trigger('click', eventArgs, function (mouseArgs) {
|
|
1150
|
-
});
|
|
1151
1178
|
}
|
|
1152
1179
|
this.titleTooltip(e, pageX, pageY, true);
|
|
1153
1180
|
if (!isNullOrUndefined(this.legendModule)) {
|
|
@@ -1155,7 +1182,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1155
1182
|
}
|
|
1156
1183
|
}
|
|
1157
1184
|
this.notify(Browser.touchEndEvent, e);
|
|
1158
|
-
if (e.cancelable) {
|
|
1185
|
+
if (e.cancelable && !this.isTouch) {
|
|
1159
1186
|
e.preventDefault();
|
|
1160
1187
|
}
|
|
1161
1188
|
return false;
|
|
@@ -1321,14 +1348,14 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1321
1348
|
removeElement(this.element.id + '_EJ2_LegendTitle_Tooltip');
|
|
1322
1349
|
}
|
|
1323
1350
|
if ((targetId === (this.element.id + '_Map_title')) && (event.target.textContent.indexOf('...') > -1)) {
|
|
1324
|
-
showTooltip(this.titleSettings.text, this.titleSettings.textStyle.size, x, y, this.element.offsetWidth, this.element.offsetHeight, this.element.id + '_EJ2_Title_Tooltip', getElement(this.element.id + '_Secondary_Element'), isTouch);
|
|
1351
|
+
showTooltip(this.titleSettings.text, this.titleSettings.textStyle.size || this.themeStyle.titleFontSize, x, y, this.element.offsetWidth, this.element.offsetHeight, this.element.id + '_EJ2_Title_Tooltip', getElement(this.element.id + '_Secondary_Element'), isTouch);
|
|
1325
1352
|
}
|
|
1326
1353
|
else {
|
|
1327
1354
|
removeElement(this.element.id + '_EJ2_Title_Tooltip');
|
|
1328
1355
|
}
|
|
1329
1356
|
};
|
|
1330
1357
|
/*
|
|
1331
|
-
|
|
1358
|
+
|
|
1332
1359
|
/**
|
|
1333
1360
|
* This method is used to perform operations while resizing the window.
|
|
1334
1361
|
*
|
|
@@ -1356,6 +1383,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1356
1383
|
_this.refreshing = true;
|
|
1357
1384
|
_this.wireEVents();
|
|
1358
1385
|
_this.render();
|
|
1386
|
+
_this.refreshing = false;
|
|
1359
1387
|
}, 500);
|
|
1360
1388
|
}
|
|
1361
1389
|
}
|
|
@@ -1386,7 +1414,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1386
1414
|
this.scale = zoomFactor;
|
|
1387
1415
|
this.translatePoint.x = ((mapRect.left < svgRect.left ? x : 0) + (size.width / 2) - (position.x * zoomFactor)) / zoomFactor;
|
|
1388
1416
|
this.translatePoint.y = ((mapRect.top < svgRect.top ? y : 0) + (size.height / 2) - (position.y * zoomFactor)) / zoomFactor;
|
|
1389
|
-
this.zoomModule.applyTransform();
|
|
1417
|
+
this.zoomModule.applyTransform(this);
|
|
1390
1418
|
}
|
|
1391
1419
|
else {
|
|
1392
1420
|
position = { x: size.width / 2, y: size.height / 2 };
|
|
@@ -1432,8 +1460,10 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1432
1460
|
* @param {Object} layer - Specifies the layer for the maps.
|
|
1433
1461
|
*/
|
|
1434
1462
|
Maps.prototype.addLayer = function (layer) {
|
|
1435
|
-
|
|
1436
|
-
|
|
1463
|
+
var mapsLayer = this.layers;
|
|
1464
|
+
mapsLayer.push(layer);
|
|
1465
|
+
this.isAddLayer = true;
|
|
1466
|
+
this.layers = mapsLayer;
|
|
1437
1467
|
};
|
|
1438
1468
|
/**
|
|
1439
1469
|
* This method is used to remove a layer from map.
|
|
@@ -1442,8 +1472,9 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1442
1472
|
* @returns {void}
|
|
1443
1473
|
*/
|
|
1444
1474
|
Maps.prototype.removeLayer = function (index) {
|
|
1445
|
-
this.layers
|
|
1446
|
-
|
|
1475
|
+
var mapsLayer = this.layers;
|
|
1476
|
+
mapsLayer.splice(index, 1);
|
|
1477
|
+
this.layers = mapsLayer;
|
|
1447
1478
|
};
|
|
1448
1479
|
/**
|
|
1449
1480
|
* This method is used to add markers dynamically in the maps.
|
|
@@ -1462,7 +1493,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1462
1493
|
this.layersCollection[layerIndex].markerSettings.push(new MarkerSettings(this, 'markerSettings', newMarker));
|
|
1463
1494
|
}
|
|
1464
1495
|
var markerModule = new Marker(this);
|
|
1465
|
-
markerModule.markerRender(layerEle, layerIndex, this.mapLayerPanel['currentFactor'], 'AddMarker');
|
|
1496
|
+
markerModule.markerRender(this, layerEle, layerIndex, this.mapLayerPanel['currentFactor'], 'AddMarker');
|
|
1466
1497
|
this.arrangeTemplate();
|
|
1467
1498
|
}
|
|
1468
1499
|
};
|
|
@@ -1669,7 +1700,8 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1669
1700
|
Zoom: 'Zoom',
|
|
1670
1701
|
ZoomOut: 'Zoom out',
|
|
1671
1702
|
Pan: 'Pan',
|
|
1672
|
-
Reset: 'Reset'
|
|
1703
|
+
Reset: 'Reset',
|
|
1704
|
+
ImageNotFound: 'Image Not Found'
|
|
1673
1705
|
};
|
|
1674
1706
|
};
|
|
1675
1707
|
/**
|
|
@@ -1677,6 +1709,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1677
1709
|
*/
|
|
1678
1710
|
Maps.prototype.destroy = function () {
|
|
1679
1711
|
this.unWireEVents();
|
|
1712
|
+
_super.prototype.destroy.call(this);
|
|
1680
1713
|
this.shapeSelectionItem = [];
|
|
1681
1714
|
this.toggledShapeElementId = [];
|
|
1682
1715
|
this.toggledLegendId = [];
|
|
@@ -1691,11 +1724,14 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1691
1724
|
this.zoomLabelPositions = [];
|
|
1692
1725
|
this.mouseDownEvent = { x: null, y: null };
|
|
1693
1726
|
this.mouseClickEvent = { x: null, y: null };
|
|
1727
|
+
this.formatFunction = null;
|
|
1728
|
+
//TODO: Calling the below code throws spec issue.
|
|
1729
|
+
//this.renderer = null;
|
|
1730
|
+
this.availableSize = new Size(0, 0);
|
|
1694
1731
|
if (document.getElementById('mapsmeasuretext')) {
|
|
1695
1732
|
document.getElementById('mapsmeasuretext').remove();
|
|
1696
1733
|
}
|
|
1697
1734
|
this.removeSvg();
|
|
1698
|
-
_super.prototype.destroy.call(this);
|
|
1699
1735
|
};
|
|
1700
1736
|
/**
|
|
1701
1737
|
* Gets component name
|
|
@@ -1728,6 +1764,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1728
1764
|
Maps.prototype.onPropertyChanged = function (newProp, oldProp) {
|
|
1729
1765
|
var render = false;
|
|
1730
1766
|
var isMarker = false;
|
|
1767
|
+
var isLayer = false;
|
|
1731
1768
|
var isStaticMapType = false;
|
|
1732
1769
|
var layerEle;
|
|
1733
1770
|
if (newProp['layers']) {
|
|
@@ -1748,13 +1785,18 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1748
1785
|
case 'legendSettings':
|
|
1749
1786
|
case 'baseLayerIndex':
|
|
1750
1787
|
if (prop === 'layers') {
|
|
1788
|
+
isLayer = true;
|
|
1751
1789
|
var layerPropLength = Object.keys(newProp.layers).length;
|
|
1752
1790
|
for (var x = 0; x < layerPropLength; x++) {
|
|
1753
1791
|
if (!isNullOrUndefined(newProp.layers[x])) {
|
|
1754
1792
|
var collection = Object.keys(newProp.layers[x]);
|
|
1755
1793
|
for (var _b = 0, collection_1 = collection; _b < collection_1.length; _b++) {
|
|
1756
1794
|
var collectionProp = collection_1[_b];
|
|
1757
|
-
if (collectionProp === '
|
|
1795
|
+
if ((collectionProp === 'layerType' && newProp.layers[x].layerType !== 'Geometry') || (isNullOrUndefined(this.layers[x].shapeData)
|
|
1796
|
+
&& !isNullOrUndefined(this.layers[x].urlTemplate) && this.layers[x].urlTemplate !== '')) {
|
|
1797
|
+
this.isReset = true;
|
|
1798
|
+
}
|
|
1799
|
+
else if (collectionProp === 'markerSettings') {
|
|
1758
1800
|
isMarker = true;
|
|
1759
1801
|
}
|
|
1760
1802
|
else if (collectionProp === 'staticMapType') {
|
|
@@ -1768,7 +1810,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1768
1810
|
break;
|
|
1769
1811
|
case 'zoomSettings':
|
|
1770
1812
|
if (!isNullOrUndefined(oldProp.zoomSettings)) {
|
|
1771
|
-
if (newProp.zoomSettings.zoomFactor !== oldProp.zoomSettings.zoomFactor) {
|
|
1813
|
+
if (newProp.zoomSettings.zoomFactor !== oldProp.zoomSettings.zoomFactor && !isLayer) {
|
|
1772
1814
|
render = false;
|
|
1773
1815
|
}
|
|
1774
1816
|
else if (newProp.zoomSettings.shouldZoomInitially !== oldProp.zoomSettings.shouldZoomInitially) {
|
|
@@ -2005,7 +2047,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
2005
2047
|
*/
|
|
2006
2048
|
Maps.prototype.print = function (id) {
|
|
2007
2049
|
if ((this.allowPrint) && (this.printModule)) {
|
|
2008
|
-
this.printModule.print(id);
|
|
2050
|
+
this.printModule.print(this, id);
|
|
2009
2051
|
}
|
|
2010
2052
|
};
|
|
2011
2053
|
/**
|
|
@@ -2024,16 +2066,38 @@ var Maps = /** @class */ (function (_super) {
|
|
|
2024
2066
|
}
|
|
2025
2067
|
if ((type !== 'PDF') && (this.allowImageExport) && (this.imageExportModule)) {
|
|
2026
2068
|
return new Promise(function (resolve, reject) {
|
|
2027
|
-
resolve(_this.imageExportModule.export(type, fileName, allowDownload));
|
|
2069
|
+
resolve(_this.imageExportModule.export(_this, type, fileName, allowDownload));
|
|
2028
2070
|
});
|
|
2029
2071
|
}
|
|
2030
2072
|
else if ((this.allowPdfExport) && (this.pdfExportModule)) {
|
|
2031
2073
|
return new Promise(function (resolve, reject) {
|
|
2032
|
-
resolve(_this.pdfExportModule.export(type, fileName, allowDownload, orientation));
|
|
2074
|
+
resolve(_this.pdfExportModule.export(_this, type, fileName, allowDownload, orientation));
|
|
2033
2075
|
});
|
|
2034
2076
|
}
|
|
2035
2077
|
return null;
|
|
2036
2078
|
};
|
|
2079
|
+
/**
|
|
2080
|
+
* This method is used to get the Bing maps URL.
|
|
2081
|
+
*
|
|
2082
|
+
* @param {string} url - Specifies the URL of the maps.
|
|
2083
|
+
* @returns {Promise<string>} - Returns the processed Bing URL as Promise.
|
|
2084
|
+
*/
|
|
2085
|
+
Maps.prototype.getBingUrlTemplate = function (url) {
|
|
2086
|
+
var promise = new Promise(function (resolve, reject) {
|
|
2087
|
+
var ajax = new Ajax({
|
|
2088
|
+
url: url
|
|
2089
|
+
});
|
|
2090
|
+
ajax.onSuccess = function (json) {
|
|
2091
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2092
|
+
var jsonObject = JSON.parse(json);
|
|
2093
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2094
|
+
var resource = jsonObject['resourceSets'][0]['resources'][0];
|
|
2095
|
+
resolve(resource['imageUrl']);
|
|
2096
|
+
};
|
|
2097
|
+
ajax.send();
|
|
2098
|
+
});
|
|
2099
|
+
return promise;
|
|
2100
|
+
};
|
|
2037
2101
|
/**
|
|
2038
2102
|
* To find visibility of layers and markers for required modules load.
|
|
2039
2103
|
*
|
|
@@ -2242,6 +2306,9 @@ var Maps = /** @class */ (function (_super) {
|
|
|
2242
2306
|
__decorate([
|
|
2243
2307
|
Event()
|
|
2244
2308
|
], Maps.prototype, "click", void 0);
|
|
2309
|
+
__decorate([
|
|
2310
|
+
Event()
|
|
2311
|
+
], Maps.prototype, "onclick", void 0);
|
|
2245
2312
|
__decorate([
|
|
2246
2313
|
Event()
|
|
2247
2314
|
], Maps.prototype, "doubleClick", void 0);
|