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