@antv/l7-component 2.25.7 → 2.25.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/es/assets/iconfont/iconfont.d.ts +21 -0
  2. package/es/assets/iconfont/iconfont.js +61 -0
  3. package/es/constants/index.d.ts +60 -0
  4. package/es/constants/index.js +60 -0
  5. package/es/control/baseControl/buttonControl.d.ts +60 -0
  6. package/es/control/baseControl/buttonControl.js +142 -0
  7. package/es/control/baseControl/control.d.ts +112 -0
  8. package/es/control/baseControl/control.js +256 -0
  9. package/es/control/baseControl/index.d.ts +4 -0
  10. package/es/control/baseControl/index.js +4 -0
  11. package/es/control/baseControl/popperControl.d.ts +28 -0
  12. package/es/control/baseControl/popperControl.js +92 -0
  13. package/es/control/baseControl/selectControl.d.ts +53 -0
  14. package/es/control/baseControl/selectControl.js +173 -0
  15. package/es/control/exportImage.d.ts +19 -0
  16. package/es/control/exportImage.js +73 -0
  17. package/es/control/fullscreen.d.ts +20 -0
  18. package/es/control/fullscreen.js +88 -0
  19. package/es/control/geoLocate.d.ts +17 -0
  20. package/es/control/geoLocate.js +60 -0
  21. package/es/control/layerSwitch.d.ts +27 -0
  22. package/es/control/layerSwitch.js +155 -0
  23. package/es/control/logo.d.ts +14 -0
  24. package/es/control/logo.js +49 -0
  25. package/es/control/mapTheme.d.ts +11 -0
  26. package/es/control/mapTheme.js +69 -0
  27. package/es/control/mouseLocation.d.ts +16 -0
  28. package/es/control/mouseLocation.js +52 -0
  29. package/es/control/scale.d.ts +35 -0
  30. package/es/control/scale.js +121 -0
  31. package/es/control/swipe.d.ts +66 -0
  32. package/es/control/swipe.js +392 -0
  33. package/es/control/zoom.d.ts +39 -0
  34. package/es/control/zoom.js +100 -0
  35. package/es/css/button.less +77 -0
  36. package/es/css/control.less +82 -0
  37. package/es/css/index.css +653 -0
  38. package/es/css/index.less +13 -0
  39. package/es/css/l7.less +69 -0
  40. package/es/css/layerPopup.less +9 -0
  41. package/es/css/logo.less +21 -0
  42. package/es/css/mouseLocation.less +9 -0
  43. package/es/css/popper.less +74 -0
  44. package/es/css/popup.less +176 -0
  45. package/es/css/scale.less +37 -0
  46. package/es/css/select.less +96 -0
  47. package/es/css/swipe.less +80 -0
  48. package/es/css/variables.less +29 -0
  49. package/es/css/zoom.less +34 -0
  50. package/es/images/layers.png +0 -0
  51. package/es/images/layers.svg +1 -0
  52. package/es/images/logo.png +0 -0
  53. package/es/images/quanping.svg +12 -0
  54. package/es/index.d.ts +19 -0
  55. package/es/index.js +717 -0
  56. package/es/interface.d.ts +29 -0
  57. package/es/interface.js +1 -0
  58. package/es/marker-layer.d.ts +46 -0
  59. package/es/marker-layer.js +509 -0
  60. package/es/marker.d.ts +66 -0
  61. package/es/marker.js +495 -0
  62. package/es/popup/layerPopup.d.ts +105 -0
  63. package/es/popup/layerPopup.js +341 -0
  64. package/es/popup/popup.d.ts +147 -0
  65. package/es/popup/popup.js +587 -0
  66. package/es/utils/anchor.d.ts +22 -0
  67. package/es/utils/anchor.js +31 -0
  68. package/es/utils/eventManager.d.ts +42 -0
  69. package/es/utils/eventManager.js +84 -0
  70. package/es/utils/icon.d.ts +1 -0
  71. package/es/utils/icon.js +12 -0
  72. package/es/utils/popper.d.ts +76 -0
  73. package/es/utils/popper.js +257 -0
  74. package/es/utils/screenfull.d.ts +2 -0
  75. package/es/utils/screenfull.js +106 -0
  76. package/lib/assets/iconfont/iconfont.d.ts +21 -0
  77. package/lib/assets/iconfont/iconfont.js +68 -0
  78. package/lib/constants/index.d.ts +60 -0
  79. package/lib/constants/index.js +66 -0
  80. package/lib/control/baseControl/buttonControl.d.ts +60 -0
  81. package/lib/control/baseControl/buttonControl.js +149 -0
  82. package/lib/control/baseControl/control.d.ts +112 -0
  83. package/lib/control/baseControl/control.js +269 -0
  84. package/lib/control/baseControl/index.d.ts +4 -0
  85. package/lib/control/baseControl/index.js +39 -0
  86. package/lib/control/baseControl/popperControl.d.ts +28 -0
  87. package/lib/control/baseControl/popperControl.js +99 -0
  88. package/lib/control/baseControl/selectControl.d.ts +53 -0
  89. package/lib/control/baseControl/selectControl.js +180 -0
  90. package/lib/control/exportImage.d.ts +19 -0
  91. package/lib/control/exportImage.js +80 -0
  92. package/lib/control/fullscreen.d.ts +20 -0
  93. package/lib/control/fullscreen.js +95 -0
  94. package/lib/control/geoLocate.d.ts +17 -0
  95. package/lib/control/geoLocate.js +67 -0
  96. package/lib/control/layerSwitch.d.ts +27 -0
  97. package/lib/control/layerSwitch.js +162 -0
  98. package/lib/control/logo.d.ts +14 -0
  99. package/lib/control/logo.js +55 -0
  100. package/lib/control/mapTheme.d.ts +11 -0
  101. package/lib/control/mapTheme.js +76 -0
  102. package/lib/control/mouseLocation.d.ts +16 -0
  103. package/lib/control/mouseLocation.js +59 -0
  104. package/lib/control/scale.d.ts +35 -0
  105. package/lib/control/scale.js +128 -0
  106. package/lib/control/swipe.d.ts +66 -0
  107. package/lib/control/swipe.js +399 -0
  108. package/lib/control/zoom.d.ts +39 -0
  109. package/lib/control/zoom.js +107 -0
  110. package/lib/css/button.less +77 -0
  111. package/lib/css/control.less +82 -0
  112. package/lib/css/index.css +653 -0
  113. package/lib/css/index.less +13 -0
  114. package/lib/css/l7.less +69 -0
  115. package/lib/css/layerPopup.less +9 -0
  116. package/lib/css/logo.less +21 -0
  117. package/lib/css/mouseLocation.less +9 -0
  118. package/lib/css/popper.less +74 -0
  119. package/lib/css/popup.less +176 -0
  120. package/lib/css/scale.less +37 -0
  121. package/lib/css/select.less +96 -0
  122. package/lib/css/swipe.less +80 -0
  123. package/lib/css/variables.less +29 -0
  124. package/lib/css/zoom.less +34 -0
  125. package/lib/images/layers.png +0 -0
  126. package/lib/images/layers.svg +1 -0
  127. package/lib/images/logo.png +0 -0
  128. package/lib/images/quanping.svg +12 -0
  129. package/lib/index.d.ts +19 -0
  130. package/lib/index.js +844 -0
  131. package/lib/interface.d.ts +29 -0
  132. package/lib/interface.js +5 -0
  133. package/lib/marker-layer.d.ts +46 -0
  134. package/lib/marker-layer.js +518 -0
  135. package/lib/marker.d.ts +66 -0
  136. package/lib/marker.js +502 -0
  137. package/lib/popup/layerPopup.d.ts +105 -0
  138. package/lib/popup/layerPopup.js +348 -0
  139. package/lib/popup/popup.d.ts +147 -0
  140. package/lib/popup/popup.js +594 -0
  141. package/lib/utils/anchor.d.ts +22 -0
  142. package/lib/utils/anchor.js +38 -0
  143. package/lib/utils/eventManager.d.ts +42 -0
  144. package/lib/utils/eventManager.js +92 -0
  145. package/lib/utils/icon.d.ts +1 -0
  146. package/lib/utils/icon.js +19 -0
  147. package/lib/utils/popper.d.ts +76 -0
  148. package/lib/utils/popper.js +264 -0
  149. package/lib/utils/screenfull.d.ts +2 -0
  150. package/lib/utils/screenfull.js +112 -0
  151. package/package.json +5 -5
@@ -0,0 +1,39 @@
1
+ import { PositionType } from '@antv/l7-core';
2
+ import { DOM } from '@antv/l7-utils';
3
+ import type { IControlOption } from './baseControl';
4
+ import { Control } from './baseControl';
5
+ export interface IZoomControlOption extends IControlOption {
6
+ zoomInText: DOM.ELType | string;
7
+ zoomInTitle: string;
8
+ zoomOutText: DOM.ELType | string;
9
+ zoomOutTitle: string;
10
+ showZoom: boolean;
11
+ }
12
+ export { Zoom };
13
+ export default class Zoom extends Control<IZoomControlOption> {
14
+ private disabled;
15
+ private zoomInButton;
16
+ private zoomOutButton;
17
+ private zoomNumDiv;
18
+ getDefault(option: Partial<IZoomControlOption>): {
19
+ position: PositionType;
20
+ name: string;
21
+ zoomInText: SVGSVGElement;
22
+ zoomInTitle: string;
23
+ zoomOutText: SVGSVGElement;
24
+ zoomOutTitle: string;
25
+ showZoom: boolean;
26
+ className?: string | undefined;
27
+ style?: string | undefined;
28
+ };
29
+ setOptions(newOptions: Partial<IZoomControlOption>): void;
30
+ onAdd(): HTMLElement;
31
+ onRemove(): void;
32
+ disable(): this;
33
+ enable(): this;
34
+ zoomIn: () => void;
35
+ zoomOut: () => void;
36
+ private resetButtonGroup;
37
+ private createButton;
38
+ private updateDisabled;
39
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.Zoom = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _l7Core = require("@antv/l7-core");
11
+ var _l7Utils = require("@antv/l7-utils");
12
+ var _icon = require("../utils/icon");
13
+ var _baseControl = require("./baseControl");
14
+ class Zoom extends _baseControl.Control {
15
+ constructor(...args) {
16
+ super(...args);
17
+ (0, _defineProperty2.default)(this, "disabled", void 0);
18
+ (0, _defineProperty2.default)(this, "zoomInButton", void 0);
19
+ (0, _defineProperty2.default)(this, "zoomOutButton", void 0);
20
+ (0, _defineProperty2.default)(this, "zoomNumDiv", void 0);
21
+ (0, _defineProperty2.default)(this, "zoomIn", () => {
22
+ if (!this.disabled && this.mapsService.getZoom() < this.mapsService.getMaxZoom()) {
23
+ this.mapsService.zoomIn();
24
+ }
25
+ });
26
+ (0, _defineProperty2.default)(this, "zoomOut", () => {
27
+ if (!this.disabled && this.mapsService.getZoom() > this.mapsService.getMinZoom()) {
28
+ this.mapsService.zoomOut();
29
+ }
30
+ });
31
+ (0, _defineProperty2.default)(this, "updateDisabled", () => {
32
+ const mapsService = this.mapsService;
33
+ this.zoomInButton.removeAttribute('disabled');
34
+ this.zoomOutButton.removeAttribute('disabled');
35
+ if (this.disabled || mapsService.getZoom() <= mapsService.getMinZoom()) {
36
+ this.zoomOutButton.setAttribute('disabled', 'true');
37
+ }
38
+ if (this.controlOption.showZoom && this.zoomNumDiv) {
39
+ this.zoomNumDiv.innerText = String(Math.floor(mapsService.getZoom()));
40
+ }
41
+ if (this.disabled || mapsService.getZoom() >= mapsService.getMaxZoom()) {
42
+ this.zoomInButton.setAttribute('disabled', 'true');
43
+ }
44
+ });
45
+ }
46
+ getDefault(option) {
47
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, super.getDefault(option)), {}, {
48
+ position: _l7Core.PositionType.BOTTOMRIGHT,
49
+ name: 'zoom',
50
+ zoomInText: (0, _icon.createL7Icon)('l7-icon-enlarge'),
51
+ zoomInTitle: 'Zoom in',
52
+ zoomOutText: (0, _icon.createL7Icon)('l7-icon-narrow'),
53
+ zoomOutTitle: 'Zoom out',
54
+ showZoom: false
55
+ });
56
+ }
57
+ setOptions(newOptions) {
58
+ super.setOptions(newOptions);
59
+ if (this.checkUpdateOption(newOptions, ['zoomInText', 'zoomInTitle', 'zoomOutText', 'zoomOutTitle', 'showZoom'])) {
60
+ this.resetButtonGroup(this.container);
61
+ }
62
+ }
63
+ onAdd() {
64
+ const container = _l7Utils.DOM.create('div', 'l7-control-zoom');
65
+ this.resetButtonGroup(container);
66
+ this.mapsService.on('zoomend', this.updateDisabled);
67
+ this.mapsService.on('zoomchange', this.updateDisabled);
68
+ return container;
69
+ }
70
+ onRemove() {
71
+ this.mapsService.off('zoomend', this.updateDisabled);
72
+ this.mapsService.off('zoomchange', this.updateDisabled);
73
+ }
74
+ disable() {
75
+ this.disabled = true;
76
+ this.updateDisabled();
77
+ return this;
78
+ }
79
+ enable() {
80
+ this.disabled = false;
81
+ this.updateDisabled();
82
+ return this;
83
+ }
84
+ resetButtonGroup(container) {
85
+ _l7Utils.DOM.clearChildren(container);
86
+ this.zoomInButton = this.createButton(this.controlOption.zoomInText, this.controlOption.zoomInTitle, 'l7-button-control', container, this.zoomIn);
87
+ if (this.controlOption.showZoom) {
88
+ this.zoomNumDiv = this.createButton('0', '', 'l7-button-control l7-control-zoom__number', container);
89
+ }
90
+ this.zoomOutButton = this.createButton(this.controlOption.zoomOutText, this.controlOption.zoomOutTitle, 'l7-button-control', container, this.zoomOut);
91
+ this.updateDisabled();
92
+ }
93
+ createButton(html, tile, className, container, fn) {
94
+ const link = _l7Utils.DOM.create('button', className, container);
95
+ if (typeof html === 'string') {
96
+ link.innerHTML = html;
97
+ } else {
98
+ link.append(html);
99
+ }
100
+ link.title = tile;
101
+ if (fn) {
102
+ link.addEventListener('click', fn);
103
+ }
104
+ return link;
105
+ }
106
+ }
107
+ exports.default = exports.Zoom = Zoom;
@@ -0,0 +1,77 @@
1
+ @import url('variables.less');
2
+
3
+ .l7-button-control {
4
+ min-width: @l7-btn-control-size;
5
+ height: @l7-btn-control-size;
6
+ background-color: @l7-control-bg-color;
7
+ border-width: 0;
8
+ border-radius: @l7-btn-control-border-radius;
9
+ outline: 0;
10
+ cursor: pointer;
11
+ transition: all 0.2s;
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ padding: 0 ((@l7-btn-control-size - @l7-btn-icon-size) / 2);
16
+ box-shadow: @l7-control-shadow;
17
+ line-height: 16px;
18
+
19
+ .l7-iconfont {
20
+ fill: @l7-control-font-color;
21
+ color: @l7-control-font-color;
22
+ width: @l7-btn-icon-size;
23
+ height: @l7-btn-icon-size;
24
+ }
25
+
26
+ &.l7-button-control--row {
27
+ padding: 0 16px 0 13px;
28
+
29
+ * + .l7-button-control__text {
30
+ margin-left: 8px;
31
+ }
32
+ }
33
+
34
+ &.l7-button-control--column {
35
+ height: @l7-btn-column-height;
36
+ flex-direction: column;
37
+
38
+ .l7-iconfont {
39
+ margin-top: 3px;
40
+ }
41
+
42
+ .l7-button-control__text {
43
+ margin-top: 3px;
44
+ font-size: 10px;
45
+ transform: scale(0.83333);
46
+ }
47
+ }
48
+
49
+ &:not(:disabled) {
50
+ &:hover {
51
+ background-color: @l7-btn-control-bg-hover-color;
52
+ }
53
+
54
+ &:active {
55
+ background-color: @l7-btn-control-bg-active-color;
56
+ }
57
+ }
58
+
59
+ &:disabled {
60
+ background-color: @l7-btn-control-disabled-bg-color;
61
+ color: @l7-btn-control-disabled-font-color;
62
+ cursor: not-allowed;
63
+
64
+ .l7-iconfont {
65
+ fill: @l7-btn-control-disabled-font-color;
66
+ color: @l7-btn-control-disabled-font-color;
67
+ }
68
+
69
+ &:hover {
70
+ background-color: @l7-btn-control-disabled-bg-color;
71
+ }
72
+
73
+ &:active {
74
+ background-color: @l7-btn-control-disabled-bg-color;
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,82 @@
1
+ @import url('variables.less');
2
+
3
+ .l7-control-container {
4
+ font:
5
+ 12px/1.5 'Helvetica Neue',
6
+ Arial,
7
+ Helvetica,
8
+ sans-serif;
9
+
10
+ .l7-control {
11
+ position: relative;
12
+ z-index: @l7-control-z-index;
13
+ float: left;
14
+ clear: both;
15
+ color: @l7-control-font-color;
16
+ font-size: @l7-control-font-size;
17
+ pointer-events: visiblepainted; /* IE 9-10 doesn't have auto */
18
+ pointer-events: auto;
19
+
20
+ &.l7-control--hide {
21
+ display: none;
22
+ }
23
+ }
24
+
25
+ each(@position-list,{
26
+ .l7-@{value} {
27
+ @{value}: 0;
28
+ display: flex;
29
+ position: absolute;
30
+ z-index: @l7-control-z-index;
31
+ pointer-events: none;
32
+ .l7-control:not(.l7-control--hide) {
33
+ margin-@{value}: @l7-control-space;
34
+ }
35
+ }
36
+ });
37
+
38
+ .l7-center {
39
+ position: absolute;
40
+ display: flex;
41
+ justify-content: center;
42
+
43
+ &.l7-top,
44
+ &.l7-bottom {
45
+ width: 100%;
46
+ }
47
+
48
+ &.l7-left,
49
+ &.l7-right {
50
+ height: 100%;
51
+ }
52
+
53
+ .l7-control {
54
+ margin-right: @l7-control-space;
55
+ margin-bottom: @l7-control-space;
56
+ }
57
+ }
58
+
59
+ .l7-row {
60
+ flex-direction: row;
61
+
62
+ &.l7-top {
63
+ align-items: flex-start;
64
+ }
65
+
66
+ &.l7-bottom {
67
+ align-items: flex-end;
68
+ }
69
+ }
70
+
71
+ .l7-column {
72
+ flex-direction: column;
73
+
74
+ &.l7-left {
75
+ align-items: flex-start;
76
+ }
77
+
78
+ &.l7-right {
79
+ align-items: flex-end;
80
+ }
81
+ }
82
+ }