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