ol-wfst 4.4.0 → 5.1.0

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 (102) hide show
  1. package/README.md +191 -175
  2. package/dist/@types.d.ts +15 -1
  3. package/dist/@types.d.ts.map +1 -1
  4. package/dist/Geoserver.d.ts +6 -4
  5. package/dist/Geoserver.d.ts.map +1 -1
  6. package/dist/WfsLayer.d.ts +8 -2
  7. package/dist/WfsLayer.d.ts.map +1 -1
  8. package/dist/WmsLayer.d.ts +32 -2
  9. package/dist/WmsLayer.d.ts.map +1 -1
  10. package/dist/css/ol-wfst.bootstrap5.css +102 -90
  11. package/dist/css/ol-wfst.bootstrap5.min.css +1 -1
  12. package/dist/css/ol-wfst.css +563 -149
  13. package/dist/css/ol-wfst.min.css +1 -1
  14. package/dist/defaults.d.ts.map +1 -1
  15. package/dist/jsx-runtime.d.ts +4 -0
  16. package/dist/jsx-runtime.d.ts.map +1 -0
  17. package/dist/modules/EditControlChanges.d.ts +2 -1
  18. package/dist/modules/EditControlChanges.d.ts.map +1 -1
  19. package/dist/modules/EditFieldsModal.d.ts +23 -4
  20. package/dist/modules/EditFieldsModal.d.ts.map +1 -1
  21. package/dist/modules/EditOverlay.d.ts +1 -1
  22. package/dist/modules/EditOverlay.d.ts.map +1 -1
  23. package/dist/modules/ExtendLineOverlay.d.ts +12 -0
  24. package/dist/modules/ExtendLineOverlay.d.ts.map +1 -0
  25. package/dist/modules/LayersControl.d.ts +8 -1
  26. package/dist/modules/LayersControl.d.ts.map +1 -1
  27. package/dist/modules/QueryOverlay.d.ts +21 -0
  28. package/dist/modules/QueryOverlay.d.ts.map +1 -0
  29. package/dist/modules/base/BaseLayer.d.ts +7 -3
  30. package/dist/modules/base/BaseLayer.d.ts.map +1 -1
  31. package/dist/modules/base/WfsSource.d.ts.map +1 -1
  32. package/dist/modules/editLayer.d.ts.map +1 -1
  33. package/dist/modules/errors.d.ts +1 -1
  34. package/dist/modules/errors.d.ts.map +1 -1
  35. package/dist/modules/helpers.d.ts.map +1 -1
  36. package/dist/modules/i18n/en.d.ts.map +1 -1
  37. package/dist/modules/i18n/es.d.ts.map +1 -1
  38. package/dist/modules/i18n/index.d.ts.map +1 -1
  39. package/dist/modules/i18n/zh.d.ts.map +1 -1
  40. package/dist/modules/loading.d.ts.map +1 -1
  41. package/dist/modules/state.d.ts +9 -1
  42. package/dist/modules/state.d.ts.map +1 -1
  43. package/dist/modules/styleFunction.d.ts +36 -3
  44. package/dist/modules/styleFunction.d.ts.map +1 -1
  45. package/dist/ol-wfst.d.ts +251 -5
  46. package/dist/ol-wfst.d.ts.map +1 -1
  47. package/dist/ol-wfst.js +2008 -391
  48. package/dist/ol-wfst.js.map +1 -1
  49. package/dist/ol-wfst.min.js +3 -3
  50. package/dist/ol-wfst.min.js.map +1 -1
  51. package/lib/@types.d.ts +15 -1
  52. package/lib/@types.d.ts.map +1 -1
  53. package/lib/Geoserver.d.ts +6 -4
  54. package/lib/Geoserver.d.ts.map +1 -1
  55. package/lib/WfsLayer.d.ts +8 -2
  56. package/lib/WfsLayer.d.ts.map +1 -1
  57. package/lib/WmsLayer.d.ts +32 -2
  58. package/lib/WmsLayer.d.ts.map +1 -1
  59. package/lib/defaults.d.ts.map +1 -1
  60. package/lib/jsx-runtime.d.ts +4 -0
  61. package/lib/jsx-runtime.d.ts.map +1 -0
  62. package/lib/modules/EditControlChanges.d.ts +2 -1
  63. package/lib/modules/EditControlChanges.d.ts.map +1 -1
  64. package/lib/modules/EditFieldsModal.d.ts +23 -4
  65. package/lib/modules/EditFieldsModal.d.ts.map +1 -1
  66. package/lib/modules/EditOverlay.d.ts +1 -1
  67. package/lib/modules/EditOverlay.d.ts.map +1 -1
  68. package/lib/modules/ExtendLineOverlay.d.ts +12 -0
  69. package/lib/modules/ExtendLineOverlay.d.ts.map +1 -0
  70. package/lib/modules/LayersControl.d.ts +8 -1
  71. package/lib/modules/LayersControl.d.ts.map +1 -1
  72. package/lib/modules/QueryOverlay.d.ts +21 -0
  73. package/lib/modules/QueryOverlay.d.ts.map +1 -0
  74. package/lib/modules/base/BaseLayer.d.ts +7 -3
  75. package/lib/modules/base/BaseLayer.d.ts.map +1 -1
  76. package/lib/modules/base/WfsSource.d.ts.map +1 -1
  77. package/lib/modules/editLayer.d.ts.map +1 -1
  78. package/lib/modules/errors.d.ts +1 -1
  79. package/lib/modules/errors.d.ts.map +1 -1
  80. package/lib/modules/helpers.d.ts.map +1 -1
  81. package/lib/modules/i18n/en.d.ts.map +1 -1
  82. package/lib/modules/i18n/es.d.ts.map +1 -1
  83. package/lib/modules/i18n/index.d.ts.map +1 -1
  84. package/lib/modules/i18n/zh.d.ts.map +1 -1
  85. package/lib/modules/loading.d.ts.map +1 -1
  86. package/lib/modules/state.d.ts +9 -1
  87. package/lib/modules/state.d.ts.map +1 -1
  88. package/lib/modules/styleFunction.d.ts +36 -3
  89. package/lib/modules/styleFunction.d.ts.map +1 -1
  90. package/lib/ol-wfst.d.ts +251 -5
  91. package/lib/ol-wfst.d.ts.map +1 -1
  92. package/lib/ol-wfst.js +2013 -392
  93. package/lib/ol-wfst.js.map +1 -1
  94. package/lib/style/css/ol-gisify.css +563 -149
  95. package/lib/style/css/ol-wfst.bootstrap5.css +102 -90
  96. package/lib/style/scss/_variables.scss +2 -1
  97. package/lib/style/scss/ol-wfst.scss +728 -213
  98. package/package.json +3 -3
  99. package/dist/myPragma.d.ts +0 -2
  100. package/dist/myPragma.d.ts.map +0 -1
  101. package/lib/myPragma.d.ts +0 -2
  102. package/lib/myPragma.d.ts.map +0 -1
@@ -1,29 +1,54 @@
1
- .ol-wfst--input-field-container {
2
- display: inline-block;
3
- width: 49%;
4
- padding: 5px;
5
- margin-bottom: 10px;
1
+ .ol-wfst--map {
2
+ --ol-subtle-background-color: transparent;
6
3
  }
7
-
8
- .ol-wfst--input-field-label {
9
- display: block;
10
- font-weight: 500;
11
- margin-bottom: 4px;
4
+ .ol-wfst--map .ol-control button {
5
+ cursor: pointer;
12
6
  }
13
-
14
- .ol-wfst--input-field-input {
15
- width: 100%;
16
- padding: 5px;
17
- border: 1px solid black;
18
- border-radius: 3px;
7
+ .ol-wfst--map .ol-control.ol-zoom {
8
+ top: inherit;
9
+ left: inherit;
10
+ bottom: 5em;
11
+ right: 0.5em;
12
+ }
13
+ .ol-wfst--map .ol-control.ol-wfst--fullscreen {
14
+ top: auto;
15
+ left: auto;
16
+ right: 0.5em;
17
+ bottom: 18px;
18
+ }
19
+ .ol-wfst--map .ol-control.ol-wfst--fullscreen button {
20
+ background: #fff;
21
+ border-radius: 8px;
22
+ outline: 0;
23
+ width: 32px;
24
+ height: 32px;
25
+ display: -webkit-inline-flex;
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ padding: 0;
19
30
  }
20
-
21
- .ol-wfst--edit-button-cnt {
31
+ .ol-wfst--map .ol-control.ol-wfst--fullscreen button svg {
32
+ width: 20px;
33
+ height: 20px;
34
+ pointer-events: none;
35
+ }
36
+ .ol-wfst--map .ol-control.ol-wfst--fullscreen button:hover, .ol-wfst--map .ol-control.ol-wfst--fullscreen button:active {
37
+ opacity: 0.95;
38
+ }
39
+ .ol-wfst--map .ol-control.ol-wfst--fullscreen button:active {
40
+ transform: translateY(1px);
41
+ }
42
+ .ol-wfst--map .ol-box.ol-wfst--dragbox {
43
+ border: 2px dashed #ffc800;
44
+ background-color: rgba(255, 200, 0, 0.1);
45
+ border-radius: 0;
46
+ }
47
+ .ol-wfst--map .ol-wfst--edit-button-cnt {
22
48
  display: inline-block;
23
49
  margin: 0 5px;
24
50
  }
25
-
26
- .ol-wfst--edit-button {
51
+ .ol-wfst--map .ol-wfst--edit-button {
27
52
  outline: 0;
28
53
  padding: 8px;
29
54
  height: 38px;
@@ -35,97 +60,177 @@
35
60
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.42);
36
61
  cursor: pointer;
37
62
  }
38
- .ol-wfst--edit-button:hover {
63
+ .ol-wfst--map .ol-wfst--edit-button:hover {
39
64
  background: #f5f5f5;
40
65
  }
41
- .ol-wfst--edit-button:active {
42
- background: #fafafa;
66
+ .ol-wfst--map .ol-wfst--edit-button:active {
67
+ background: rgb(98%, 98%, 98%);
43
68
  transform: translateY(1px);
44
69
  }
45
- .ol-wfst--edit-button img {
70
+ .ol-wfst--map .ol-wfst--edit-button svg {
46
71
  fill: #333;
47
72
  width: 20px;
48
73
  height: 20px;
49
74
  }
50
-
51
- .ol-wfst--changes-control {
75
+ .ol-wfst--map .ol-wfst--extend-button-cnt {
76
+ display: inline-block;
77
+ }
78
+ .ol-wfst--map .ol-wfst--extend-button-cnt .ol-wfst--extend-button {
79
+ outline: 0;
80
+ display: -webkit-flex;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ padding: 0;
85
+ width: 24px;
86
+ height: 24px;
87
+ background: #ffffff;
88
+ border: 1px solid #b3b3b3;
89
+ border-radius: 50%;
90
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.42);
91
+ cursor: pointer;
92
+ }
93
+ .ol-wfst--map .ol-wfst--extend-button-cnt .ol-wfst--extend-button:hover {
94
+ background: #f5f5f5;
95
+ }
96
+ .ol-wfst--map .ol-wfst--extend-button-cnt .ol-wfst--extend-button:active {
97
+ background: rgb(98%, 98%, 98%);
98
+ transform: translateY(1px);
99
+ }
100
+ .ol-wfst--map .ol-wfst--extend-button-cnt .ol-wfst--extend-button svg {
101
+ fill: #333;
102
+ width: 16px;
103
+ height: 16px;
104
+ }
105
+ .ol-wfst--map .ol-wfst--changes-control {
52
106
  position: absolute;
53
107
  left: 50%;
54
108
  top: 0;
55
- right: 0;
56
109
  transform: translateX(-50%);
57
- max-width: 290px;
110
+ z-index: 10;
111
+ max-width: 320px;
58
112
  width: 90%;
59
113
  background: #ff6161;
60
- border: 1px solid #969696;
114
+ color: #fff;
115
+ border: 1px solid rgba(0, 0, 0, 0.18);
61
116
  border-top: 0;
62
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.529);
63
- border-radius: 0 0 4px 4px;
64
- padding: 10px;
65
- }
66
-
67
- .ol-wfst--changes-control-el {
68
- text-align: center;
69
- }
70
- .ol-wfst--changes-control-el button {
71
- margin: 0 5px;
72
- }
73
-
74
- .ol-wfst--changes-control-id {
75
- margin-bottom: 10px;
117
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.35);
118
+ border-radius: 0 0 8px 8px;
119
+ padding: 12px 14px 14px;
120
+ animation: ol-wfst--slide-down 0.28s ease-out;
121
+ }
122
+ @keyframes ol-wfst--slide-down {
123
+ from {
124
+ opacity: 0;
125
+ transform: translate(-50%, -10px);
126
+ }
127
+ to {
128
+ opacity: 1;
129
+ transform: translate(-50%, 0);
130
+ }
131
+ }
132
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el {
133
+ display: -webkit-flex;
134
+ display: flex;
135
+ flex-wrap: wrap;
136
+ justify-content: center;
137
+ align-items: center;
138
+ gap: 8px;
139
+ }
140
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .ol-wfst--changes-control-id {
141
+ flex-basis: 100%;
142
+ display: -webkit-flex;
143
+ display: flex;
144
+ align-items: center;
145
+ justify-content: center;
146
+ gap: 8px;
147
+ margin-bottom: 8px;
148
+ padding-bottom: 10px;
149
+ border-bottom: 1px solid rgba(255, 255, 255, 0.25);
76
150
  font-size: 12px;
151
+ font-weight: 600;
152
+ text-transform: uppercase;
153
+ letter-spacing: 0.4px;
77
154
  color: #fff;
78
155
  }
79
-
80
- .ol-wfst--tools-control {
81
- position: absolute;
82
- left: 10px;
83
- bottom: 10px;
84
- background-color: #fff;
85
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.42);
86
- border: 1px solid rgba(169, 169, 169, 0.7333333333);
87
- border-radius: 4px;
88
- }
89
-
90
- .btn.btn-third {
91
- float: left;
92
- color: #d43f3a;
93
- }
94
-
95
- .ol-wfst--layer-not-visible {
96
- opacity: 0.5 !important;
97
- }
98
-
99
- .ol-wfst--layer-not-visible {
100
- font-style: italic;
156
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .ol-wfst--changes-control-id b {
157
+ display: -webkit-inline-flex;
158
+ display: inline-flex;
159
+ align-items: center;
160
+ gap: 6px;
101
161
  }
102
-
103
- .wfst--layer-control {
104
- position: relative;
105
- padding: 5px 10px;
106
- }
107
- .wfst--layer-control.ol-wfst--selected-on {
108
- background-color: rgba(240, 223, 0, 0.6) !important;
109
- }
110
- .wfst--layer-control:hover, .wfst--layer-control:active {
111
- background-color: #f5f5f5;
162
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .ol-wfst--changes-control-id b::before {
163
+ content: "";
164
+ width: 8px;
165
+ height: 8px;
166
+ border-radius: 50%;
167
+ background: currentColor;
168
+ animation: ol-wfst--pulse 1.6s infinite;
169
+ }
170
+ @keyframes ol-wfst--pulse {
171
+ 0% {
172
+ box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
173
+ }
174
+ 70% {
175
+ box-shadow: 0 0 0 6px rgba(255, 255, 255, 0);
176
+ }
177
+ 100% {
178
+ box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
179
+ }
180
+ }
181
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .ol-wfst--changes-control-id i {
182
+ font-style: normal;
183
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
184
+ font-size: 11px;
185
+ font-weight: 500;
186
+ text-transform: none;
187
+ letter-spacing: 0;
188
+ background: rgba(255, 255, 255, 0.22);
189
+ border-radius: 999px;
190
+ padding: 2px 10px;
191
+ max-width: 180px;
192
+ overflow: hidden;
193
+ text-overflow: ellipsis;
194
+ white-space: nowrap;
195
+ }
196
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el button {
197
+ margin: 0;
198
+ transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
199
+ }
200
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el button:hover {
201
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
202
+ filter: brightness(1.05);
203
+ }
204
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el button:active {
205
+ transform: translateY(-1px);
206
+ box-shadow: none;
207
+ filter: brightness(0.97);
208
+ }
209
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el button:first-of-type {
210
+ margin-right: auto;
211
+ }
212
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .btn-danger-outline {
213
+ color: rgba(255, 255, 255, 0.9);
214
+ border: 1px solid rgba(255, 255, 255, 0.55);
215
+ background: transparent;
216
+ }
217
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .btn-danger-outline:hover {
218
+ background: rgba(255, 255, 255, 0.15);
219
+ box-shadow: none;
220
+ }
221
+ .ol-wfst--map .ol-wfst--changes-control .ol-wfst--changes-control-el .btn-danger-outline:active {
222
+ background: rgba(255, 255, 255, 0.25);
223
+ }
224
+ .ol-wfst--map .ol-wfst--tools-control {
225
+ position: absolute;
226
+ top: 0.5em;
227
+ left: 0.5em;
112
228
  }
113
- .wfst--layer-control input[type=radio] {
229
+ .ol-wfst--map .ol-wfst--tools-control.ol-wfst--controls--hidden {
114
230
  display: none;
115
231
  }
116
-
117
- .wfst--tools-control--select-layers .wfst--layer-control:not(.ol-wfst--selected-on) label {
118
- cursor: pointer;
119
- }
120
- .wfst--tools-control--select-layers label {
121
- position: absolute;
122
- left: 30px;
123
- right: 0;
124
- }
125
-
126
- .ol-wfst--tools-control-btn {
127
- background: #ffffff;
128
- border-radius: 4px;
232
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn {
233
+ border-radius: 8px;
129
234
  outline: 0;
130
235
  width: 40px;
131
236
  height: 32px;
@@ -134,47 +239,83 @@
134
239
  vertical-align: middle;
135
240
  cursor: pointer;
136
241
  border: 1px solid #c0c0c0;
242
+ background-color: #fff;
137
243
  }
138
- .ol-wfst--tools-control-btn.wfst--active {
244
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn.wfst--active {
139
245
  background-color: #ffed00 !important;
140
- }
141
- .ol-wfst--tools-control-btn.wfst--active {
142
246
  opacity: 1;
143
247
  }
144
- .ol-wfst--tools-control-btn:hover, .ol-wfst--tools-control-btn:active {
248
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn:hover, .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn:active {
145
249
  background-color: #f5f5f5;
146
250
  opacity: 0.95;
147
251
  }
148
- .ol-wfst--tools-control-btn:active {
252
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn:active {
149
253
  transform: translateY(1px);
150
254
  }
151
- .ol-wfst--tools-control-btn img {
255
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn svg {
152
256
  width: 20px;
153
257
  height: 20px;
154
258
  }
155
-
156
- .wfst--tools-control--head {
259
+ .ol-wfst--map .ol-wfst--tools-control .wfst--tools-control--head {
260
+ position: absolute;
157
261
  background: #dddddd;
158
262
  padding: 10px;
159
- border-bottom: 1px solid rgba(169, 169, 169, 0.7333333333);
160
- border-radius: 4px 4px 0 0;
263
+ border: 1px solid rgba(169, 169, 169, 0.7333333333);
264
+ border-radius: 8px;
265
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.42);
266
+ display: -webkit-flex;
267
+ display: flex;
268
+ pointer-events: auto;
269
+ gap: 6px;
161
270
  }
162
- .wfst--tools-control--head > * {
163
- display: inline-block;
271
+ .ol-wfst--map .ol-wfst--tools-control .wfst--tools-control--head label {
272
+ cursor: pointer;
164
273
  }
165
-
166
- .ol-wfst--tools-control-draw-cnt:not(:first-child) {
274
+ .ol-wfst--map .ol-wfst--tools-control .wfst--tools-control--head > * {
275
+ display: -webkit-flex;
276
+ display: flex;
277
+ }
278
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-select-cnt {
279
+ font-size: 0;
280
+ }
281
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-select-cnt:not(:first-child) {
167
282
  margin-left: 6px;
168
283
  }
169
-
170
- .ol-wfst--tools-control-btn-upload {
284
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select,
285
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select-box,
286
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select-freehand {
287
+ width: 34px;
288
+ padding: 0;
289
+ border-radius: 0;
290
+ }
291
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select {
292
+ border-radius: 8px 0 0 8px;
293
+ }
294
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select svg {
295
+ width: 11px;
296
+ height: auto;
297
+ }
298
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select-box {
299
+ border-left: 0;
300
+ }
301
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-select-freehand {
302
+ border-left: 0;
303
+ border-radius: 0 8px 8px 0;
304
+ }
305
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-query-cnt .ol-wfst--tools-control-btn-query {
306
+ border-radius: 8px;
307
+ }
308
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-query-cnt svg {
309
+ width: 16px;
310
+ height: 16px;
311
+ }
312
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-upload {
171
313
  padding: 3px;
172
314
  }
173
-
174
- .wfst--tools-control--select-draw {
315
+ .ol-wfst--map .ol-wfst--tools-control .wfst--tools-control--select-draw {
175
316
  outline: 0;
176
317
  border: 1px solid #c0c0c0;
177
- border-radius: 4px;
318
+ border-radius: 8px;
178
319
  padding: 0 3px;
179
320
  height: 32px;
180
321
  background: #f7f7f7;
@@ -184,75 +325,348 @@
184
325
  vertical-align: middle;
185
326
  font-size: 0.9em;
186
327
  border-left: 0;
187
- border-radius: 0 4px 4px 0;
328
+ border-radius: 0 8px 8px 0;
188
329
  }
189
-
190
- .ol-wfst--tools-control-btn-draw {
191
- border-radius: 4px 0 0 4px;
330
+ .ol-wfst--map .ol-wfst--tools-control .ol-wfst--tools-control-btn-draw {
331
+ border-radius: 8px 0 0 8px;
192
332
  opacity: 0.7;
193
333
  }
194
-
195
- .draw-mode .wfst--tools-control--select-draw {
196
- pointer-events: inherit;
197
- opacity: 1;
198
- background: #fffab5;
199
- }
200
-
201
- .wfst--tools-control--head label {
202
- cursor: pointer;
203
- }
204
-
205
- #ol-wfst--upload {
334
+ .ol-wfst--map .ol-wfst--tools-control #ol-wfst--upload {
206
335
  display: none;
207
336
  visibility: hidden;
208
337
  }
209
-
210
- .ol-wfst--tools-control--loading {
211
- display: none;
338
+ .ol-wfst--map .ol-wfst--layers-control {
339
+ font-size: 13px;
212
340
  position: absolute;
213
- top: -25px;
341
+ left: 10px;
342
+ bottom: 10px;
343
+ pointer-events: auto;
214
344
  }
215
-
216
- .ol-wfst--tools-control--loading.ol-wfst--tools-control--loading-show {
217
- display: block;
345
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--layer-not-visible {
346
+ opacity: 0.5 !important;
347
+ font-style: italic;
218
348
  }
219
-
220
- .ol-wfst--tools-control-visible {
349
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--layer-control-visible {
221
350
  display: inline-block;
351
+ position: relative;
352
+ z-index: 999;
222
353
  }
223
-
224
- .ol-wfst--tools-control-visible img {
354
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--layer-control-visible svg {
225
355
  width: 14px;
226
356
  height: 14px;
227
357
  }
228
-
229
- .ol-wfst--tools-control-visible-btn {
358
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--layer-control-visible .ol-wfst--layer-control-visible -btn {
230
359
  opacity: 0.6;
231
360
  cursor: pointer;
232
361
  }
233
-
234
- .ol-wfst--tools-control-visible-btn:hover {
362
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--layer-control-visible .ol-wfst--layer-control-visible -btn:hover {
235
363
  opacity: 0.9;
236
364
  }
237
-
238
- .wfst--layer-control {
365
+ .ol-wfst--map .ol-wfst--layers-control .wfst--tools-control--select-layers {
366
+ border-radius: 8px;
367
+ border: 1px solid rgba(169, 169, 169, 0.7333333333);
368
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.42);
369
+ background-color: #fff;
370
+ overflow: hidden;
371
+ }
372
+ .ol-wfst--map .ol-wfst--layers-control .wfst--tools-control--select-layers .wfst--tools-control--select-layers-title {
373
+ padding: 5px 10px;
374
+ font-weight: bold;
375
+ border-bottom: 1px solid rgba(169, 169, 169, 0.7333333333);
376
+ background-color: #dddddd;
377
+ }
378
+ .ol-wfst--map .ol-wfst--layers-control .wfst--tools-control--select-layers .wfst--tools-control--select-layers-list {
379
+ max-height: 150px;
380
+ overflow-y: auto;
381
+ }
382
+ .ol-wfst--map .ol-wfst--layers-control .wfst--tools-control--select-layers .wfst--layer-control:not(.ol-wfst--selected-on) label {
383
+ cursor: pointer;
384
+ }
385
+ .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control {
386
+ position: relative;
387
+ min-width: 200px;
239
388
  opacity: 0.7;
389
+ display: -webkit-flex;
390
+ display: flex;
240
391
  }
241
- .wfst--layer-control.ol-wfst--visible-on {
392
+ .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control label {
393
+ width: 100%;
394
+ padding: 5px 10px;
395
+ display: -webkit-flex;
396
+ display: flex;
397
+ gap: 6px;
398
+ }
399
+ .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control.ol-wfst--visible-on {
242
400
  opacity: 1;
243
401
  }
244
-
245
- .ol-wfst--visible-btn-on {
402
+ .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control.ol-wfst--selected-on {
403
+ background-color: rgba(94%, 87.3647058824%, 0%, 0.6) !important;
404
+ }
405
+ .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control:hover, .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control:active {
406
+ background-color: #f5f5f5;
407
+ }
408
+ .ol-wfst--map .ol-wfst--layers-control .wfst--layer-control input[type=radio] {
246
409
  display: none;
247
410
  }
248
-
249
- .ol-wfst--visible-on .ol-wfst--visible-btn-on {
411
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--visible-btn-on {
412
+ display: none;
413
+ }
414
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--visible-on .ol-wfst--visible-btn-on {
250
415
  display: block;
251
416
  }
252
- .ol-wfst--visible-on .ol-wfst--visible-btn-off {
417
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--visible-on .ol-wfst--visible-btn-off {
253
418
  display: none;
254
419
  }
255
-
256
- .ol-wfst--visible-btn-off {
420
+ .ol-wfst--map .ol-wfst--layers-control .ol-wfst--visible-btn-off {
421
+ display: block;
422
+ }
423
+ .ol-wfst--map .draw-mode .wfst--tools-control--select-draw {
424
+ pointer-events: inherit;
425
+ opacity: 1;
426
+ background: #fffab5;
427
+ }
428
+ .ol-wfst--map .ol-wfst--tools-control--loading {
429
+ display: none;
430
+ position: absolute;
431
+ top: -10px;
432
+ width: 100%;
433
+ height: 4px;
434
+ overflow: hidden;
435
+ background: rgba(0, 0, 0, 0.5);
436
+ border-radius: 4px;
437
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
438
+ }
439
+ .ol-wfst--map .ol-wfst--tools-control--loading::before {
440
+ content: "";
441
+ position: absolute;
442
+ top: 0;
443
+ left: 0;
444
+ width: 35%;
445
+ height: 100%;
446
+ background: #ffed00;
447
+ border-radius: inherit;
448
+ animation: ol-wfst-loading-sweep 1.1s ease-in-out infinite;
449
+ }
450
+ @keyframes ol-wfst-loading-sweep {
451
+ 0% {
452
+ transform: translateX(-100%);
453
+ }
454
+ 100% {
455
+ transform: translateX(300%);
456
+ }
457
+ }
458
+ .ol-wfst--map .ol-wfst--tools-control--loading.ol-wfst--tools-control--loading-show {
257
459
  display: block;
460
+ }
461
+ .ol-wfst--map .ol-wfst--query-popup {
462
+ position: relative;
463
+ width: 260px;
464
+ max-width: 280px;
465
+ background: #ffffff;
466
+ border: 1px solid #a9a9a9;
467
+ border-radius: 8px;
468
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.42);
469
+ font-size: 12px;
470
+ color: #333;
471
+ overflow: hidden;
472
+ }
473
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-head {
474
+ display: -webkit-flex;
475
+ display: flex;
476
+ align-items: center;
477
+ justify-content: space-between;
478
+ padding: 6px 8px;
479
+ background: #f2f2f2;
480
+ border-bottom: 1px solid #d9d9d9;
481
+ }
482
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-title {
483
+ font-weight: 600;
484
+ font-size: 12px;
485
+ }
486
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-close {
487
+ outline: 0;
488
+ border: 0;
489
+ background: transparent;
490
+ cursor: pointer;
491
+ font-size: 18px;
492
+ line-height: 1;
493
+ color: #555;
494
+ padding: 0 2px;
495
+ }
496
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-close:hover {
497
+ color: #000;
498
+ }
499
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-subtitle {
500
+ display: -webkit-flex;
501
+ display: flex;
502
+ align-items: center;
503
+ justify-content: space-between;
504
+ gap: 8px;
505
+ padding: 6px 10px;
506
+ border-bottom: 1px solid #efefef;
507
+ }
508
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-subtitle b {
509
+ font-weight: 600;
510
+ }
511
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-subtitle i {
512
+ font-style: normal;
513
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
514
+ font-size: 11px;
515
+ color: #777;
516
+ max-width: 150px;
517
+ overflow: hidden;
518
+ text-overflow: ellipsis;
519
+ white-space: nowrap;
520
+ }
521
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-body {
522
+ max-height: 220px;
523
+ overflow-y: auto;
524
+ padding: 4px 0;
525
+ }
526
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-row {
527
+ display: -webkit-flex;
528
+ display: flex;
529
+ gap: 8px;
530
+ padding: 3px 10px;
531
+ word-break: break-word;
532
+ }
533
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-row:nth-child(odd) {
534
+ background: #fafafa;
535
+ }
536
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-key {
537
+ flex: 0 0 35%;
538
+ font-weight: 600;
539
+ color: #555;
540
+ overflow: hidden;
541
+ text-overflow: ellipsis;
542
+ }
543
+ .ol-wfst--map .ol-wfst--query-popup .ol-wfst--query-popup-value {
544
+ flex: 1;
545
+ color: #222;
546
+ }
547
+
548
+ .modal .ol-wfst--edit-modal-notice {
549
+ display: -webkit-flex;
550
+ display: flex;
551
+ align-items: center;
552
+ gap: 8px;
553
+ padding: 10px 12px;
554
+ margin-bottom: 12px;
555
+ border: 1px solid #ffc107;
556
+ border-radius: 8px;
557
+ background: #fff8e1;
558
+ color: #6b5300;
559
+ font-size: 13px;
560
+ font-weight: 500;
561
+ }
562
+ .modal .ol-wfst--edit-modal-notice-txt {
563
+ flex: 1;
564
+ }
565
+ .modal .ol-wfst--edit-modal-toolbar-btn {
566
+ outline: 0;
567
+ display: -webkit-inline-flex;
568
+ display: inline-flex;
569
+ align-items: center;
570
+ justify-content: center;
571
+ flex: 0 0 auto;
572
+ padding: 0;
573
+ width: 26px;
574
+ height: 26px;
575
+ background: #ffffff;
576
+ border: 1px solid #b3b3b3;
577
+ border-radius: 8px;
578
+ cursor: pointer;
579
+ }
580
+ .modal .ol-wfst--edit-modal-toolbar-btn:hover {
581
+ background: #f5f5f5;
582
+ }
583
+ .modal .ol-wfst--edit-modal-toolbar-btn:active {
584
+ background: rgb(98%, 98%, 98%);
585
+ transform: translateY(1px);
586
+ }
587
+ .modal .ol-wfst--edit-modal-toolbar-btn svg {
588
+ width: 16px;
589
+ height: 16px;
590
+ }
591
+ .modal .modal-dialog.ol-wfst--edit-table-modal {
592
+ --bs-modal-width: min(90vw, 1400px);
593
+ width: min(90vw, 1400px);
594
+ max-width: min(90vw, 1400px);
595
+ }
596
+ .modal .modal-dialog .btn-danger:first-child {
597
+ margin-right: auto;
598
+ }
599
+ .modal .ol-wfst--edit-table-wrap {
600
+ overflow-x: auto;
601
+ overflow-y: auto;
602
+ max-height: 60vh;
603
+ border: 1px solid #dddddd;
604
+ border-radius: 8px;
605
+ }
606
+ .modal .ol-wfst--edit-table {
607
+ width: 100%;
608
+ border-collapse: collapse;
609
+ font-size: 13px;
610
+ }
611
+ .modal .ol-wfst--edit-table th,
612
+ .modal .ol-wfst--edit-table td {
613
+ border: 1px solid #dddddd;
614
+ padding: 4px 6px;
615
+ text-align: left;
616
+ vertical-align: middle;
617
+ white-space: nowrap;
618
+ }
619
+ .modal .ol-wfst--edit-table th {
620
+ position: -webkit-sticky;
621
+ position: sticky;
622
+ top: 0;
623
+ z-index: 1;
624
+ background: #f2f2f2;
625
+ font-weight: 600;
626
+ }
627
+ .modal .ol-wfst--edit-table .ol-wfst--input-field-input {
628
+ min-width: 120px;
629
+ padding: 2px 4px;
630
+ border: 0;
631
+ border-radius: 0;
632
+ background: transparent;
633
+ }
634
+ .modal .ol-wfst--edit-table .ol-wfst--input-field-input:focus {
635
+ outline: 1px solid #86b7fe;
636
+ background: #f8fbff;
637
+ }
638
+ .modal .ol-wfst--edit-table-fid,
639
+ .modal .ol-wfst--edit-table-geom {
640
+ font-weight: 600;
641
+ color: #555;
642
+ }
643
+ .modal .ol-wfst--edit-table-geom {
644
+ font-style: italic;
645
+ font-size: 12px;
646
+ color: #777;
647
+ }
648
+ .modal .ol-wfst--input-field-container {
649
+ display: inline-block;
650
+ width: 49%;
651
+ padding: 5px;
652
+ margin-bottom: 10px;
653
+ }
654
+ .modal .ol-wfst--input-field-label {
655
+ display: block;
656
+ font-weight: 500;
657
+ margin-bottom: 4px;
658
+ }
659
+ .modal .ol-wfst--input-field-input {
660
+ width: 100%;
661
+ padding: 5px;
662
+ border: 1px solid black;
663
+ border-radius: 3px;
664
+ }
665
+ .modal .ol-wfst--input-field-input.ol-wfst--input-multiple::-moz-placeholder {
666
+ font-style: italic;
667
+ color: #888;
668
+ }
669
+ .modal .ol-wfst--input-field-input.ol-wfst--input-multiple::placeholder {
670
+ font-style: italic;
671
+ color: #888;
258
672
  }