@syncfusion/ej2-maps 27.2.2 → 28.1.38
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/.gitleaksignore +3 -3
- package/README.md +2 -2
- package/dist/ej2-maps.min.js +3 -3
- package/dist/ej2-maps.umd.min.js +3 -3
- package/dist/ej2-maps.umd.min.js.map +1 -1
- package/dist/es6/ej2-maps.es2015.js +529 -223
- package/dist/es6/ej2-maps.es2015.js.map +1 -1
- package/dist/es6/ej2-maps.es5.js +539 -232
- package/dist/es6/ej2-maps.es5.js.map +1 -1
- package/dist/global/ej2-maps.min.js +3 -3
- package/dist/global/ej2-maps.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +13 -13
- package/src/maps/layers/layer-panel.js +1 -1
- package/src/maps/layers/legend.js +23 -21
- package/src/maps/layers/marker.d.ts +8 -1
- package/src/maps/layers/marker.js +104 -33
- package/src/maps/maps-model.d.ts +8 -1
- package/src/maps/maps.d.ts +19 -3
- package/src/maps/maps.js +54 -16
- package/src/maps/model/base-model.d.ts +20 -0
- package/src/maps/model/base.d.ts +17 -0
- package/src/maps/model/base.js +9 -0
- package/src/maps/model/constants.d.ts +6 -0
- package/src/maps/model/constants.js +6 -0
- package/src/maps/model/export-image.js +4 -4
- package/src/maps/model/export-pdf.js +4 -4
- package/src/maps/model/interface.d.ts +15 -0
- package/src/maps/model/print.js +2 -2
- package/src/maps/model/theme.js +72 -0
- package/src/maps/user-interaction/tooltip.js +3 -1
- package/src/maps/user-interaction/zoom.d.ts +17 -3
- package/src/maps/user-interaction/zoom.js +156 -105
- package/src/maps/utils/enum.d.ts +4 -0
- package/src/maps/utils/helper.d.ts +4 -9
- package/src/maps/utils/helper.js +102 -46
package/src/maps/maps.js
CHANGED
|
@@ -29,7 +29,7 @@ import { getElement, removeClass, getTranslate, triggerItemSelectionEvent, merge
|
|
|
29
29
|
import { createStyle, getProcessedMarginValue } from './utils/helper';
|
|
30
30
|
import { ZoomSettings, LegendSettings } from './model/base';
|
|
31
31
|
import { LayerSettings, TitleSettings, Border, Margin, MapsAreaSettings, Annotation, CenterPosition } from './model/base';
|
|
32
|
-
import { load, click, onclick, rightClick, doubleClick, resize, shapeSelected, zoomIn } from './model/constants';
|
|
32
|
+
import { load, click, onclick, rightClick, doubleClick, resize, shapeSelected, zoomIn, mouseMove } from './model/constants';
|
|
33
33
|
import { getThemeStyle, Theme } from './model/theme';
|
|
34
34
|
import { LayerPanel } from './layers/layer-panel';
|
|
35
35
|
import { Rect, RectOption, measureText, getElementByID, MapAjax, processResult, getElementsByClassName } from '../maps/utils/helper';
|
|
@@ -67,6 +67,8 @@ var Maps = /** @class */ (function (_super) {
|
|
|
67
67
|
_this.isTileMap = false;
|
|
68
68
|
/**
|
|
69
69
|
* Resize the map
|
|
70
|
+
*
|
|
71
|
+
* @private
|
|
70
72
|
*/
|
|
71
73
|
_this.isResize = false;
|
|
72
74
|
/**
|
|
@@ -663,7 +665,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
663
665
|
}
|
|
664
666
|
}
|
|
665
667
|
if (this.zoomModule && ((this.previousScale !== this.scale) || this.zoomNotApplied || this.isZoomByPosition)) {
|
|
666
|
-
this.zoomModule.applyTransform(this, true);
|
|
668
|
+
this.zoomModule.applyTransform(this, false, true);
|
|
667
669
|
}
|
|
668
670
|
}
|
|
669
671
|
};
|
|
@@ -725,14 +727,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
725
727
|
-(Math.abs(elementOffset.top - layerOffset.top)) : Math.abs(elementOffset.top - layerOffset.top);
|
|
726
728
|
}
|
|
727
729
|
Array.prototype.forEach.call(templateGroupEle.childNodes, function (currentTemplate) {
|
|
728
|
-
if (currentTemplate.id.indexOf('Marker')
|
|
729
|
-
if (currentTemplate.style.visibility !== 'hidden') {
|
|
730
|
-
var elementOffset_1 = getElementByID(currentTemplate.id).getBoundingClientRect();
|
|
731
|
-
currentTemplate.style.left = parseFloat(currentTemplate.style.left) - (_this.isTileMap ? 0 : elementOffset_1.width / 2) + 'px';
|
|
732
|
-
currentTemplate.style.top = parseFloat(currentTemplate.style.top) - (_this.isTileMap ? 0 : elementOffset_1.height / 2) + 'px';
|
|
733
|
-
}
|
|
734
|
-
}
|
|
735
|
-
else {
|
|
730
|
+
if (currentTemplate.id.indexOf('Marker') === -1) {
|
|
736
731
|
currentTemplate.style.left = parseFloat(currentTemplate.style.left) + offSetLetValue + 'px';
|
|
737
732
|
currentTemplate.style.top = parseFloat(currentTemplate.style.top) + offSetTopValue + 'px';
|
|
738
733
|
currentTemplate.style.transform = 'translate(-50%, -50%)';
|
|
@@ -1517,6 +1512,7 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1517
1512
|
// if (target.id.indexOf('shapeIndex') !== -1 && !this.highlightSettings.enable) {
|
|
1518
1513
|
// triggerShapeEvent(target.id, this.highlightSettings, this, shapeHighlight);
|
|
1519
1514
|
// }
|
|
1515
|
+
this.mouseMoveEvent(e);
|
|
1520
1516
|
if (this.markerModule) {
|
|
1521
1517
|
this.markerModule.markerMove(e);
|
|
1522
1518
|
this.markerModule.markerClusterMouseMove(e);
|
|
@@ -1530,6 +1526,34 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1530
1526
|
this.onMouseMove(e);
|
|
1531
1527
|
this.notify(Browser.touchMoveEvent, e);
|
|
1532
1528
|
};
|
|
1529
|
+
/**
|
|
1530
|
+
* To check and trigger mouse move event on maps.
|
|
1531
|
+
*
|
|
1532
|
+
* @param {PointerEvent} e - Specifies the pointer event on maps.
|
|
1533
|
+
* @returns {void}
|
|
1534
|
+
* @private
|
|
1535
|
+
*/
|
|
1536
|
+
Maps.prototype.mouseMoveEvent = function (e) {
|
|
1537
|
+
var targetId = e.target.id;
|
|
1538
|
+
var layerIndex;
|
|
1539
|
+
var eventArgs;
|
|
1540
|
+
if (this.isTileMap) {
|
|
1541
|
+
var latLongValue = this.getTileGeoLocation(e['layerX'], e['layerY']);
|
|
1542
|
+
eventArgs = {
|
|
1543
|
+
x: e.clientX, y: e.clientY, latitude: latLongValue.latitude,
|
|
1544
|
+
longitude: latLongValue.longitude, target: e.target
|
|
1545
|
+
};
|
|
1546
|
+
}
|
|
1547
|
+
else {
|
|
1548
|
+
layerIndex = targetId.indexOf('_LayerIndex_') > -1 ? parseInt(targetId.split('_LayerIndex_')[1].split('_')[0], 10) : this.baseLayerIndex;
|
|
1549
|
+
var latLongValue = this.getGeoLocation(layerIndex, e.clientX, e.clientY);
|
|
1550
|
+
eventArgs = {
|
|
1551
|
+
x: e.clientX, y: e.clientY, latitude: latLongValue.latitude,
|
|
1552
|
+
longitude: latLongValue.longitude, target: e.target
|
|
1553
|
+
};
|
|
1554
|
+
}
|
|
1555
|
+
this.trigger(mouseMove, eventArgs);
|
|
1556
|
+
};
|
|
1533
1557
|
/**
|
|
1534
1558
|
* This method is used to perform operations when mouse move event is performed on maps.
|
|
1535
1559
|
*
|
|
@@ -1760,13 +1784,24 @@ var Maps = /** @class */ (function (_super) {
|
|
|
1760
1784
|
*/
|
|
1761
1785
|
Maps.prototype.addMarker = function (layerIndex, markerCollection) {
|
|
1762
1786
|
if (!this.isDestroyed && !isNullOrUndefined(this.markerModule)) {
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
var
|
|
1767
|
-
|
|
1787
|
+
if (!isNullOrUndefined(layerIndex) && !isNullOrUndefined(markerCollection)) {
|
|
1788
|
+
var layerEle = document.getElementById(this.element.id + '_LayerIndex_' + layerIndex);
|
|
1789
|
+
if (markerCollection.length > 0 && layerEle) {
|
|
1790
|
+
for (var _i = 0, markerCollection_1 = markerCollection; _i < markerCollection_1.length; _i++) {
|
|
1791
|
+
var newMarker = markerCollection_1[_i];
|
|
1792
|
+
this.layersCollection[layerIndex].markerSettings.push(new MarkerSettings(this, 'markerSettings', newMarker));
|
|
1793
|
+
}
|
|
1794
|
+
this.markerModule.markerRender(this, layerEle, layerIndex, this.isTileMap ? this.tileZoomLevel : this.mapLayerPanel['currentFactor'], 'AddMarker');
|
|
1795
|
+
this.arrangeTemplate();
|
|
1796
|
+
}
|
|
1797
|
+
}
|
|
1798
|
+
else {
|
|
1799
|
+
for (var i = 0; i < this.layers.length; i++) {
|
|
1800
|
+
var layerEle = document.getElementById(this.element.id + '_LayerIndex_' + i);
|
|
1801
|
+
this.markerModule.zoomedMarkerCluster[i] = [];
|
|
1802
|
+
this.markerModule.initialMarkerCluster[i] = [];
|
|
1803
|
+
this.markerModule.markerRender(this, layerEle, i, this.isTileMap ? this.tileZoomLevel : this.mapLayerPanel['currentFactor'], null);
|
|
1768
1804
|
}
|
|
1769
|
-
this.markerModule.markerRender(this, layerEle, layerIndex, this.mapLayerPanel['currentFactor'], 'AddMarker');
|
|
1770
1805
|
this.arrangeTemplate();
|
|
1771
1806
|
}
|
|
1772
1807
|
}
|
|
@@ -2761,6 +2796,9 @@ var Maps = /** @class */ (function (_super) {
|
|
|
2761
2796
|
__decorate([
|
|
2762
2797
|
Event()
|
|
2763
2798
|
], Maps.prototype, "markerMouseMove", void 0);
|
|
2799
|
+
__decorate([
|
|
2800
|
+
Event()
|
|
2801
|
+
], Maps.prototype, "mouseMove", void 0);
|
|
2764
2802
|
__decorate([
|
|
2765
2803
|
Event()
|
|
2766
2804
|
], Maps.prototype, "dataLabelRendering", void 0);
|
|
@@ -1760,6 +1760,20 @@ export interface MarkerBaseModel {
|
|
|
1760
1760
|
*/
|
|
1761
1761
|
fill?: string;
|
|
1762
1762
|
|
|
1763
|
+
/**
|
|
1764
|
+
* Gets or sets the field name from the data source that determines the marker height.
|
|
1765
|
+
*
|
|
1766
|
+
* @default null
|
|
1767
|
+
*/
|
|
1768
|
+
heightValuePath?: string;
|
|
1769
|
+
|
|
1770
|
+
/**
|
|
1771
|
+
* Gets or sets the field name from the data source that determines the marker width.
|
|
1772
|
+
*
|
|
1773
|
+
* @default null
|
|
1774
|
+
*/
|
|
1775
|
+
widthValuePath?: string;
|
|
1776
|
+
|
|
1763
1777
|
/**
|
|
1764
1778
|
* Gets or sets the height of the marker in maps.
|
|
1765
1779
|
*
|
|
@@ -1900,6 +1914,12 @@ export interface MarkerBaseModel {
|
|
|
1900
1914
|
*/
|
|
1901
1915
|
initialMarkerSelection?: InitialMarkerSelectionSettingsModel[];
|
|
1902
1916
|
|
|
1917
|
+
/**
|
|
1918
|
+
* Gets or sets the options for customizing the clustering of markers on the map.
|
|
1919
|
+
* This property is used to cluster markers based on the current marker settings, and it is applied only when the `allowClustering` property is enabled.
|
|
1920
|
+
*/
|
|
1921
|
+
clusterSettings?: MarkerClusterSettingsModel;
|
|
1922
|
+
|
|
1903
1923
|
}
|
|
1904
1924
|
|
|
1905
1925
|
/**
|
package/src/maps/model/base.d.ts
CHANGED
|
@@ -1518,6 +1518,18 @@ export declare class MarkerBase extends ChildProperty<MarkerBase> {
|
|
|
1518
1518
|
* @default '#FF471A'
|
|
1519
1519
|
*/
|
|
1520
1520
|
fill: string;
|
|
1521
|
+
/**
|
|
1522
|
+
* Gets or sets the field name from the data source that determines the marker height.
|
|
1523
|
+
*
|
|
1524
|
+
* @default null
|
|
1525
|
+
*/
|
|
1526
|
+
heightValuePath: string;
|
|
1527
|
+
/**
|
|
1528
|
+
* Gets or sets the field name from the data source that determines the marker width.
|
|
1529
|
+
*
|
|
1530
|
+
* @default null
|
|
1531
|
+
*/
|
|
1532
|
+
widthValuePath: string;
|
|
1521
1533
|
/**
|
|
1522
1534
|
* Gets or sets the height of the marker in maps.
|
|
1523
1535
|
*
|
|
@@ -1637,6 +1649,11 @@ export declare class MarkerBase extends ChildProperty<MarkerBase> {
|
|
|
1637
1649
|
* The initial selection of markers will be performed only when the selection functionality of marker is enabled.
|
|
1638
1650
|
*/
|
|
1639
1651
|
initialMarkerSelection: InitialMarkerSelectionSettingsModel[];
|
|
1652
|
+
/**
|
|
1653
|
+
* Gets or sets the options for customizing the clustering of markers on the map.
|
|
1654
|
+
* This property is used to cluster markers based on the current marker settings, and it is applied only when the `allowClustering` property is enabled.
|
|
1655
|
+
*/
|
|
1656
|
+
clusterSettings: MarkerClusterSettingsModel;
|
|
1640
1657
|
}
|
|
1641
1658
|
/**
|
|
1642
1659
|
* Gets or sets the options to customize the markers in the maps.
|
package/src/maps/model/base.js
CHANGED
|
@@ -1069,6 +1069,12 @@ var MarkerBase = /** @class */ (function (_super) {
|
|
|
1069
1069
|
__decorate([
|
|
1070
1070
|
Property('#FF471A')
|
|
1071
1071
|
], MarkerBase.prototype, "fill", void 0);
|
|
1072
|
+
__decorate([
|
|
1073
|
+
Property(null)
|
|
1074
|
+
], MarkerBase.prototype, "heightValuePath", void 0);
|
|
1075
|
+
__decorate([
|
|
1076
|
+
Property(null)
|
|
1077
|
+
], MarkerBase.prototype, "widthValuePath", void 0);
|
|
1072
1078
|
__decorate([
|
|
1073
1079
|
Property(10)
|
|
1074
1080
|
], MarkerBase.prototype, "height", void 0);
|
|
@@ -1132,6 +1138,9 @@ var MarkerBase = /** @class */ (function (_super) {
|
|
|
1132
1138
|
__decorate([
|
|
1133
1139
|
Collection([], InitialMarkerSelectionSettings)
|
|
1134
1140
|
], MarkerBase.prototype, "initialMarkerSelection", void 0);
|
|
1141
|
+
__decorate([
|
|
1142
|
+
Complex({}, MarkerClusterSettings)
|
|
1143
|
+
], MarkerBase.prototype, "clusterSettings", void 0);
|
|
1135
1144
|
return MarkerBase;
|
|
1136
1145
|
}(ChildProperty));
|
|
1137
1146
|
export { MarkerBase };
|
|
@@ -130,6 +130,12 @@ export declare const markerClusterClick: string;
|
|
|
130
130
|
* @private
|
|
131
131
|
*/
|
|
132
132
|
export declare const markerMouseMove: string;
|
|
133
|
+
/**
|
|
134
|
+
* Specifies the maps mouse move event name.
|
|
135
|
+
*
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
export declare const mouseMove: string;
|
|
133
139
|
/**
|
|
134
140
|
* Specifies the maps cluster mouse move event name.
|
|
135
141
|
*
|
|
@@ -130,6 +130,12 @@ export var markerClusterClick = 'markerClusterClick';
|
|
|
130
130
|
* @private
|
|
131
131
|
*/
|
|
132
132
|
export var markerMouseMove = 'markerMouseMove';
|
|
133
|
+
/**
|
|
134
|
+
* Specifies the maps mouse move event name.
|
|
135
|
+
*
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
export var mouseMove = 'mouseMove';
|
|
133
139
|
/**
|
|
134
140
|
* Specifies the maps cluster mouse move event name.
|
|
135
141
|
*
|
|
@@ -41,11 +41,11 @@ var ImageExport = /** @class */ (function () {
|
|
|
41
41
|
var svgObject = getElementByID(maps.element.id + '_svg').cloneNode(true);
|
|
42
42
|
var backgroundElement = svgObject.childNodes[0];
|
|
43
43
|
var backgroundColor = backgroundElement.getAttribute('fill');
|
|
44
|
-
if ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3' || maps.theme === 'Fluent2')
|
|
44
|
+
if ((maps.theme === 'Tailwind' || maps.theme === 'Tailwind3' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3' || maps.theme === 'Fluent2')
|
|
45
45
|
&& (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
|
|
46
46
|
svgObject.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
|
|
47
47
|
}
|
|
48
|
-
else if ((maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark' ||
|
|
48
|
+
else if ((maps.theme === 'TailwindDark' || maps.theme === 'Tailwind3Dark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark' ||
|
|
49
49
|
maps.theme === 'Fluent2Dark' || maps.theme === 'Fluent2HighContrast')
|
|
50
50
|
&& (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
|
|
51
51
|
svgObject.childNodes[0].setAttribute('fill', 'rgba(0, 0, 0, 1)');
|
|
@@ -101,8 +101,8 @@ var ImageExport = /** @class */ (function () {
|
|
|
101
101
|
var tile = document.getElementById(maps.element.id + '_tile_' + (i - 1));
|
|
102
102
|
var exportTileImg = new Image();
|
|
103
103
|
exportTileImg.crossOrigin = 'Anonymous';
|
|
104
|
-
var background = maps.background ? maps.background : ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) ? '#ffffff' :
|
|
105
|
-
(maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent') ? '#000000' : '#ffffff';
|
|
104
|
+
var background = maps.background ? maps.background : ((maps.theme === 'Tailwind' || maps.theme === 'Tailwind3' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) ? '#ffffff' :
|
|
105
|
+
(maps.theme === 'TailwindDark' || maps.theme === 'Tailwind3Dark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent') ? '#000000' : '#ffffff';
|
|
106
106
|
ctxt_1.fillStyle = background;
|
|
107
107
|
ctxt_1.fillRect(0, 0, maps.availableSize.width, maps.availableSize.height);
|
|
108
108
|
ctxt_1.font = maps.titleSettings.textStyle.size + ' Arial';
|
|
@@ -43,12 +43,12 @@ var PdfExport = /** @class */ (function () {
|
|
|
43
43
|
var exportElement = maps.svgObject.cloneNode(true);
|
|
44
44
|
var backgroundElement = exportElement.childNodes[0];
|
|
45
45
|
var backgroundColor = backgroundElement.getAttribute('fill');
|
|
46
|
-
if ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3' ||
|
|
46
|
+
if ((maps.theme === 'Tailwind' || maps.theme === 'Tailwind3' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3' ||
|
|
47
47
|
maps.theme === 'Fluent2')
|
|
48
48
|
&& (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
|
|
49
49
|
exportElement.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
|
|
50
50
|
}
|
|
51
|
-
else if ((maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark' ||
|
|
51
|
+
else if ((maps.theme === 'TailwindDark' || maps.theme === 'Tailwind3Dark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark' ||
|
|
52
52
|
maps.theme === 'Fluent2Dark' || maps.theme === 'Fluent2HighContrast')
|
|
53
53
|
&& (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
|
|
54
54
|
exportElement.childNodes[0].setAttribute('fill', 'rgba(0, 0, 0, 1)');
|
|
@@ -88,8 +88,8 @@ var PdfExport = /** @class */ (function () {
|
|
|
88
88
|
var tile = document.getElementById(maps.element.id + '_tile_' + (i - 1));
|
|
89
89
|
var tileImg = new Image();
|
|
90
90
|
tileImg.crossOrigin = 'Anonymous';
|
|
91
|
-
var background = maps.background ? maps.background : ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) ? '#ffffff' :
|
|
92
|
-
(maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent') ? '#000000' : '#ffffff';
|
|
91
|
+
var background = maps.background ? maps.background : ((maps.theme === 'Tailwind' || maps.theme === 'Tailwind3' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) ? '#ffffff' :
|
|
92
|
+
(maps.theme === 'TailwindDark' || maps.theme === 'Tailwind3Dark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent') ? '#000000' : '#ffffff';
|
|
93
93
|
ctx.fillStyle = background;
|
|
94
94
|
ctx.fillRect(0, 0, maps.availableSize.width, maps.availableSize.height);
|
|
95
95
|
ctx.font = maps.titleSettings.textStyle.size + ' Arial';
|
|
@@ -104,6 +104,21 @@ export interface IMouseEventArgs extends IMapsEventArgs {
|
|
|
104
104
|
/** Specifies whether the shape is selected or not in the maps. */
|
|
105
105
|
isShapeSelected?: boolean;
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Specifies the event arguments for mouseMove event in the Maps.
|
|
109
|
+
*/
|
|
110
|
+
export interface IMouseMoveEventArgs {
|
|
111
|
+
/** Gets the current horizontal position value of the location over which the mouse pointer is moved. */
|
|
112
|
+
x: number;
|
|
113
|
+
/** Gets the current vertical position value of the location over which the mouse pointer is moved. */
|
|
114
|
+
y: number;
|
|
115
|
+
/** Gets the current latitude value of the location over which the mouse pointer is moved. */
|
|
116
|
+
latitude?: number;
|
|
117
|
+
/** Gets the current longitude value of the location over which the mouse pointer is moved. */
|
|
118
|
+
longitude?: number;
|
|
119
|
+
/** Gets the current target element over which the mouse is positioned on the Maps. */
|
|
120
|
+
target?: Element;
|
|
121
|
+
}
|
|
107
122
|
/**
|
|
108
123
|
* Specifies the location using geographical coordinates in maps.
|
|
109
124
|
*/
|
package/src/maps/model/print.js
CHANGED
|
@@ -54,12 +54,12 @@ var Print = /** @class */ (function () {
|
|
|
54
54
|
backgroundElement = backgroundElement.childNodes[0];
|
|
55
55
|
if (!isNullOrUndefined(backgroundElement)) {
|
|
56
56
|
var backgroundColor = backgroundElement.getAttribute('fill');
|
|
57
|
-
if ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3' ||
|
|
57
|
+
if ((maps.theme === 'Tailwind' || maps.theme === 'Tailwind3' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3' ||
|
|
58
58
|
maps.theme === 'Fluent2')
|
|
59
59
|
&& (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
|
|
60
60
|
backgroundElement.setAttribute('fill', 'rgba(255,255,255, 1)');
|
|
61
61
|
}
|
|
62
|
-
else if ((maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark' ||
|
|
62
|
+
else if ((maps.theme === 'TailwindDark' || maps.theme === 'Tailwind3Dark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark' ||
|
|
63
63
|
maps.theme === 'Fluent2Dark' || maps.theme === 'Fluent2HighContrast')
|
|
64
64
|
&& (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
|
|
65
65
|
backgroundElement.setAttribute('fill', 'rgba(0, 0, 0, 1)');
|
package/src/maps/model/theme.js
CHANGED
|
@@ -175,6 +175,12 @@ export function getShapeColor(theme) {
|
|
|
175
175
|
themePalette = ['#10B981', '#22D3EE', '#2DD4BF', '#4ADE80', '#8B5CF6',
|
|
176
176
|
'#E879F9', '#F472B6', '#F87171', '#F97316', '#FCD34D'];
|
|
177
177
|
break;
|
|
178
|
+
case 'tailwind3':
|
|
179
|
+
themePalette = ['#2F4074', '#03B4B4', '#0D72DE', '#FF5733', '#D63384', '#F39C12', '#EF291F', '#91C822'];
|
|
180
|
+
break;
|
|
181
|
+
case 'tailwind3dark':
|
|
182
|
+
themePalette = ['#8029F1', '#1ABC9C', '#0D72DE', '#FF5733', '#D63384', '#F39C12', '#EF291F', '#91C822'];
|
|
183
|
+
break;
|
|
178
184
|
case 'fluent':
|
|
179
185
|
themePalette = ['#614570', '#4C6FB1', '#CC6952', '#3F579A', '#4EA09B',
|
|
180
186
|
'#6E7A89', '#D4515C', '#E6AF5D', '#639751', '#9D4D69'];
|
|
@@ -499,6 +505,72 @@ export function getThemeStyle(theme) {
|
|
|
499
505
|
zoomButtonRadius: 30
|
|
500
506
|
};
|
|
501
507
|
break;
|
|
508
|
+
case 'tailwind3':
|
|
509
|
+
style = {
|
|
510
|
+
backgroundColor: 'rgba(255,255,255, 0.0)',
|
|
511
|
+
areaBackgroundColor: 'rgba(255,255,255, 0.0)',
|
|
512
|
+
titleFontColor: '#111827',
|
|
513
|
+
subTitleFontColor: '#111827',
|
|
514
|
+
legendTitleFontColor: '#111827',
|
|
515
|
+
legendTextColor: '#6B7280',
|
|
516
|
+
dataLabelFontColor: '#111827',
|
|
517
|
+
tooltipFontColor: '#F9FAFB',
|
|
518
|
+
tooltipFillColor: '#111827',
|
|
519
|
+
zoomFillColor: '#374151',
|
|
520
|
+
fontFamily: 'Inter',
|
|
521
|
+
fontSize: '12px',
|
|
522
|
+
fontWeight: '400',
|
|
523
|
+
titleFontSize: '14px',
|
|
524
|
+
legendFontSize: '12px',
|
|
525
|
+
tooltipFillOpacity: 1,
|
|
526
|
+
tooltipTextOpacity: 1,
|
|
527
|
+
labelFontFamily: 'Inter',
|
|
528
|
+
titleFontWeight: '500',
|
|
529
|
+
zoomSelectionColor: '#6B7280',
|
|
530
|
+
shapeFill: '#F3F4F6',
|
|
531
|
+
shapeBorderColor: '#E5E7EB',
|
|
532
|
+
rectangleZoomFillColor: '#818CF8',
|
|
533
|
+
rectangleZoomFillOpacity: 0.3,
|
|
534
|
+
rectangleZoomBorderColor: '#4F46E5',
|
|
535
|
+
legendBorderColor: '#E5E7EB',
|
|
536
|
+
legendBorderWidth: 0,
|
|
537
|
+
tooltipBorderColor: '#111827',
|
|
538
|
+
zoomButtonRadius: 32
|
|
539
|
+
};
|
|
540
|
+
break;
|
|
541
|
+
case 'tailwind3dark':
|
|
542
|
+
style = {
|
|
543
|
+
backgroundColor: 'rgba(255,255,255, 0.0)',
|
|
544
|
+
areaBackgroundColor: 'rgba(255,255,255, 0.0)',
|
|
545
|
+
titleFontColor: '#FFFFFF',
|
|
546
|
+
subTitleFontColor: '#FFFFFF',
|
|
547
|
+
legendTitleFontColor: '#FFFFFF',
|
|
548
|
+
legendTextColor: '#9CA3AF',
|
|
549
|
+
dataLabelFontColor: '#FFFFFF',
|
|
550
|
+
tooltipFontColor: '#1F2937',
|
|
551
|
+
tooltipFillColor: '#F9FAFB',
|
|
552
|
+
zoomFillColor: '#D1D5DB',
|
|
553
|
+
fontFamily: 'Inter',
|
|
554
|
+
fontSize: '12px',
|
|
555
|
+
fontWeight: '400',
|
|
556
|
+
titleFontSize: '14px',
|
|
557
|
+
legendFontSize: '12px',
|
|
558
|
+
tooltipFillOpacity: 1,
|
|
559
|
+
tooltipTextOpacity: 1,
|
|
560
|
+
labelFontFamily: 'Inter',
|
|
561
|
+
titleFontWeight: '600',
|
|
562
|
+
zoomSelectionColor: '#9CA3AF',
|
|
563
|
+
shapeFill: '#282F3C',
|
|
564
|
+
shapeBorderColor: '#282F3C',
|
|
565
|
+
rectangleZoomFillColor: '#3730A3',
|
|
566
|
+
rectangleZoomFillOpacity: 0.3,
|
|
567
|
+
rectangleZoomBorderColor: '#6366F1',
|
|
568
|
+
legendBorderColor: '#282F3C',
|
|
569
|
+
legendBorderWidth: 0,
|
|
570
|
+
tooltipBorderColor: '#F9FAFB',
|
|
571
|
+
zoomButtonRadius: 30
|
|
572
|
+
};
|
|
573
|
+
break;
|
|
502
574
|
case 'bootstrap5':
|
|
503
575
|
style = {
|
|
504
576
|
backgroundColor: 'transparent',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tooltipRender } from '../index';
|
|
2
2
|
import { Tooltip } from '@syncfusion/ej2-svg-base';
|
|
3
3
|
import { createElement, Browser, isNullOrUndefined, extend, remove } from '@syncfusion/ej2-base';
|
|
4
|
-
import { getMousePosition, Internalize, checkPropertyPath, getValueFromObject, formatValue, convertStringToValue } from '../utils/helper';
|
|
4
|
+
import { getMousePosition, Internalize, checkPropertyPath, getValueFromObject, formatValue, convertStringToValue, removeElement } from '../utils/helper';
|
|
5
5
|
/**
|
|
6
6
|
* Map Tooltip
|
|
7
7
|
*/
|
|
@@ -495,6 +495,8 @@ var MapsTooltip = /** @class */ (function () {
|
|
|
495
495
|
MapsTooltip.prototype.destroy = function () {
|
|
496
496
|
if (!isNullOrUndefined(this.svgTooltip)) {
|
|
497
497
|
this.svgTooltip.destroy();
|
|
498
|
+
this.svgTooltip.controlInstance = null;
|
|
499
|
+
removeElement(this.maps.element.id + '_mapsTooltip');
|
|
498
500
|
}
|
|
499
501
|
this.svgTooltip = null;
|
|
500
502
|
this.maps = null;
|
|
@@ -84,10 +84,11 @@ export declare class Zoom {
|
|
|
84
84
|
* @param {Point} position - Specifies the position.
|
|
85
85
|
* @param {number} newZoomFactor - Specifies the zoom factor.
|
|
86
86
|
* @param {string} type - Specifies the type.
|
|
87
|
+
* @param {boolean} isMouseWheel - Indicates whether the zoom operation was triggered by the mouse wheel.
|
|
87
88
|
* @returns {void}
|
|
88
89
|
* @private
|
|
89
90
|
*/
|
|
90
|
-
performZooming(position: Point, newZoomFactor: number, type: string): void;
|
|
91
|
+
performZooming(position: Point, newZoomFactor: number, type: string, isMouseWheel?: boolean): void;
|
|
91
92
|
private calculateInitalZoomTranslatePoint;
|
|
92
93
|
private triggerZoomEvent;
|
|
93
94
|
private getTileTranslatePosition;
|
|
@@ -124,12 +125,13 @@ export declare class Zoom {
|
|
|
124
125
|
private animateTransform;
|
|
125
126
|
/**
|
|
126
127
|
* @param {Maps} maps - Specifies the Map control
|
|
128
|
+
* @param {boolean} isMouseWheel - Indicates whether the zoom operation was triggered by the mouse wheel.
|
|
127
129
|
* @param {boolean} animate - Specifies the animation is available or not
|
|
128
130
|
* @param {boolean} isPanning - Specifies that it is panning or not
|
|
129
131
|
* @returns {void}
|
|
130
132
|
* @private
|
|
131
133
|
*/
|
|
132
|
-
applyTransform(maps: Maps, animate?: boolean, isPanning?: boolean): void;
|
|
134
|
+
applyTransform(maps: Maps, isMouseWheel?: boolean, animate?: boolean, isPanning?: boolean): void;
|
|
133
135
|
private markerTranslates;
|
|
134
136
|
/**
|
|
135
137
|
* To translate the layer template elements.
|
|
@@ -143,7 +145,19 @@ export declare class Zoom {
|
|
|
143
145
|
*/
|
|
144
146
|
processTemplate(x: number, y: number, scale: number, maps: Maps): void;
|
|
145
147
|
private dataLabelTranslate;
|
|
146
|
-
|
|
148
|
+
/**
|
|
149
|
+
*
|
|
150
|
+
* @param {Element | HTMLElement} element - Specifies the marker element.
|
|
151
|
+
* @param {number} factor - Specifies scale factor.
|
|
152
|
+
* @param {number} x - Specifies the x location of the marker element.
|
|
153
|
+
* @param {number} y - Specifies the y location of the marker element.
|
|
154
|
+
* @param {number} scale - Specifies scale factor.
|
|
155
|
+
* @param {number} type - Specifies the type of the marker processing.
|
|
156
|
+
* @param {number} animate - Specifies whether the animation is enabled or not.
|
|
157
|
+
* @returns {void}
|
|
158
|
+
* @private
|
|
159
|
+
*/
|
|
160
|
+
markerTranslate(element: Element | HTMLElement, factor: number, x: number, y: number, scale: number, type: string, animate?: boolean): void;
|
|
147
161
|
private markerLineAnimation;
|
|
148
162
|
/**
|
|
149
163
|
* @param {PanDirection} direction - Specifies the direction of the panning.
|