qwc2 2025.5.16 → 2025.5.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/layers.js +2 -2
- package/components/AttributeForm.js +4 -3
- package/components/AttributeTableWidget.js +4 -3
- package/components/EditComboField.js +4 -3
- package/components/IdentifyViewer.js +5 -7
- package/components/PickFeature.js +1 -1
- package/components/QtDesignerForm.js +2 -2
- package/components/SearchBox.js +1 -1
- package/components/map3d/Map3D.js +3 -3
- package/components/style/EditComboField.css +7 -0
- package/components/style/PluginsContainer.css +3 -2
- package/components/style/QtDesignerForm.css +1 -0
- package/components/style/SideBar.css +1 -0
- package/components/widgets/NumberInput.js +1 -1
- package/components/widgets/TextInput.js +2 -2
- package/components/widgets/style/NumberInput.css +1 -1
- package/components/widgets/style/TextInput.css +13 -0
- package/icons/clone.svg +63 -0
- package/package.json +1 -1
- package/plugins/BackgroundSwitcher.js +1 -1
- package/plugins/Cyclomedia.js +1 -1
- package/plugins/Editing.js +3 -4
- package/plugins/FeatureForm.js +1 -1
- package/plugins/Identify.js +2 -2
- package/plugins/LayerTree.js +5 -5
- package/plugins/Map.js +4 -4
- package/plugins/MapTip.js +1 -1
- package/plugins/Print.js +1 -1
- package/plugins/Reports.js +2 -2
- package/plugins/TimeManager.js +5 -5
- package/plugins/map/EditingSupport.js +1 -1
- package/plugins/map/SnappingSupport.js +1 -1
- package/plugins/style/LayerTree.css +47 -4
- package/reducers/editing.js +2 -2
- package/reducers/layers.js +6 -5
- package/static/translations/bg-BG.json +4 -2
- package/static/translations/ca-ES.json +4 -2
- package/static/translations/cs-CZ.json +3 -1
- package/static/translations/de-CH.json +4 -2
- package/static/translations/de-DE.json +4 -2
- package/static/translations/en-US.json +4 -2
- package/static/translations/es-ES.json +4 -2
- package/static/translations/fi-FI.json +3 -1
- package/static/translations/fr-FR.json +4 -2
- package/static/translations/hu-HU.json +3 -1
- package/static/translations/it-IT.json +4 -2
- package/static/translations/ja-JP.json +4 -2
- package/static/translations/nl-NL.json +4 -2
- package/static/translations/no-NO.json +3 -1
- package/static/translations/pl-PL.json +3 -1
- package/static/translations/pt-BR.json +4 -2
- package/static/translations/pt-PT.json +4 -2
- package/static/translations/ro-RO.json +4 -2
- package/static/translations/ru-RU.json +3 -1
- package/static/translations/sv-SE.json +3 -1
- package/static/translations/tr-TR.json +4 -2
- package/static/translations/tsconfig.json +3 -1
- package/utils/DxfUtils.js +8 -3
- package/utils/EditingUtils.js +4 -4
- package/utils/IdentifyUtils.js +3 -3
- package/utils/LayerUtils.js +10 -10
- package/utils/expr_grammar/grammar.js +1 -1
- package/utils/expr_grammar/grammar.ne +12 -1
- package/utils/expr_grammar/test.js +3 -2
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Descartar",
|
|
168
168
|
"draw": "Traçar",
|
|
169
169
|
"feature": "Element",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "La geometria conté valors Z diferents de zero, per tant és de només lectura",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Formulari invàlid",
|
|
172
173
|
"maximize": "Maximitzar",
|
|
173
174
|
"minimize": "Minimitzar",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Sense informació disponible sobre el punt seleccionat",
|
|
243
244
|
"querying": "Consultant...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Informació del element"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Comparar amb la capa superior",
|
|
291
292
|
"deletealllayers": "Eliminar todas las capas",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importar capa",
|
|
293
295
|
"maptip": "Mostrar suggerències de capes en el mapa",
|
|
294
296
|
"printlegend": "Imprimir llegenda",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Vyřadit",
|
|
168
168
|
"draw": "Kreslit",
|
|
169
169
|
"feature": "Prvek",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "Maximální",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "V tomto bodu nejsou k dispozici informace o žádném prvku",
|
|
243
244
|
"querying": "Dotazování...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Informace o prvku"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Porovnat vrchní vrstvy",
|
|
291
292
|
"deletealllayers": "Odstranit všechny vrstvy",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importovat vrstvu",
|
|
293
295
|
"maptip": "Zobrazovat bubliny nad mapou",
|
|
294
296
|
"printlegend": "Tisk legendy",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Abbrechen",
|
|
168
168
|
"draw": "Zeichnen",
|
|
169
169
|
"feature": "Objekt",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "Die Geometrie enthält Z-Werte ungleich Null und ist daher nicht veränderbar.",
|
|
171
|
+
"geomreadonly": "Die Geometrie ist nicht veränderbar.",
|
|
171
172
|
"invalidform": "Formular ungültig",
|
|
172
173
|
"maximize": "Maximieren",
|
|
173
174
|
"minimize": "Minimieren",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Keine Resultate an der ausgewählten Position",
|
|
243
244
|
"querying": "Objekte werden abgefragt...",
|
|
244
245
|
"reportfail": "Bericht konnt nicht erstellt werden",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "Bericht auswählen...",
|
|
246
247
|
"title": "Objektinformationen"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Oberste Ebene vergleichen",
|
|
291
292
|
"deletealllayers": "Alle Ebenen entfernen",
|
|
293
|
+
"hidealllayers": "Alle Ebenen ausblenden",
|
|
292
294
|
"importlayer": "Ebene importieren",
|
|
293
295
|
"maptip": "Kartentipps anzeigen",
|
|
294
296
|
"printlegend": "Legende drucken",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Abbrechen",
|
|
168
168
|
"draw": "Zeichnen",
|
|
169
169
|
"feature": "Objekt",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "Die Geometrie enthält Z-Werte ungleich Null und ist daher nicht veränderbar.",
|
|
171
|
+
"geomreadonly": "Die Geometrie ist nicht veränderbar",
|
|
171
172
|
"invalidform": "Ungültiges Formular",
|
|
172
173
|
"maximize": "Maximieren",
|
|
173
174
|
"minimize": "Minimieren",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Keine Resultate an der ausgewählten Position",
|
|
243
244
|
"querying": "Objekte werden abgefragt...",
|
|
244
245
|
"reportfail": "Bericht konnt nicht erstellt werden",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "Bericht auswählen...",
|
|
246
247
|
"title": "Objektinformationen"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Oberste Ebene vergleichen",
|
|
291
292
|
"deletealllayers": "Alle Ebenen entfernen",
|
|
293
|
+
"hidealllayers": "Alle Ebenen ausblenden",
|
|
292
294
|
"importlayer": "Ebene importieren",
|
|
293
295
|
"maptip": "Kartentipps anzeigen",
|
|
294
296
|
"printlegend": "Legende drucken",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Discard",
|
|
168
168
|
"draw": "Draw",
|
|
169
169
|
"feature": "Feature",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "The geometry contains non-zero Z values and is therefore read only.",
|
|
171
|
+
"geomreadonly": "The geometry is read only.",
|
|
171
172
|
"invalidform": "Invalid form",
|
|
172
173
|
"maximize": "Maximize",
|
|
173
174
|
"minimize": "Minimize",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "No information available for the selected point",
|
|
243
244
|
"querying": "Querying...",
|
|
244
245
|
"reportfail": "Failed to generate report",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "Select report..",
|
|
246
247
|
"title": "Feature Info"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Compare top layer",
|
|
291
292
|
"deletealllayers": "Remove all layers",
|
|
293
|
+
"hidealllayers": "Hide all layers",
|
|
292
294
|
"importlayer": "Import layer",
|
|
293
295
|
"maptip": "Show layer map tips",
|
|
294
296
|
"printlegend": "Print legend",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Descartar",
|
|
168
168
|
"draw": "Trazar",
|
|
169
169
|
"feature": "Elemento",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "La geometría contiene valores Z diferentes de cero por lo que es sólo lectura",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Formulario inválido",
|
|
172
173
|
"maximize": "Maximizar",
|
|
173
174
|
"minimize": "Minimizar",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Sin información disponible sobre el punto seleccionado",
|
|
243
244
|
"querying": "Consultando...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Información del elemento"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Comparar con la capa superior",
|
|
291
292
|
"deletealllayers": "Remover todas las capas",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importar capa",
|
|
293
295
|
"maptip": "Mostrar sugerencias de capas en el mapa",
|
|
294
296
|
"printlegend": "Imprimir leyenda",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Discard",
|
|
168
168
|
"draw": "Draw",
|
|
169
169
|
"feature": "Feature",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "Maximize",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Valitulla pisteellä ei ole informaatiota",
|
|
243
244
|
"querying": "Kysely käynnissä...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Ominaisuustiedot"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Vertaa ylintä tasoa",
|
|
291
292
|
"deletealllayers": "Poista kaikki tasot",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Tuo taso",
|
|
293
295
|
"maptip": "Näytä tason vinkkejä",
|
|
294
296
|
"printlegend": "Tulosta selite",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Rejeter",
|
|
168
168
|
"draw": "Dessiner",
|
|
169
169
|
"feature": "Objet",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "La géométrie contient des valeurs Z non nulles et ne peut donc pas être modifiée.",
|
|
171
|
+
"geomreadonly": "La géométrie e peut pas être modifiée.",
|
|
171
172
|
"invalidform": "Formulaire non valide",
|
|
172
173
|
"maximize": "Maximiser",
|
|
173
174
|
"minimize": "Minimiser",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Pas de résultats pour la position sélectionnée",
|
|
243
244
|
"querying": "Identification en cours...",
|
|
244
245
|
"reportfail": "Le rapport n'a pas été généré",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "Selectionner rapport...",
|
|
246
247
|
"title": "Informations sur l'objet"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Comparer",
|
|
291
292
|
"deletealllayers": "Supprimer toutes les couches",
|
|
293
|
+
"hidealllayers": "Cacher toutes les couches",
|
|
292
294
|
"importlayer": "Importer une couche",
|
|
293
295
|
"maptip": "Afficher les infobulles",
|
|
294
296
|
"printlegend": "Imprimer la légende",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Elvetés",
|
|
168
168
|
"draw": "Rajzolás",
|
|
169
169
|
"feature": "",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Nincs információ a kiválasztott pontról",
|
|
243
244
|
"querying": "Lekérdezés...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Lekérdezés információ"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Összehasonlítás a felső fóliával",
|
|
291
292
|
"deletealllayers": "",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Fólia importálása",
|
|
293
295
|
"maptip": "Show layer map tips",
|
|
294
296
|
"printlegend": "Print legend",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Annulla",
|
|
168
168
|
"draw": "Disegna",
|
|
169
169
|
"feature": "Oggetto",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "La geometria contiene valori Z non nulli ed è quindi di sola lettura.",
|
|
171
|
+
"geomreadonly": "La geometria è di solo lettura.",
|
|
171
172
|
"invalidform": "Formulario invalido",
|
|
172
173
|
"maximize": "Massimizza",
|
|
173
174
|
"minimize": "Minimizza",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Nessun risultato",
|
|
243
244
|
"querying": "Caricando...",
|
|
244
245
|
"reportfail": "Errore nella generazione del rapporto",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "Seleziona rapporto...",
|
|
246
247
|
"title": "Titolo"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Compara il primo livello",
|
|
291
292
|
"deletealllayers": "Rimuovi tutti i livelli",
|
|
293
|
+
"hidealllayers": "Nascondi tutti i livelli",
|
|
292
294
|
"importlayer": "Importa livello",
|
|
293
295
|
"maptip": "Attiva maptip",
|
|
294
296
|
"printlegend": "Stampa legenda",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "中止",
|
|
168
168
|
"draw": "作図",
|
|
169
169
|
"feature": "地物",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "ジオメトリが 0 でない Z 値を含んでいるため、リード・オンリーです。",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "無効なフォーム",
|
|
172
173
|
"maximize": "最大化",
|
|
173
174
|
"minimize": "最小化",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "選択された点には情報がありません",
|
|
243
244
|
"querying": "検索中...",
|
|
244
245
|
"reportfail": "レポートを生成することが出来ませんでした",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "地物情報"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "トップ・レイヤを比較",
|
|
291
292
|
"deletealllayers": "全てのレイヤを削除",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "レイヤをインポート",
|
|
293
295
|
"maptip": "レイヤのマップ・チップを表示",
|
|
294
296
|
"printlegend": "凡例を印刷",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Negeren",
|
|
168
168
|
"draw": "Tekenen",
|
|
169
169
|
"feature": "Object",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "De geometrie bevat geen Z-waarden en is daarom read only.",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Ongeldig formulier",
|
|
172
173
|
"maximize": "Maximaliseren",
|
|
173
174
|
"minimize": "Minimaliseren",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Geen informatie beschikbaar voor het aangewezen punt",
|
|
243
244
|
"querying": "Zoeken...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Objectgegevens"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Vergelijk bovenste laag",
|
|
291
292
|
"deletealllayers": "Verwijder alle lagen",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importeer laag",
|
|
293
295
|
"maptip": "Toon kaarttips voor de laag",
|
|
294
296
|
"printlegend": "Print legenda",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Forkast",
|
|
168
168
|
"draw": "Tegn",
|
|
169
169
|
"feature": "Objekt",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "Maksimer",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Ingen informasjon for valgt punkt",
|
|
243
244
|
"querying": "Søker...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Objektinformasjon"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Sammenlign øverste lag",
|
|
291
292
|
"deletealllayers": "Slett alle lag",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importer lag",
|
|
293
295
|
"maptip": "Vis karttips for lag",
|
|
294
296
|
"printlegend": "Skriv ut tegnforklaring",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Odrzuć",
|
|
168
168
|
"draw": "Rysuj",
|
|
169
169
|
"feature": "",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "Maksymalizuj",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Brak dostępnych danych dla wybranego punktu",
|
|
243
244
|
"querying": "Przetwarzam zapytanie...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Feature Info"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Porównaj najwyższą warstwę",
|
|
291
292
|
"deletealllayers": "Usuń wszystkie warstwy",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importuj warstwę",
|
|
293
295
|
"maptip": "Pokaż wskazówki dla warstwy",
|
|
294
296
|
"printlegend": "Drukuj legendę",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Descartar",
|
|
168
168
|
"draw": "Desenhar",
|
|
169
169
|
"feature": "Feição",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "Geometria somente de leitura",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Formulário inválido",
|
|
172
173
|
"maximize": "Maximizar",
|
|
173
174
|
"minimize": "Minimizar",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Nenhuma informação disponível para o ponto selecionado",
|
|
243
244
|
"querying": "Consultando...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Informação do recurso"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Compare a camada superior",
|
|
291
292
|
"deletealllayers": "Remover todas as camadas",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Camada de importação",
|
|
293
295
|
"maptip": "Mostrar dicas de mapa de camadas",
|
|
294
296
|
"printlegend": "Legenda da impressão",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Descartar",
|
|
168
168
|
"draw": "Desenhar",
|
|
169
169
|
"feature": "Recurso",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "Geometria Apenas para Leitura",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Formulário Inválido",
|
|
172
173
|
"maximize": "Maximizar",
|
|
173
174
|
"minimize": "Minimizar",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Nenhuma informação disponível para o ponto selecionado",
|
|
243
244
|
"querying": "A consultar...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Informações do Recurso"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Comparar com a Camada Superior",
|
|
291
292
|
"deletealllayers": "Remover Todas as Camadas",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importar Camada",
|
|
293
295
|
"maptip": "Mostrar Dicas de Mapa das Camadas",
|
|
294
296
|
"printlegend": "Legenda de Impressão",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "Renunță",
|
|
168
168
|
"draw": "Desenare",
|
|
169
169
|
"feature": "Obiect spațial",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "Geometria include valori Z și, prin urmare, nu poate fi editată",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Date invalide în formular",
|
|
172
173
|
"maximize": "Maximizează",
|
|
173
174
|
"minimize": "Minimizează",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Nu există informații în punctul selectat",
|
|
243
244
|
"querying": "Interogare...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Informații obiect spațial"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Compară stratul de sus",
|
|
291
292
|
"deletealllayers": "Elimină toate straturile",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Import strat",
|
|
293
295
|
"maptip": "Arată indicii hartă",
|
|
294
296
|
"printlegend": "Tipărește legenda",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Отменить изменения",
|
|
168
168
|
"draw": "Нарисовать",
|
|
169
169
|
"feature": "",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "Развернуть",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Для выбранной точки нет доступной информации",
|
|
243
244
|
"querying": "Выполняется запрос...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Информация об объекте"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Сравнить верхний слой",
|
|
291
292
|
"deletealllayers": "",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Импортировать слой",
|
|
293
295
|
"maptip": "Показывать подписи",
|
|
294
296
|
"printlegend": "Распечатать легенду",
|
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
"discard": "Förkasta",
|
|
168
168
|
"draw": "Rita",
|
|
169
169
|
"feature": "Objekt",
|
|
170
|
+
"geomnonzeroz": "",
|
|
170
171
|
"geomreadonly": "",
|
|
171
172
|
"invalidform": "",
|
|
172
173
|
"maximize": "Maximera",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Ingen information för vald punkt",
|
|
243
244
|
"querying": "Frågar...",
|
|
244
245
|
"reportfail": "",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Objektinformation"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "Jämför översta lagret",
|
|
291
292
|
"deletealllayers": "Ta bort alla lager",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Importera lager",
|
|
293
295
|
"maptip": "Visa karttips för lager",
|
|
294
296
|
"printlegend": "Skriv ut teckenförklaring",
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"discard": "İptal",
|
|
168
168
|
"draw": "Çiz",
|
|
169
169
|
"feature": "Obje",
|
|
170
|
-
"
|
|
170
|
+
"geomnonzeroz": "Geometri, sıfır olmayan yükseklik değeri içerdiğinden salt okunur",
|
|
171
|
+
"geomreadonly": "",
|
|
171
172
|
"invalidform": "Geçersiz form",
|
|
172
173
|
"maximize": "Büyüt",
|
|
173
174
|
"minimize": "Küçült",
|
|
@@ -242,7 +243,7 @@
|
|
|
242
243
|
"noresults": "Seçilen nokta için geçerli bilgi yok",
|
|
243
244
|
"querying": "Sorgulanıyor...",
|
|
244
245
|
"reportfail": "Rapor üretilemedi",
|
|
245
|
-
"
|
|
246
|
+
"selectreport": "",
|
|
246
247
|
"title": "Obje Bilgisi"
|
|
247
248
|
},
|
|
248
249
|
"imageeditor": {
|
|
@@ -289,6 +290,7 @@
|
|
|
289
290
|
"layertree": {
|
|
290
291
|
"compare": "En üst katmanı karşılaştır",
|
|
291
292
|
"deletealllayers": "Tüm katmanları kaldır",
|
|
293
|
+
"hidealllayers": "",
|
|
292
294
|
"importlayer": "Katmanı içeri al",
|
|
293
295
|
"maptip": "Katman harita ipuçlarını göster",
|
|
294
296
|
"printlegend": "Yazdırma Lejandı",
|
|
@@ -172,6 +172,7 @@
|
|
|
172
172
|
"editing.discard",
|
|
173
173
|
"editing.draw",
|
|
174
174
|
"editing.feature",
|
|
175
|
+
"editing.geomnonzeroz",
|
|
175
176
|
"editing.geomreadonly",
|
|
176
177
|
"editing.invalidform",
|
|
177
178
|
"editing.maximize",
|
|
@@ -233,7 +234,7 @@
|
|
|
233
234
|
"identify.noresults",
|
|
234
235
|
"identify.querying",
|
|
235
236
|
"identify.reportfail",
|
|
236
|
-
"identify.
|
|
237
|
+
"identify.selectreport",
|
|
237
238
|
"identify.title",
|
|
238
239
|
"imageeditor.confirmclose",
|
|
239
240
|
"imageeditor.title",
|
|
@@ -268,6 +269,7 @@
|
|
|
268
269
|
"layerinfo.title",
|
|
269
270
|
"layertree.compare",
|
|
270
271
|
"layertree.deletealllayers",
|
|
272
|
+
"layertree.hidealllayers",
|
|
271
273
|
"layertree.importlayer",
|
|
272
274
|
"layertree.maptip",
|
|
273
275
|
"layertree.printlegend",
|
package/utils/DxfUtils.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}/**
|
|
2
|
+
* Copyright 2025 Sourcepole AG
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/var END_MARKERS={SECTION:"ENDSEC",TABLE:"ENDTAB",BLOCK:"ENDBLK"};export function explodeDxf(text){var tuples=text.replace(/\s+$/,"").split(/\r\n|\r|\n/g).flatMap(function(_,i,a){return i%2?[]:[a.slice(i,i+2).map(function(x){return x.trim()})]});var maxHandle=100;// Value in QGIS
|
|
2
8
|
var _explode=function explode(pairs){var _toplevelTuples$find;var toplevelTuples=[];var sectionTuples;var marker;var expectEndMarker;var children=pairs.reduce(function(acc,tuple){if(tuple[0]==="5"&&tuple[1]!=="9999999"){maxHandle=Math.max(parseInt(tuple[1],16),maxHandle)}if(tuple[0]==="0"){if(expectEndMarker&&tuple[1]===expectEndMarker){acc.push(_objectSpread({type:marker},_explode(sectionTuples)));sectionTuples=undefined;marker=undefined;expectEndMarker=undefined}else if(expectEndMarker&&tuple[1]!==expectEndMarker){sectionTuples.push(tuple)}else if(!expectEndMarker){if(sectionTuples){acc.push(_objectSpread({type:marker},_explode(sectionTuples)))}sectionTuples=[];marker=tuple[1];expectEndMarker=END_MARKERS[marker]}}else if(sectionTuples){sectionTuples.push(tuple)}else if(acc.length>0){acc[acc.length-1].tailValues.push(tuple)}else{toplevelTuples.push(tuple)}return acc},[]);if(marker&§ionTuples&&!expectEndMarker){children.push(_objectSpread({type:marker},_explode(sectionTuples)))}var name=(_toplevelTuples$find=toplevelTuples.find(function(tuple){return tuple[0]==="2"}))===null||_toplevelTuples$find===void 0?void 0:_toplevelTuples$find[1];return{name:name,values:toplevelTuples,children:children,tailValues:[]}};var result=_explode(tuples);result.maxHandle=maxHandle;return result}export function implodeDxf(exploded){var output="";var handleSeed=100;var dumpValues=function dumpValues(values){return values.forEach(function(tuple){if(tuple[0]==="5"&&parseInt(tuple[0],16)>=100){output+="5\n".concat((handleSeed++).toString(16),"\n")}else{output+="".concat(tuple[0],"\n").concat(tuple[1],"\n")}})};var _implode=function implode(data){dumpValues(data.values);data.children.forEach(function(child){output+="0\n".concat(child.type,"\n");_implode(child);if(END_MARKERS[child.type]){output+="0\n".concat(END_MARKERS[child.type],"\n")}dumpValues(child.tailValues)})};_implode(exploded);return output}export function mergeDxf(documents){var _mergedBlockRecords$c,_mergedBlockRecords$c2,_mergedBlockRecords$c3;// Merge blockRecords, Blocks, Layers and Entities of dxf documents
|
|
3
9
|
var mergedEntities=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="ENTITIES"});var mergedLayers=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="TABLES"}).children.find(function(child){return child.type==="TABLE"&&child.name==="LAYER"});var mergedBlockRecords=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="TABLES"}).children.find(function(child){return child.type==="TABLE"&&child.name==="BLOCK_RECORD"});var mergedBlocks=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="BLOCKS"});// Reference the common block handles of the first document in subsequent documents
|
|
4
10
|
var commonBlockHandles={"*Model_Space":(_mergedBlockRecords$c=mergedBlockRecords.children.find(function(br){return br.name==="*Model_Space"}))===null||_mergedBlockRecords$c===void 0||(_mergedBlockRecords$c=_mergedBlockRecords$c.values)===null||_mergedBlockRecords$c===void 0||(_mergedBlockRecords$c=_mergedBlockRecords$c.find(function(t){return t[0]==="5"}))===null||_mergedBlockRecords$c===void 0?void 0:_mergedBlockRecords$c[1],"*Paper_Space":(_mergedBlockRecords$c2=mergedBlockRecords.children.find(function(br){return br.name==="*Paper_Space"}))===null||_mergedBlockRecords$c2===void 0||(_mergedBlockRecords$c2=_mergedBlockRecords$c2.values)===null||_mergedBlockRecords$c2===void 0||(_mergedBlockRecords$c2=_mergedBlockRecords$c2.find(function(t){return t[0]==="5"}))===null||_mergedBlockRecords$c2===void 0?void 0:_mergedBlockRecords$c2[1],"*Paper_Space0":(_mergedBlockRecords$c3=mergedBlockRecords.children.find(function(br){return br.name==="*Paper_Space0"}))===null||_mergedBlockRecords$c3===void 0||(_mergedBlockRecords$c3=_mergedBlockRecords$c3.values)===null||_mergedBlockRecords$c3===void 0||(_mergedBlockRecords$c3=_mergedBlockRecords$c3.find(function(t){return t[0]==="5"}))===null||_mergedBlockRecords$c3===void 0?void 0:_mergedBlockRecords$c3[1]};var maxHandle=documents[0].maxHandle;documents.slice(1).forEach(function(document){// Get items to merge
|
|
@@ -7,5 +13,4 @@ blockRecords.children.forEach(function(blockRecord){var handleTuple=blockRecord.
|
|
|
7
13
|
if(!["*Model_Space","*Paper_Space","*Paper_Space0"].includes(block.name)){var handleRefTuple=block.values.find(function(tuple){return tuple[0]==="330"});if(handleRefTuple){handleRefTuple[1]=handleMapping[handleRefTuple[1]]}block.values.find(function(tuple){return tuple[0]==="5"})[1]=(++maxHandle).toString(16);mergedBlocks.children.push(block)}});layers.children.forEach(function(layer){// Note: Don't merge dummy layer 0
|
|
8
14
|
if(layer.name!=="0"){layer.values.find(function(tuple){return tuple[0]==="5"})[1]=(++maxHandle).toString(16);mergedLayers.children.push(layer)}});entities.children.forEach(function(entity){var handleRefTuple=entity.values.find(function(tuple){return tuple[0]==="330"});if(handleRefTuple){handleRefTuple[1]=handleMapping[handleRefTuple[1]]}var handleTuple=entity.values.find(function(tuple){return tuple[0]==="5"});var newHandle=(++maxHandle).toString(16);handleMapping[handleTuple[1]]=newHandle;handleTuple[1]=newHandle;// VERTEX, SEQEND
|
|
9
15
|
entity.children.forEach(function(child){child.values.find(function(tuple){return tuple[0]==="5"})[1]=(++maxHandle).toString(16);var childHandleRefTuple=child.values.find(function(tuple){return tuple[0]==="330"});if(childHandleRefTuple){childHandleRefTuple[1]=handleMapping[childHandleRefTuple[1]]}});mergedEntities.children.push(entity)})});// Update layer count
|
|
10
|
-
mergedLayers.values.find(function(tuple){return tuple[0]==="70"})[1]=String(mergedLayers.children.length)
|
|
11
|
-
mergedLayers.children.forEach(function(child){var nameTuple=child.values.find(function(tuple){return tuple[0]==="2"});nameTuple[1]=removeDiacritics(nameTuple[1]).replace(/\W/g,"_")});return documents[0]}
|
|
16
|
+
mergedLayers.values.find(function(tuple){return tuple[0]==="70"})[1]=String(mergedLayers.children.length);return documents[0]}
|
package/utils/EditingUtils.js
CHANGED
|
@@ -4,8 +4,8 @@ var _ExpressionFeatureCache;function _typeof(o){"@babel/helpers - typeof";return
|
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the BSD-style license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/import nearley from"nearley";import grammar from"./expr_grammar/grammar";export var ExpressionFeatureCache=/*#__PURE__*/_createClass(function ExpressionFeatureCache(){_classCallCheck(this,ExpressionFeatureCache)});_ExpressionFeatureCache=ExpressionFeatureCache;_defineProperty(ExpressionFeatureCache,"store",{});_defineProperty(ExpressionFeatureCache,"requests",new Set);_defineProperty(ExpressionFeatureCache,"get",function(editIface,dataset,mapCrs,attr,value,promises){var key=dataset+":"+attr+":"+value;if(key in _ExpressionFeatureCache.store){return _ExpressionFeatureCache.store[key]}else if(!_ExpressionFeatureCache.requests.has(key)){_ExpressionFeatureCache.requests.add(key);promises.push(new Promise(function(accept){editIface.getFeatures(dataset,mapCrs,function(result){if(_ExpressionFeatureCache.requests.has(key)){if(((result===null||result===void 0?void 0:result.features)||[]).length===1){_ExpressionFeatureCache.store[key]=result.features[0]}else{_ExpressionFeatureCache.store[key]=null}_ExpressionFeatureCache.requests["delete"](key)}accept()},null,[[attr,"=",value]])}))}return null});_defineProperty(ExpressionFeatureCache,"clear",function(){_ExpressionFeatureCache.store={};_ExpressionFeatureCache.requests=new Set});export function parseExpression(expr,feature,editIface,mapPrefix,mapCrs,reevaluateCallback){var asFilter=arguments.length>
|
|
8
|
-
Promise.all(promises).then(function(){return parseExpression(expr,feature,editIface,mapPrefix,mapCrs,reevaluateCallback,asFilter,true)});return null}else{if(reevaluate){reevaluateCallback()}if(asFilter){result=[result]}return result}}export function parseExpressionsAsync(expressions,feature,editIface,mapPrefix,mapCrs,asFilter){var promises=[];return new Promise(function(resolve){window.qwc2ExpressionParserContext={feature:feature,getFeature:function getFeature(layerName,attr,value){return ExpressionFeatureCache.get(editIface,mapPrefix+layerName,mapCrs,attr,value,promises)},asFilter:asFilter};var results=Object.entries(expressions).reduce(function(res,_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],expr=_ref2[1];var parser=new nearley.Parser(nearley.Grammar.fromCompiled(grammar));try{parser.feed(expr.replace(/\n/," "));return _objectSpread(_objectSpread({},res),{},_defineProperty({},key,parser.results[0]))}catch(e){/* eslint-disable-next-line */console.warn("Failed to evaluate expression "+expr.replace(/\n/," "));return res}},{});delete window.qwc2ExpressionParserContext;if(promises.length>0){// Expression evaluation is incomplete due to pending feature requests, reevaluate when promises are resolved
|
|
9
|
-
Promise.all(promises).then(parseExpressionsAsync(expressions,feature,editIface,mapPrefix,mapCrs,asFilter).then(resolve(results)))}else{resolve(results)}})}var FeatureTemplateFactories={};export function setFeatureTemplateFactory(dataset,factory){FeatureTemplateFactories[dataset]=factory}export function getFeatureTemplate(editConfig,feature,editIface,mapPrefix,mapCrs,callback){if(editConfig.editDataset in FeatureTemplateFactories){feature=FeatureTemplateFactories[editConfig.editDataset](feature)}// Apply default values
|
|
10
|
-
var defaultFieldExpressions=editConfig.fields.reduce(function(res,field){if(field.defaultValue){return _objectSpread(_objectSpread({},res),{},_defineProperty({},field.id,field.defaultValue.replace(/^expr:/,"")))}return res},{});ExpressionFeatureCache.clear();parseExpressionsAsync(defaultFieldExpressions,feature,editIface,mapPrefix,mapCrs).then(function(result){// Adjust values based on field type
|
|
7
|
+
*/import nearley from"nearley";import ConfigUtils from"./ConfigUtils";import LocaleUtils from"./LocaleUtils";import grammar from"./expr_grammar/grammar";export var ExpressionFeatureCache=/*#__PURE__*/_createClass(function ExpressionFeatureCache(){_classCallCheck(this,ExpressionFeatureCache)});_ExpressionFeatureCache=ExpressionFeatureCache;_defineProperty(ExpressionFeatureCache,"store",{});_defineProperty(ExpressionFeatureCache,"requests",new Set);_defineProperty(ExpressionFeatureCache,"get",function(editIface,dataset,mapCrs,attr,value,promises){var key=dataset+":"+attr+":"+value;if(key in _ExpressionFeatureCache.store){return _ExpressionFeatureCache.store[key]}else if(!_ExpressionFeatureCache.requests.has(key)){_ExpressionFeatureCache.requests.add(key);promises.push(new Promise(function(accept){editIface.getFeatures(dataset,mapCrs,function(result){if(_ExpressionFeatureCache.requests.has(key)){if(((result===null||result===void 0?void 0:result.features)||[]).length===1){_ExpressionFeatureCache.store[key]=result.features[0]}else{_ExpressionFeatureCache.store[key]=null}_ExpressionFeatureCache.requests["delete"](key)}accept()},null,[[attr,"=",value]])}))}return null});_defineProperty(ExpressionFeatureCache,"clear",function(){_ExpressionFeatureCache.store={};_ExpressionFeatureCache.requests=new Set});export function parseExpression(expr,feature,dataset,editIface,mapPrefix,mapCrs,reevaluateCallback){var asFilter=arguments.length>7&&arguments[7]!==undefined?arguments[7]:false;var reevaluate=arguments.length>8&&arguments[8]!==undefined?arguments[8]:false;var parser=new nearley.Parser(nearley.Grammar.fromCompiled(grammar));var promises=[];window.qwc2ExpressionParserContext={feature:feature,getFeature:function getFeature(layerName,attr,value){return ExpressionFeatureCache.get(editIface,mapPrefix+layerName,mapCrs,attr,value,promises)},asFilter:asFilter,username:ConfigUtils.getConfigProp("username"),layer:dataset.startsWith(mapPrefix)?dataset.substr(mapPrefix.length):dataset,projection:mapCrs,mapPrefix:mapPrefix,lang:LocaleUtils.lang()};var result=null;try{parser.feed(expr.replace(/\n/," "));result=parser.results[0]}catch(e){/* eslint-disable-next-line */console.warn("Failed to evaluate expression "+expr.replace(/\n/," "))}delete window.qwc2ExpressionParserContext;if(promises.length>0){// Expression evaluation is incomplete due to pending feature requests, reevaluate when promises are resolved
|
|
8
|
+
Promise.all(promises).then(function(){return parseExpression(expr,feature,dataset,editIface,mapPrefix,mapCrs,reevaluateCallback,asFilter,true)});return null}else{if(reevaluate){reevaluateCallback()}if(asFilter){result=[result]}return result}}export function parseExpressionsAsync(expressions,feature,dataset,editIface,mapPrefix,mapCrs,asFilter){var promises=[];return new Promise(function(resolve){window.qwc2ExpressionParserContext={feature:feature,getFeature:function getFeature(layerName,attr,value){return ExpressionFeatureCache.get(editIface,mapPrefix+layerName,mapCrs,attr,value,promises)},asFilter:asFilter,username:ConfigUtils.getConfigProp("username"),layer:dataset.startsWith(mapPrefix)?dataset.substr(mapPrefix.length):dataset,projection:mapCrs,mapPrefix:mapPrefix,lang:LocaleUtils.lang()};var results=Object.entries(expressions).reduce(function(res,_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],expr=_ref2[1];var parser=new nearley.Parser(nearley.Grammar.fromCompiled(grammar));try{parser.feed(expr.replace(/\n/," "));return _objectSpread(_objectSpread({},res),{},_defineProperty({},key,parser.results[0]))}catch(e){/* eslint-disable-next-line */console.warn("Failed to evaluate expression "+expr.replace(/\n/," "));return res}},{});delete window.qwc2ExpressionParserContext;if(promises.length>0){// Expression evaluation is incomplete due to pending feature requests, reevaluate when promises are resolved
|
|
9
|
+
Promise.all(promises).then(parseExpressionsAsync(expressions,feature,dataset,editIface,mapPrefix,mapCrs,asFilter).then(resolve(results)))}else{resolve(results)}})}var FeatureTemplateFactories={};export function setFeatureTemplateFactory(dataset,factory){FeatureTemplateFactories[dataset]=factory}export function getFeatureTemplate(editConfig,feature,editIface,mapPrefix,mapCrs,callback){if(editConfig.editDataset in FeatureTemplateFactories){feature=FeatureTemplateFactories[editConfig.editDataset](feature)}// Apply default values
|
|
10
|
+
var defaultFieldExpressions=editConfig.fields.reduce(function(res,field){if(field.defaultValue){return _objectSpread(_objectSpread({},res),{},_defineProperty({},field.id,field.defaultValue.replace(/^expr:/,"")))}return res},{});ExpressionFeatureCache.clear();parseExpressionsAsync(defaultFieldExpressions,feature,editConfig.editDataset,editIface,mapPrefix,mapCrs).then(function(result){// Adjust values based on field type
|
|
11
11
|
editConfig.fields.forEach(function(field){if(field.id in result&&field.type==="date"){result[field.id]=result[field.id].split("T")[0]}});callback(_objectSpread(_objectSpread({},feature),{},{properties:_objectSpread(_objectSpread({},feature.properties),result)}))})}
|