From 7abce583934019ac73831f4f1417a0c1b79b03dd Mon Sep 17 00:00:00 2001 From: dnlkoch Date: Fri, 15 Sep 2023 14:51:21 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20terrestr?= =?UTF-8?q?is/shogun-gis-client@311d6c7d0731d3f11935d0ee198ce438dff20c58?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v6.9.0/999679b39105ceb07d2d.png | Bin 0 -> 829 bytes v6.9.0/common.18499b5fb53e6cbedb77.js | 2 + v6.9.0/common.18499b5fb53e6cbedb77.js.map | 1 + v6.9.0/common.3da21f6acf56f8b6610b.css | 2 + v6.9.0/common.3da21f6acf56f8b6610b.css.map | 1 + v6.9.0/eae689dd03adf87da5ed.png | Bin 0 -> 1705 bytes v6.9.0/favicon.ico | Bin 0 -> 1150 bytes v6.9.0/gis-client-config.js | 1 + v6.9.0/index.html | 1 + v6.9.0/main.2131ba3e53d0a4d7f437.js | 2 + v6.9.0/main.2131ba3e53d0a4d7f437.js.map | 1 + v6.9.0/manifest.ff4693a9a4712ddb9f8e.js | 2 + v6.9.0/manifest.ff4693a9a4712ddb9f8e.js.map | 1 + v6.9.0/node_vendors.1fda2a73c82115e73e45.css | 14 ++ .../node_vendors.1fda2a73c82115e73e45.css.map | 1 + v6.9.0/node_vendors.48780d8ffcc0f0f7a7ef.js | 3 + ...endors.48780d8ffcc0f0f7a7ef.js.LICENSE.txt | 227 ++++++++++++++++++ .../node_vendors.48780d8ffcc0f0f7a7ef.js.map | 1 + v6.9.0/shogun_logo.png | Bin 0 -> 10570 bytes v6.9.0/shogun_spinner.gif | Bin 0 -> 26193 bytes .../browser/ui/codicons/codicon/codicon.ttf | Bin 0 -> 73464 bytes .../base/common/worker/simpleWorker.nls.de.js | 2 + .../worker/simpleWorker.nls.de.js.LICENSE.txt | 6 + .../base/common/worker/simpleWorker.nls.es.js | 2 + .../worker/simpleWorker.nls.es.js.LICENSE.txt | 6 + .../base/common/worker/simpleWorker.nls.fr.js | 2 + .../worker/simpleWorker.nls.fr.js.LICENSE.txt | 6 + .../base/common/worker/simpleWorker.nls.it.js | 2 + .../worker/simpleWorker.nls.it.js.LICENSE.txt | 6 + .../base/common/worker/simpleWorker.nls.ja.js | 2 + .../worker/simpleWorker.nls.ja.js.LICENSE.txt | 6 + .../vs/base/common/worker/simpleWorker.nls.js | 2 + .../worker/simpleWorker.nls.js.LICENSE.txt | 6 + .../base/common/worker/simpleWorker.nls.ko.js | 2 + .../worker/simpleWorker.nls.ko.js.LICENSE.txt | 6 + .../base/common/worker/simpleWorker.nls.ru.js | 2 + .../worker/simpleWorker.nls.ru.js.LICENSE.txt | 6 + .../common/worker/simpleWorker.nls.zh-cn.js | 2 + .../simpleWorker.nls.zh-cn.js.LICENSE.txt | 6 + .../common/worker/simpleWorker.nls.zh-tw.js | 2 + .../simpleWorker.nls.zh-tw.js.LICENSE.txt | 6 + v6.9.0/vs/base/worker/workerMain.js | 2 + .../vs/base/worker/workerMain.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/abap/abap.js | 2 + .../basic-languages/abap/abap.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/apex/apex.js | 2 + .../basic-languages/apex/apex.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/azcli/azcli.js | 2 + .../azcli/azcli.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/bat/bat.js | 2 + .../vs/basic-languages/bat/bat.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/bicep/bicep.js | 2 + .../bicep/bicep.js.LICENSE.txt | 6 + .../vs/basic-languages/cameligo/cameligo.js | 2 + .../cameligo/cameligo.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/clojure/clojure.js | 2 + .../clojure/clojure.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/coffee/coffee.js | 2 + .../coffee/coffee.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/cpp/cpp.js | 2 + .../vs/basic-languages/cpp/cpp.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/csharp/csharp.js | 2 + .../csharp/csharp.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/csp/csp.js | 2 + .../vs/basic-languages/csp/csp.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/css/css.js | 2 + .../vs/basic-languages/css/css.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/cypher/cypher.js | 2 + .../cypher/cypher.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/dart/dart.js | 2 + .../basic-languages/dart/dart.js.LICENSE.txt | 6 + .../basic-languages/dockerfile/dockerfile.js | 2 + .../dockerfile/dockerfile.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/ecl/ecl.js | 2 + .../vs/basic-languages/ecl/ecl.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/elixir/elixir.js | 2 + .../elixir/elixir.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/flow9/flow9.js | 2 + .../flow9/flow9.js.LICENSE.txt | 6 + .../freemarker2/freemarker2.js | 2 + .../freemarker2/freemarker2.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/fsharp/fsharp.js | 2 + .../fsharp/fsharp.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/go/go.js | 2 + .../vs/basic-languages/go/go.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/graphql/graphql.js | 2 + .../graphql/graphql.js.LICENSE.txt | 6 + .../basic-languages/handlebars/handlebars.js | 2 + .../handlebars/handlebars.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/hcl/hcl.js | 2 + .../vs/basic-languages/hcl/hcl.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/html/html.js | 2 + .../basic-languages/html/html.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/ini/ini.js | 2 + .../vs/basic-languages/ini/ini.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/java/java.js | 2 + .../basic-languages/java/java.js.LICENSE.txt | 6 + .../basic-languages/javascript/javascript.js | 2 + .../javascript/javascript.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/julia/julia.js | 2 + .../julia/julia.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/kotlin/kotlin.js | 2 + .../kotlin/kotlin.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/less/less.js | 2 + .../basic-languages/less/less.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/lexon/lexon.js | 2 + .../lexon/lexon.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/liquid/liquid.js | 2 + .../liquid/liquid.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/lua/lua.js | 2 + .../vs/basic-languages/lua/lua.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/m3/m3.js | 2 + .../vs/basic-languages/m3/m3.js.LICENSE.txt | 6 + .../vs/basic-languages/markdown/markdown.js | 2 + .../markdown/markdown.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/mips/mips.js | 2 + .../basic-languages/mips/mips.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/msdax/msdax.js | 2 + .../msdax/msdax.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/mysql/mysql.js | 2 + .../mysql/mysql.js.LICENSE.txt | 6 + .../objective-c/objective-c.js | 2 + .../objective-c/objective-c.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/pascal/pascal.js | 2 + .../pascal/pascal.js.LICENSE.txt | 6 + .../vs/basic-languages/pascaligo/pascaligo.js | 2 + .../pascaligo/pascaligo.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/perl/perl.js | 2 + .../basic-languages/perl/perl.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/pgsql/pgsql.js | 2 + .../pgsql/pgsql.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/php/php.js | 2 + .../vs/basic-languages/php/php.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/pla/pla.js | 2 + .../vs/basic-languages/pla/pla.js.LICENSE.txt | 6 + .../vs/basic-languages/postiats/postiats.js | 2 + .../postiats/postiats.js.LICENSE.txt | 6 + .../basic-languages/powerquery/powerquery.js | 2 + .../powerquery/powerquery.js.LICENSE.txt | 6 + .../basic-languages/powershell/powershell.js | 2 + .../powershell/powershell.js.LICENSE.txt | 6 + .../vs/basic-languages/protobuf/protobuf.js | 2 + .../protobuf/protobuf.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/pug/pug.js | 2 + .../vs/basic-languages/pug/pug.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/python/python.js | 2 + .../python/python.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/qsharp/qsharp.js | 2 + .../qsharp/qsharp.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/r/r.js | 2 + v6.9.0/vs/basic-languages/r/r.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/razor/razor.js | 2 + .../razor/razor.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/redis/redis.js | 2 + .../redis/redis.js.LICENSE.txt | 6 + .../vs/basic-languages/redshift/redshift.js | 2 + .../redshift/redshift.js.LICENSE.txt | 6 + .../restructuredtext/restructuredtext.js | 2 + .../restructuredtext.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/ruby/ruby.js | 2 + .../basic-languages/ruby/ruby.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/rust/rust.js | 2 + .../basic-languages/rust/rust.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/sb/sb.js | 2 + .../vs/basic-languages/sb/sb.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/scala/scala.js | 2 + .../scala/scala.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/scheme/scheme.js | 2 + .../scheme/scheme.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/scss/scss.js | 2 + .../basic-languages/scss/scss.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/shell/shell.js | 2 + .../shell/shell.js.LICENSE.txt | 6 + .../vs/basic-languages/solidity/solidity.js | 2 + .../solidity/solidity.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/sophia/sophia.js | 2 + .../sophia/sophia.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/sparql/sparql.js | 2 + .../sparql/sparql.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/sql/sql.js | 2 + .../vs/basic-languages/sql/sql.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/st/st.js | 2 + .../vs/basic-languages/st/st.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/swift/swift.js | 2 + .../swift/swift.js.LICENSE.txt | 6 + .../systemverilog/systemverilog.js | 2 + .../systemverilog.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/tcl/tcl.js | 2 + .../vs/basic-languages/tcl/tcl.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/twig/twig.js | 2 + .../basic-languages/twig/twig.js.LICENSE.txt | 6 + .../basic-languages/typescript/typescript.js | 2 + .../typescript/typescript.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/vb/vb.js | 2 + .../vs/basic-languages/vb/vb.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/wgsl/wgsl.js | 2 + .../basic-languages/wgsl/wgsl.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/xml/xml.js | 2 + .../vs/basic-languages/xml/xml.js.LICENSE.txt | 6 + v6.9.0/vs/basic-languages/yaml/yaml.js | 2 + .../basic-languages/yaml/yaml.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.css | 6 + v6.9.0/vs/editor/editor.main.js | 2 + v6.9.0/vs/editor/editor.main.js.LICENSE.txt | 15 ++ v6.9.0/vs/editor/editor.main.nls.de.js | 2 + .../editor/editor.main.nls.de.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.es.js | 2 + .../editor/editor.main.nls.es.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.fr.js | 2 + .../editor/editor.main.nls.fr.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.it.js | 2 + .../editor/editor.main.nls.it.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.ja.js | 2 + .../editor/editor.main.nls.ja.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.js | 2 + .../vs/editor/editor.main.nls.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.ko.js | 2 + .../editor/editor.main.nls.ko.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.ru.js | 2 + .../editor/editor.main.nls.ru.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.zh-cn.js | 2 + .../editor.main.nls.zh-cn.js.LICENSE.txt | 6 + v6.9.0/vs/editor/editor.main.nls.zh-tw.js | 2 + .../editor.main.nls.zh-tw.js.LICENSE.txt | 6 + v6.9.0/vs/language/css/cssMode.js | 2 + v6.9.0/vs/language/css/cssMode.js.LICENSE.txt | 6 + v6.9.0/vs/language/css/cssWorker.js | 2 + .../vs/language/css/cssWorker.js.LICENSE.txt | 6 + v6.9.0/vs/language/html/htmlMode.js | 2 + .../vs/language/html/htmlMode.js.LICENSE.txt | 6 + v6.9.0/vs/language/html/htmlWorker.js | 2 + .../language/html/htmlWorker.js.LICENSE.txt | 6 + v6.9.0/vs/language/json/jsonMode.js | 2 + .../vs/language/json/jsonMode.js.LICENSE.txt | 6 + v6.9.0/vs/language/json/jsonWorker.js | 2 + .../language/json/jsonWorker.js.LICENSE.txt | 6 + v6.9.0/vs/language/typescript/tsMode.js | 2 + .../language/typescript/tsMode.js.LICENSE.txt | 6 + v6.9.0/vs/language/typescript/tsWorker.js | 7 + .../typescript/tsWorker.js.LICENSE.txt | 6 + v6.9.0/vs/loader.js | 2 + v6.9.0/vs/loader.js.LICENSE.txt | 6 + 242 files changed, 1160 insertions(+) create mode 100644 v6.9.0/999679b39105ceb07d2d.png create mode 100644 v6.9.0/common.18499b5fb53e6cbedb77.js create mode 100644 v6.9.0/common.18499b5fb53e6cbedb77.js.map create mode 100644 v6.9.0/common.3da21f6acf56f8b6610b.css create mode 100644 v6.9.0/common.3da21f6acf56f8b6610b.css.map create mode 100644 v6.9.0/eae689dd03adf87da5ed.png create mode 100644 v6.9.0/favicon.ico create mode 100644 v6.9.0/gis-client-config.js create mode 100644 v6.9.0/index.html create mode 100644 v6.9.0/main.2131ba3e53d0a4d7f437.js create mode 100644 v6.9.0/main.2131ba3e53d0a4d7f437.js.map create mode 100644 v6.9.0/manifest.ff4693a9a4712ddb9f8e.js create mode 100644 v6.9.0/manifest.ff4693a9a4712ddb9f8e.js.map create mode 100644 v6.9.0/node_vendors.1fda2a73c82115e73e45.css create mode 100644 v6.9.0/node_vendors.1fda2a73c82115e73e45.css.map create mode 100644 v6.9.0/node_vendors.48780d8ffcc0f0f7a7ef.js create mode 100644 v6.9.0/node_vendors.48780d8ffcc0f0f7a7ef.js.LICENSE.txt create mode 100644 v6.9.0/node_vendors.48780d8ffcc0f0f7a7ef.js.map create mode 100644 v6.9.0/shogun_logo.png create mode 100644 v6.9.0/shogun_spinner.gif create mode 100644 v6.9.0/vs/base/browser/ui/codicons/codicon/codicon.ttf create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.de.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.de.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.es.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.es.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.fr.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.fr.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.it.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.it.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.ja.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.ja.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.ko.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.ko.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.ru.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.ru.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.zh-cn.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.zh-cn.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.zh-tw.js create mode 100644 v6.9.0/vs/base/common/worker/simpleWorker.nls.zh-tw.js.LICENSE.txt create mode 100644 v6.9.0/vs/base/worker/workerMain.js create mode 100644 v6.9.0/vs/base/worker/workerMain.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/abap/abap.js create mode 100644 v6.9.0/vs/basic-languages/abap/abap.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/apex/apex.js create mode 100644 v6.9.0/vs/basic-languages/apex/apex.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/azcli/azcli.js create mode 100644 v6.9.0/vs/basic-languages/azcli/azcli.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/bat/bat.js create mode 100644 v6.9.0/vs/basic-languages/bat/bat.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/bicep/bicep.js create mode 100644 v6.9.0/vs/basic-languages/bicep/bicep.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/cameligo/cameligo.js create mode 100644 v6.9.0/vs/basic-languages/cameligo/cameligo.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/clojure/clojure.js create mode 100644 v6.9.0/vs/basic-languages/clojure/clojure.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/coffee/coffee.js create mode 100644 v6.9.0/vs/basic-languages/coffee/coffee.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/cpp/cpp.js create mode 100644 v6.9.0/vs/basic-languages/cpp/cpp.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/csharp/csharp.js create mode 100644 v6.9.0/vs/basic-languages/csharp/csharp.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/csp/csp.js create mode 100644 v6.9.0/vs/basic-languages/csp/csp.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/css/css.js create mode 100644 v6.9.0/vs/basic-languages/css/css.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/cypher/cypher.js create mode 100644 v6.9.0/vs/basic-languages/cypher/cypher.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/dart/dart.js create mode 100644 v6.9.0/vs/basic-languages/dart/dart.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/dockerfile/dockerfile.js create mode 100644 v6.9.0/vs/basic-languages/dockerfile/dockerfile.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/ecl/ecl.js create mode 100644 v6.9.0/vs/basic-languages/ecl/ecl.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/elixir/elixir.js create mode 100644 v6.9.0/vs/basic-languages/elixir/elixir.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/flow9/flow9.js create mode 100644 v6.9.0/vs/basic-languages/flow9/flow9.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/freemarker2/freemarker2.js create mode 100644 v6.9.0/vs/basic-languages/freemarker2/freemarker2.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/fsharp/fsharp.js create mode 100644 v6.9.0/vs/basic-languages/fsharp/fsharp.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/go/go.js create mode 100644 v6.9.0/vs/basic-languages/go/go.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/graphql/graphql.js create mode 100644 v6.9.0/vs/basic-languages/graphql/graphql.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/handlebars/handlebars.js create mode 100644 v6.9.0/vs/basic-languages/handlebars/handlebars.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/hcl/hcl.js create mode 100644 v6.9.0/vs/basic-languages/hcl/hcl.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/html/html.js create mode 100644 v6.9.0/vs/basic-languages/html/html.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/ini/ini.js create mode 100644 v6.9.0/vs/basic-languages/ini/ini.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/java/java.js create mode 100644 v6.9.0/vs/basic-languages/java/java.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/javascript/javascript.js create mode 100644 v6.9.0/vs/basic-languages/javascript/javascript.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/julia/julia.js create mode 100644 v6.9.0/vs/basic-languages/julia/julia.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/kotlin/kotlin.js create mode 100644 v6.9.0/vs/basic-languages/kotlin/kotlin.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/less/less.js create mode 100644 v6.9.0/vs/basic-languages/less/less.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/lexon/lexon.js create mode 100644 v6.9.0/vs/basic-languages/lexon/lexon.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/liquid/liquid.js create mode 100644 v6.9.0/vs/basic-languages/liquid/liquid.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/lua/lua.js create mode 100644 v6.9.0/vs/basic-languages/lua/lua.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/m3/m3.js create mode 100644 v6.9.0/vs/basic-languages/m3/m3.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/markdown/markdown.js create mode 100644 v6.9.0/vs/basic-languages/markdown/markdown.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/mips/mips.js create mode 100644 v6.9.0/vs/basic-languages/mips/mips.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/msdax/msdax.js create mode 100644 v6.9.0/vs/basic-languages/msdax/msdax.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/mysql/mysql.js create mode 100644 v6.9.0/vs/basic-languages/mysql/mysql.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/objective-c/objective-c.js create mode 100644 v6.9.0/vs/basic-languages/objective-c/objective-c.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/pascal/pascal.js create mode 100644 v6.9.0/vs/basic-languages/pascal/pascal.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/pascaligo/pascaligo.js create mode 100644 v6.9.0/vs/basic-languages/pascaligo/pascaligo.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/perl/perl.js create mode 100644 v6.9.0/vs/basic-languages/perl/perl.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/pgsql/pgsql.js create mode 100644 v6.9.0/vs/basic-languages/pgsql/pgsql.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/php/php.js create mode 100644 v6.9.0/vs/basic-languages/php/php.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/pla/pla.js create mode 100644 v6.9.0/vs/basic-languages/pla/pla.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/postiats/postiats.js create mode 100644 v6.9.0/vs/basic-languages/postiats/postiats.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/powerquery/powerquery.js create mode 100644 v6.9.0/vs/basic-languages/powerquery/powerquery.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/powershell/powershell.js create mode 100644 v6.9.0/vs/basic-languages/powershell/powershell.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/protobuf/protobuf.js create mode 100644 v6.9.0/vs/basic-languages/protobuf/protobuf.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/pug/pug.js create mode 100644 v6.9.0/vs/basic-languages/pug/pug.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/python/python.js create mode 100644 v6.9.0/vs/basic-languages/python/python.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/qsharp/qsharp.js create mode 100644 v6.9.0/vs/basic-languages/qsharp/qsharp.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/r/r.js create mode 100644 v6.9.0/vs/basic-languages/r/r.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/razor/razor.js create mode 100644 v6.9.0/vs/basic-languages/razor/razor.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/redis/redis.js create mode 100644 v6.9.0/vs/basic-languages/redis/redis.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/redshift/redshift.js create mode 100644 v6.9.0/vs/basic-languages/redshift/redshift.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/restructuredtext/restructuredtext.js create mode 100644 v6.9.0/vs/basic-languages/restructuredtext/restructuredtext.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/ruby/ruby.js create mode 100644 v6.9.0/vs/basic-languages/ruby/ruby.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/rust/rust.js create mode 100644 v6.9.0/vs/basic-languages/rust/rust.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/sb/sb.js create mode 100644 v6.9.0/vs/basic-languages/sb/sb.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/scala/scala.js create mode 100644 v6.9.0/vs/basic-languages/scala/scala.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/scheme/scheme.js create mode 100644 v6.9.0/vs/basic-languages/scheme/scheme.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/scss/scss.js create mode 100644 v6.9.0/vs/basic-languages/scss/scss.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/shell/shell.js create mode 100644 v6.9.0/vs/basic-languages/shell/shell.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/solidity/solidity.js create mode 100644 v6.9.0/vs/basic-languages/solidity/solidity.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/sophia/sophia.js create mode 100644 v6.9.0/vs/basic-languages/sophia/sophia.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/sparql/sparql.js create mode 100644 v6.9.0/vs/basic-languages/sparql/sparql.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/sql/sql.js create mode 100644 v6.9.0/vs/basic-languages/sql/sql.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/st/st.js create mode 100644 v6.9.0/vs/basic-languages/st/st.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/swift/swift.js create mode 100644 v6.9.0/vs/basic-languages/swift/swift.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/systemverilog/systemverilog.js create mode 100644 v6.9.0/vs/basic-languages/systemverilog/systemverilog.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/tcl/tcl.js create mode 100644 v6.9.0/vs/basic-languages/tcl/tcl.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/twig/twig.js create mode 100644 v6.9.0/vs/basic-languages/twig/twig.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/typescript/typescript.js create mode 100644 v6.9.0/vs/basic-languages/typescript/typescript.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/vb/vb.js create mode 100644 v6.9.0/vs/basic-languages/vb/vb.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/wgsl/wgsl.js create mode 100644 v6.9.0/vs/basic-languages/wgsl/wgsl.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/xml/xml.js create mode 100644 v6.9.0/vs/basic-languages/xml/xml.js.LICENSE.txt create mode 100644 v6.9.0/vs/basic-languages/yaml/yaml.js create mode 100644 v6.9.0/vs/basic-languages/yaml/yaml.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.css create mode 100644 v6.9.0/vs/editor/editor.main.js create mode 100644 v6.9.0/vs/editor/editor.main.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.de.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.de.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.es.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.es.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.fr.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.fr.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.it.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.it.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.ja.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.ja.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.ko.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.ko.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.ru.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.ru.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.zh-cn.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.zh-cn.js.LICENSE.txt create mode 100644 v6.9.0/vs/editor/editor.main.nls.zh-tw.js create mode 100644 v6.9.0/vs/editor/editor.main.nls.zh-tw.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/css/cssMode.js create mode 100644 v6.9.0/vs/language/css/cssMode.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/css/cssWorker.js create mode 100644 v6.9.0/vs/language/css/cssWorker.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/html/htmlMode.js create mode 100644 v6.9.0/vs/language/html/htmlMode.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/html/htmlWorker.js create mode 100644 v6.9.0/vs/language/html/htmlWorker.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/json/jsonMode.js create mode 100644 v6.9.0/vs/language/json/jsonMode.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/json/jsonWorker.js create mode 100644 v6.9.0/vs/language/json/jsonWorker.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/typescript/tsMode.js create mode 100644 v6.9.0/vs/language/typescript/tsMode.js.LICENSE.txt create mode 100644 v6.9.0/vs/language/typescript/tsWorker.js create mode 100644 v6.9.0/vs/language/typescript/tsWorker.js.LICENSE.txt create mode 100644 v6.9.0/vs/loader.js create mode 100644 v6.9.0/vs/loader.js.LICENSE.txt diff --git a/v6.9.0/999679b39105ceb07d2d.png b/v6.9.0/999679b39105ceb07d2d.png new file mode 100644 index 0000000000000000000000000000000000000000..62586406475770d280cbb3735e2c6e926cf84971 GIT binary patch literal 829 zcmV-D1H$}?P) zp$~i@2|TZS^9?*-O+?T%O#_moRQdozB?ajGsTk-0ZIwvfcK`uIMC2f-D%@TMFD&*#Y)cI_kxO0u2RafKlL-<2cimN~Kt<)x1`#)eu#!R;y8~)x1ij zQgj?=8aSnTGRiQLuS=;_Wq>hY!gbvn&1UnH9H>^*kyg|>_(+<~<|o&6ZvYdjH>0c+ z>a#8N)(Ow^9>sASiHOwvJ-M^|Mb18bFUEs6Vmx>wXP>^8JIi0B=I@D!NF2wJ=XsA5 zKB}yAvf2T_a$WcQ+}zw_P1B6|weMVe{t>Slu=z707KjBle@48n|Ki!&7DosBm>wO} zbGh7wbUOWdb#?Wd+W%MsY`}6HC%eAB{@k|h@%gpy+45Kr^Ca_CIHIVhf{ztG&FP?;MLclYc#2(M;Qi?(gCedC}d6390}Vo?;7Eu;dhOY zupMKX=18GX$O4-F&#wP09gtF~)Cj|H%QSS(WX(e(XR;=yp%aGTR;g5K0HUJ?%J%m5 z2Y^e*tV6>|k22aoM^_iS)oS%E!2OG392rP;jUE|DasT2N0Ls_}+WT-mpI`8Of5Wl* zC|=HW4HqxxaI8Lj-`~jR^9u=_%w8=B0xZk=I5RVIZF+Q2Kc4C5Wi?=@Eq`6}b+@b(sDJzP{T|T4;%800000NkvXX Hu0mjfcPoHH literal 0 HcmV?d00001 diff --git a/v6.9.0/common.18499b5fb53e6cbedb77.js b/v6.9.0/common.18499b5fb53e6cbedb77.js new file mode 100644 index 000000000..fd15d6b99 --- /dev/null +++ b/v6.9.0/common.18499b5fb53e6cbedb77.js @@ -0,0 +1,2 @@ +(self.webpackChunk_terrestris_shogun_gis_client=self.webpackChunk_terrestris_shogun_gis_client||[]).push([[592],{83299:function(e,t,r){"use strict";r.r(t),r.d(t,{App:function(){return bi},default:function(){return wi}});var a=r(96985),n=r.n(a),o=r(38648),i=r(50146),l=r(71577),s=r(77808),c=r(34041),u=r(52697),d=r(74187),m=r(23213),p=r.n(m),g=r(63698),f=r.n(g),y=r(87851),h=r.n(y),E=r(73590),b=r(92212),w=r.n(b),v=r(49413),S=r.n(v),L=r(54388),T=r.n(L),k=r(35388),P=r.n(k),F=r(14589);var C=()=>(0,F.useDispatch)();const Z=F.useSelector;var O=Z,A=r(20908),M=r(93379),N=r.n(M),D=r(7795),I=r.n(D),j=r(90569),x=r.n(j),U=r(3565),R=r.n(U),B=r(19216),$=r.n(B),z=r(44589),_=r.n(z),G=r(40171),V={};V.styleTagTransform=_(),V.setAttributes=R(),V.insert=x().bind(null,"head"),V.domAPI=I(),V.insertStyleElement=$();N()(G.Z,V),G.Z&&G.Z.locals&&G.Z.locals;function W(){return W=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[t,r]=(0,a.useState)(!1),[m,g]=(0,a.useState)([]),[y,b]=(0,a.useState)([]),[v,L]=(0,a.useState)("https://sgx.geodatenzentrum.de/wms_topplus_open"),[P,F]=(0,a.useState)(),[Z,M]=(0,a.useState)("1.3.0"),N=O((e=>e.addLayerModal.visible)),D=C(),I=(0,k.useMap)(),{t:j}=(0,E.useTranslation)();(0,a.useEffect)((()=>{N&&F(w().createValidGetCapabilitiesRequest(v,"WMS",Z))}),[Z,N,v]);const x=()=>{b([]),g([]),D((0,A.Cp)())},U=e=>{if(!I)return;const t=j("AddLayerModal.externalWmsFolder");let r=T().getLayerByName(I,t);if(!r){r=new(p())({layers:[]}),r.set("name",t);const e=I.getLayerGroup().getLayers();e.insertAt(e?.getLength()||0,r)}e.forEach((e=>{if(!r.getLayers().getArray().includes(e)){let t;if(e.set("isExternalLayer",!0),e instanceof f()&&(t=e.getSource()?.getUrl()),e instanceof h()){const r=e.getSource()?.getUrls();t=1===r?.length?r[0]:void 0}const a={name:e.get("name"),type:e instanceof h()?"TILEWMS":"WMS",opacity:e.getOpacity(),sourceConfig:{layerNames:e.getSource()?.getParams().LAYERS,url:t,useBearerToken:!1}};e.set("layerConfig",a),r.getLayers().push(e)}})),x()};return n().createElement(i.Z,W({className:"add-layer-modal",title:j("AddLayerModal.title"),open:N,onCancel:x,width:600,footer:[n().createElement(l.Z,{"aria-label":"add-all",key:"add-all",disabled:m?.length<1,onClick:()=>{U(m)}},j("AddLayerModal.addAllLayers")),n().createElement(l.Z,{"aria-label":"add-selected",key:"add-selected",disabled:y?.length<1,onClick:()=>{const e=m.filter((e=>y.includes((0,d.getUid)(e))));U(e)}},j("AddLayerModal.addSelectedLayers"))]},e),n().createElement(s.Z.Search,{"aria-label":"input-search",placeholder:j("AddLayerModal.inputPlaceholder"),value:v,onChange:e=>{L(e.target.value)},onSearch:async()=>{if(P)try{r(!0);const e=await S().getWmsCapabilities(P),t=S().getLayersFromWmsCapabilities(e,"Title");g(t)}catch(e){o.Z.error({message:j("AddLayerModal.errorMessage"),description:j("AddLayerModal.errorDescription")})}finally{r(!1)}},enterButton:!0,addonBefore:n().createElement(c.default,{"aria-label":"select-version",defaultValue:"1.3.0",onChange:M,options:[{value:"1.3.0",label:`${j("AddLayerModal.version")} 1.3.0`},{value:"1.1.1",label:`${j("AddLayerModal.version")} 1.1.1`}]})}),n().createElement(u.Z,{"aria-label":"wms-table",loading:t,columns:[{title:j("AddLayerModal.columnTitle"),render:(e,t)=>t.get("title")}],rowKey:e=>(0,d.getUid)(e),rowSelection:{selectedRowKeys:y,onChange:b},pagination:!1,dataSource:m}))},H=r(96024),Y=r(62239),q=r.n(Y),J=r(76688);const X=()=>(0,a.useContext)(J.ZP);var Q=X;function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const t=P()(),r=Q(),{t:o,i18n:i}=(0,E.useTranslation)();(0,a.useEffect)((()=>{if(!t)return;const e=T().getLayersByProperty(t,"isExternalLayerGroup",!0);if(1!==e?.length)return;const r=e[0],a=e[0].get("name");r.set("name",o("AddLayerModal.externalWmsFolder"));const n=new H.ObjectEvent("change:layers","name",a);r.dispatchEvent(n)}),[i.language,t,o]);const l=[];return r&&r.forEach((e=>{if((t=e.integration)&&"map"===t.placement){const{key:t,wrappedComponent:r}=e;l.push(n().createElement(r,{key:t}))}var t})),t?n().createElement(q(),ee({map:t},e),l):n().createElement(n().Fragment,null)},re=r(76772),ae=r(87617),ne=r.n(ae),oe=r(78494),ie=r.n(oe),le=r(67914),se=r(93419),ce=r(43922),ue=r.n(ce),de=r(28630),me=r.n(de),pe=r(78459),ge=r(77257);var fe=()=>(0,a.useContext)(ge.ZP);var ye=()=>{const e=fe();return(0,a.useCallback)((async t=>{let r;const a=t.layer.getSource();if(a instanceof ue()&&(r=a.getUrl()),a instanceof me()){const e=a.getUrls();r=e?e[0]:void 0}if(!r)return;r.endsWith("?")&&(r=r.slice(0,-1));const n={"Content-Type":"application/xml"},o=await fetch(r,{method:"POST",headers:t.layer?.get("useBearerToken")?{...n,...(0,pe.getBearerTokenHeader)(e?.getKeycloak())}:n,body:(new XMLSerializer).serializeToString(t.transaction)});if(!o.ok)throw new Error("No successful response while executing a WFS-Transaction");const i=await o.text();if((new DOMParser).parseFromString(i,"text/xml").getElementsByTagName("wfs:FAILED").length>0)throw new Error(`Something failed: ${i}`);return i}),[e])},he=r(30381),Ee=r.n(he),be=r(67829),we=r(31100),ve=r.n(we),Se=r(98859),Le=r(9676),Te=r(48301),ke=r(48592),Pe=r(12028),Fe=r(23279),Ce=r.n(Fe),Ze=r(14293),Oe=r.n(Ze),Ae=r(13218),Me=r.n(Ae),Ne=r(12038),De=r.n(Ne),Ie=r(61465),je=r(37477),xe=r(59417),Ue=r(70982),Re=r(9253),Be=r(58904),$e={};$e.styleTagTransform=_(),$e.setAttributes=R(),$e.insert=x().bind(null,"head"),$e.domAPI=I(),$e.insertStyleElement=$();N()(Be.Z,$e),Be.Z&&Be.Z.locals&&Be.Z.locals;function ze(){return ze=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[o,s]=(0,a.useState)(!1),{t:c}=(0,E.useTranslation)();return e?n().createElement(n().Fragment,null,n().createElement(l.Z,{className:"json-modal-button",title:c("JsonModal.buttonTitle",{propertyName:t}),onClick:()=>{s(!0)},icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.IA$})},c("JsonModal.buttonTitle",{propertyName:t})),n().createElement(i.Z,ze({open:o,onCancel:()=>{s(!1)},width:800,title:t,footer:!1},r),n().createElement(Re.ZP,{height:"500px",language:"json",value:JSON.stringify(JSON.parse(e),null," "),options:{automaticLayout:!0,readOnly:!0,lineNumbers:"off",scrollBeyondLastLine:!1,minimap:{enabled:!1},scrollbar:{useShadows:!1},showFoldingControls:"always",selectionHighlight:!1,renderLineHighlight:"none",occurrencesHighlight:!1}}))):n().createElement(n().Fragment,null)};function Ge(){return Ge=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:i}=(0,E.useTranslation)();let l="";"string"==typeof r&&(l=r),"boolean"==typeof r&&(l=i(r?"DisplayField.yesText":"DisplayField.noText")),Number.isFinite(r)&&(l=(new Intl.NumberFormat).format(Number(r))),(0,he.isMoment)(r)&&(l=r.format(e)),Array.isArray(r)&&(l=r.join(", "));return r&&(e=>{let t="string"!=typeof e?JSON.stringify(e):e;try{t=JSON.parse(t)}catch(e){return!1}return"object"==typeof t&&null!==t})(r)?n().createElement(_e,{value:r,label:a}):n().createElement(je.Z.Text,Ge({className:"displayfield"},o),l,l&&t?` ${t}`:"")},We=r(36449),Ke=r(58548);function He(){return He=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=fe(),{t:a}=(0,E.useTranslation)();return r?n().createElement(We.default,He({multiple:!0,name:"file",action:"/files/uploadToFileSystem",withCredentials:!0,headers:{...(0,Ke.getCsrfTokenHeader)(),...(0,pe.getBearerTokenHeader)(r.getKeycloak())},onRemove:async e=>{const t=e?.response?.fileUuid;if(t){const e=`${r?.getBasePath()}files/${t}`;return await fetch(e,{method:"DELETE",credentials:"same-origin",headers:{...(0,Ke.getCsrfTokenHeader)(),...(0,pe.getBearerTokenHeader)(r?.getKeycloak())}})}},onPreview:async e=>{if(!r)return;const{response:t}=e,a=t?.fileName,n=`/files/${t?.fileUuid}`;if(Oe()(a)||Oe()(t?.fileUuid))return;const o=document.createElement("a");document.body.appendChild(o);const i={headers:{...(0,pe.getBearerTokenHeader)(r.getKeycloak())}},l=await fetch(n,i),s=await l.blob();let c=window.URL.createObjectURL(s);o.href=c,o.download=a,o.click(),window.URL.revokeObjectURL(c)}},e?.fieldProps,t),n().createElement(l.Z,null,a("FileUpload.upload"))):n().createElement(n().Fragment,null)};var qe=()=>{const e=fe();return(0,a.useCallback)((async t=>{if(Oe()(t))return Promise.reject();const r=await fetch(t,{credentials:"include",headers:{...(0,pe.getBearerTokenHeader)(e?.getKeycloak())}}),a=await r.blob();return new Promise(((e,t)=>{try{const t=new FileReader;t.onload=function(){e(this.result)},t.readAsDataURL(a)}catch(e){t(e)}}))}),[e])};function Je(){return Je=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[r,o]=(0,a.useState)(!1),[l,s]=(0,a.useState)(""),c=fe(),u=qe(),{t:d}=(0,E.useTranslation)();return c?n().createElement(n().Fragment,null,n().createElement(We.default,Je({accept:"image/*",multiple:!0,name:"file",action:`${c.getBasePath()}imagefiles/uploadToFileSystem`,withCredentials:!0,listType:"picture-card",headers:{...(0,Ke.getCsrfTokenHeader)(),...(0,pe.getBearerTokenHeader)(c.getKeycloak())},onRemove:async e=>{const t=e?.response?.fileUuid;if(t){const e=`${c?.getBasePath()}imagefiles/${t}`;return await fetch(e,{method:"DELETE",credentials:"same-origin",headers:{...(0,Ke.getCsrfTokenHeader)(),...(0,pe.getBearerTokenHeader)(c?.getKeycloak())}})}},onPreview:async e=>{const{response:t}=e;if(Oe()(t)||Oe()(t?.fileUuid))return;const r=`${c?.getBasePath()}imagefiles/${t.fileUuid}`,a=await u(r);s(a),o(!0)}},e?.fieldProps,t),n().createElement("div",null,n().createElement(Ue.FontAwesomeIcon,{icon:xe.r8p}),n().createElement("div",{style:{marginTop:8}},d("ImageUpload.upload")))),n().createElement(i.Z,{open:r,footer:null,onCancel:()=>o(!1)},n().createElement("img",{alt:"example",style:{width:"100%"},src:l}))):n().createElement(n().Fragment,null)},Qe=r(99327),et={};et.styleTagTransform=_(),et.setAttributes=R(),et.insert=x().bind(null,"head"),et.domAPI=I(),et.insertStyleElement=$();N()(Qe.Z,et),Qe.Z&&Qe.Z.locals&&Qe.Z.locals;function tt(){return tt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const a=fe(),o=C(),{t:i}=(0,E.useTranslation)(),l=O((e=>e.editFeature.formDirty)),u=e=>n().createElement(Ve,e.fieldProps),d=e=>{if(a)switch(e.component){case"CHECKBOX":return n().createElement(Le.Z,e?.fieldProps);case"DATE":return n().createElement(Te.Z,e?.fieldProps);case"DISPLAY":return n().createElement("span",e?.fieldProps);case"INPUT":return n().createElement(s.Z,e?.fieldProps);case"NUMBER":return n().createElement(ke.Z,e?.fieldProps);case"SELECT":return n().createElement(c.default,tt({allowClear:!0},e?.fieldProps));case"SWITCH":return n().createElement(Pe.Z,e?.fieldProps);case"TEXTAREA":return n().createElement(s.Z.TextArea,e?.fieldProps);case"UPLOAD":return"IMAGE"===e?.fieldProps?.type?n().createElement(Xe,e?.fieldProps):n().createElement(Ye,e?.fieldProps);default:return De().error(`Component type "${e?.component}" is not supported`),n().createElement(n().Fragment,null)}};return n().createElement(Se.Z,tt({className:"edit-feature-form",form:t,labelCol:{span:8},labelAlign:"left",labelWrap:!0,onValuesChange:Ce()((async e=>{e&&!l&&o((0,Ie.uQ)(!0))}),250)},r),e?.map((e=>{let t;e.readOnly?t=u(e):e.component?t=d(e):(De().warn("FieldConfig is missing `readOnly`, `component` or `dataType` property."),t=n().createElement(s.Z,{key:e.propertyName,placeholder:""}));const r={rules:[]};return r.rules=[{required:e.required}],"SWITCH"!==e.component&&"CHECKBOX"!==e.component||e.readOnly||(r.valuePropName="checked"),"UPLOAD"!==e.component||e.readOnly||(r.valuePropName="fileList",r.getValueFromEvent=e=>Array.isArray(e)?e:e&&e.fileList),n().createElement(Se.Z.Item,tt({key:e.propertyName,name:e.propertyName,label:e.displayName||e.propertyName},r,e.fieldProps),t)})))};const at=e=>["gml:MultiPoint","gml:Point","gml:MultiLineString","gml:LineString","gml:MultiPolygon","gml:Polygon"].includes(e);var nt=()=>{const e=fe();return(0,a.useCallback)((async t=>{let r;const a=t.getSource();if(a instanceof ue()&&(r=a.getUrl()),a instanceof me()){const e=a.getUrls();r=e?e[0]:void 0}if(!r)return;r.endsWith("?")&&(r=r.slice(0,-1));const n={SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:"2.0.0",OUTPUTFORMAT:"application/json",TYPENAMES:t.getSource()?.getParams().LAYERS},o={"Content-Type":"application/json"},i=await fetch(`${r}?${w().objectToRequestString(n)}`,{method:"GET",headers:t.get("useBearerToken")?{...o,...(0,pe.getBearerTokenHeader)(e?.getKeycloak())}:o});if(!i.ok)throw new Error("No successful response while executing a WFS-Transaction");return await i.json()}),[e])};var ot=()=>{const e=P()(),t=nt(),r=fe();return(0,a.useCallback)((async a=>{const n=e=>{const t={...e.getFieldsValue()};for(const[n,o]of Object.entries(t))if(void 0===o&&(t[n]=null),e.getFieldInstance(n)||delete t[n],(0,he.isMoment)(o)&&(t[n]=o.toISOString()),Array.isArray(o)&&o.length>0&&(a=o[0],!Oe()(a)&&a.uid&&!Oe()(a.name)&&!Oe()(a.type)&&!Oe()(a.uid)&&Me()(a.response)&&!Oe()(a.response.id)&&!Oe()(a.response.fileUuid)&&!Oe()(a.response.fileName)&&!Oe()(a.response.fileType))){const e=o.map((e=>({uid:e.uid,lastModified:e.lastModified,name:e.name,type:e.type,url:`${r?.getBasePath()}files/${e.response.fileUuid}`,response:{id:e.response?.id,created:e.response?.created,fileName:e.response?.fileName,fileType:e.response?.fileType,fileUuid:e.response?.fileUuid}})));t[n]=JSON.stringify(e)}var a;return t};if(!e)return;const o=[],i=[],l=[],s=await t(a.layer);if(!s)return;const c=s.featureTypes[0]?.properties?.find((e=>at(e.type)));let u=!1;if(a.upsertFeatures)for(const e of a.upsertFeatures){const t=new(ie()),r=e.getGeometry()?.clone();r&&!(0,be.isEmpty)(r.getExtent())&&(t.set(c?.name||"geom",r),t.setGeometryName(c?.name||"geom")),a.form&&t.setProperties(n(a.form));const l=!!e.getId();l&&!u&&(u=!0),l&&t.setId(e.getId()),l?i.push(t):o.push(t)}a.deleteFeatures&&l.push(...a.deleteFeatures);const d={featureNS:s.targetNamespace,featurePrefix:s.targetPrefix,featureType:a.layer.getSource()?.getParams().LAYERS,srsName:e.getView().getProjection().getCode(),version:"1.1.0",nativeElements:[]},m=(new(ve())).writeTransaction(o,i,l,d);if(u&&ne().wfsLockFeatureEnabled){const e=m.getRootNode(),t=document.createElementNS("http://www.opengis.net/wfs","LockId"),r=document.createTextNode("GeoServer");t.appendChild(r),e.appendChild(t)}return m}),[r,t,e])},it=r(68781),lt=r(273),st=r(69616),ct={};ct.styleTagTransform=_(),ct.setAttributes=R(),ct.insert=x().bind(null,"head"),ct.domAPI=I(),ct.insertStyleElement=$();N()(st.Z,ct),st.Z&&st.Z.locals&&st.Z.locals;function ut(){return ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const o=P()();(0,a.useEffect)((()=>{document.querySelectorAll("#map")[0]?.classList.toggle("bisected",!!e)}),[e]);return n().createElement(lt.Z,ut({className:"map-drawer",mask:!1,open:e,placement:"right",width:getComputedStyle(document.documentElement).getPropertyValue("--editDrawerWidth"),afterOpenChange:()=>{o?.updateSize()}},r),t)},mt=r(50963),pt=r(22177);var gt=()=>{const e=fe(),t=P()(),r=nt();return(0,a.useCallback)((async a=>{if(!t)return;const n=await r(a.layer);if(!n)return;let o;const i=a.layer.getSource();if(i instanceof ue()&&(o=i.getUrl()),i instanceof me()){const e=i.getUrls();o=e?e[0]:void 0}if(!o)return;o.endsWith("?")&&(o=o.slice(0,-1));const l=(new(ve())).writeGetFeature({srsName:t.getView().getProjection().getCode(),featureNS:n.targetNamespace,featurePrefix:n.targetPrefix,featureTypes:[i?.getParams().LAYERS],outputFormat:"application/json",filter:a.filter}),s={"Content-Type":"application/json"},c=await fetch(o,{method:"POST",headers:a.layer?.get("useBearerToken")?{...s,...(0,pe.getBearerTokenHeader)(e?.getKeycloak())}:s,body:(new XMLSerializer).serializeToString(l)});if(!c.ok)throw new Error("No successful response");return await c.json()}),[e,r,t])},ft=r(36609),yt=r(41609),ht=r.n(yt),Et=r(11939),bt=r.n(Et),wt=r(95336),vt=r.n(wt),St=r(74997),Lt=r.n(St),Tt=r(50915),kt=r.n(Tt),Pt=r(34478),Ft=r.n(Pt),Ct=r(46657),Zt=r.n(Ct),Ot=r(23694),At=r.n(Ot),Mt=r(36465),Nt=r(5687),Dt={};Dt.styleTagTransform=_(),Dt.setAttributes=R(),Dt.insert=x().bind(null,"head"),Dt.domAPI=I(),Dt.insertStyleElement=$();N()(Nt.Z,Dt),Nt.Z&&Nt.Z.locals&&Nt.Z.locals;function It(){return It=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=(0,a.useRef)({past:[],future:[]}),o=(0,k.useMap)(),i=C(),[l,s]=(0,a.useState)(),[,c]=(0,a.useState)(0),u=(0,a.useMemo)((()=>new(bt())),[]),d=O((e=>e.editFeature.userEditMode)),m=O((e=>e.editFeature.formDirty));(0,a.useEffect)((()=>{if(o)return l||s(Mt.DigitizeUtil.getDigitizeLayer(o)),()=>{l&&o?.removeLayer(l)}}),[l,o]),(0,a.useEffect)((()=>{r.current.past.length>0&&!m&&i((0,Ie.uQ)(!0))}),[i,r.current.past]),(0,a.useEffect)((()=>{if(l&&e?.id){l.getSource()?.clear();const t=u.readFeature(e),r=l.getSource();r.addFeature(t),c((e=>e+1)),(0,be.isEmpty)(r.getExtent())||o?.getView().fit(r.getExtent(),{padding:[50,50,50,50]})}}),[e,l,u,o]);const p=()=>{const e=l?.getSource(),a=e?.getFeatures();if(!a)return;const n=u.writeFeaturesObject(a),o=r.current.past[r.current.past.length-1];ht()(o)||(e?.clear(),e?.addFeatures(u.readFeatures(o)),r.current={past:r.current.past.slice(0,-1),future:[...r.current.future,n].slice(-t)},c((e=>e+1)))},g=()=>{const e=l?.getSource(),a=e?.getFeatures();if(!a)return;const n=u.writeFeaturesObject(a),o=r.current.future[r.current.future.length-1];ht()(o)||(e?.clear(),e?.addFeatures(u.readFeatures(o)),r.current={future:r.current.future.slice(0,-1),past:[...r.current.past,n].slice(-t)},c((e=>e+1)))},f=t=>{y(),e.geometry.type.toLocaleLowerCase().startsWith("multi")||l?.getSource()?.clear()},y=()=>{const e=l?.getSource()?.getFeatures();if(!e)return;const t=u.writeFeaturesObject(e);r.current={...r.current,past:[...r.current.past,t].slice(-10)},c((e=>e+1))},h={tooltipPlacement:"left",tooltipProps:{mouseEnterDelay:.5}};return l&&d.includes("EDIT_GEOMETRY")?n().createElement(At(),{className:"geometry-edit-tb",alignment:"vertical"},n().createElement(Zt(),null,d.includes("CREATE")?n().createElement(Lt(),It({icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.TzT}),pressedIcon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.TzT}),name:"draw",digitizeLayer:l,tooltip:(0,ft.t)("EditFeatureGeometryToolbar.draw"),drawType:e.geometry.type,onDrawEnd:f},h)):n().createElement(n().Fragment,null),d.includes("UPDATE")?n().createElement(kt(),It({icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.ubJ}),pressedIcon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.ubJ}),name:"edit",digitizeLayer:l,tooltip:(0,ft.t)("EditFeatureGeometryToolbar.edit"),onModifyStart:y,onModifyEnd:y,onTranslateEnd:y},h)):n().createElement(n().Fragment,null),d.includes("DELETE")?n().createElement(vt(),It({icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.$aW}),pressedIcon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.$aW}),name:"delete",digitizeLayer:l,tooltip:(0,ft.t)("EditFeatureGeometryToolbar.delete"),onFeatureRemove:y},h)):n().createElement(n().Fragment,null)),n().createElement(Ft(),It({icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.X7o}),tooltip:(0,ft.t)("EditFeatureGeometryToolbar.undo"),onClick:p,disabled:0===r.current.past?.length},h)),n().createElement(Ft(),It({icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.X7o,flip:"horizontal"}),tooltip:(0,ft.t)("EditFeatureGeometryToolbar.redo"),onClick:g,disabled:0===r.current.future?.length},h))):n().createElement(n().Fragment,null)},xt=r(72488);function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const o=e?.map(((e,a)=>({label:e.title,key:`${a}`,forceRender:!0,children:n().createElement(rt,{name:e.title,form:t,initialValues:r,formConfig:e.children})})));return n().createElement(xt.Z,Ut({items:o},a))},Bt=r(24565);function $t(){return $t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{}),onSuccess:o=(()=>{}),...i})=>{const[s,c]=(0,a.useState)(!1),{t:u}=(0,E.useTranslation)(),d=(0,k.useMap)(),m=ot(),p=ye();return n().createElement(Bt.Z,{title:u("DeleteButton.confirm"),onConfirm:async()=>{if(d&&t&&(0,se.isWmsLayer)(t))try{c(!0);const r=(new(bt())).readFeature(e),a=await m({deleteFeatures:[r],layer:t});if(!a)return;await p({layer:t,transaction:a}),t.getSource()?.refresh(),o()}catch(e){le.Logger.error(e),r(e)}finally{c(!1)}},placement:"bottomRight"},n().createElement(l.Z,$t({type:"primary",loading:s,disabled:!e.id,danger:!0,icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.$aW})},i),u("DeleteButton.title")))};function _t(){return _t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:a}=(0,E.useTranslation)(),o=(0,k.useMap)(),i=C();return n().createElement(l.Z,_t({type:"primary",onClick:()=>{if(t.resetFields(),i((0,Ie.uQ)(!1)),o){const t=Mt.DigitizeUtil.getDigitizeLayer(o);if(t){t.getSource()?.clear();const r=(new(bt())).readFeature(e);t.getSource()?.addFeature(r)}}},icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.XnX})},r),a("ResetButton.title"))},Vt=r(97598),Wt={};Wt.styleTagTransform=_(),Wt.setAttributes=R(),Wt.insert=x().bind(null,"head"),Wt.domAPI=I(),Wt.insertStyleElement=$();N()(Vt.Z,Wt),Vt.Z&&Vt.Z.locals&&Vt.Z.locals;var Kt=r(33354),Ht={};Ht.styleTagTransform=_(),Ht.setAttributes=R(),Ht.insert=x().bind(null,"head"),Ht.domAPI=I(),Ht.insertStyleElement=$();N()(Kt.Z,Ht),Kt.Z&&Kt.Z.locals&&Kt.Z.locals;var Yt=({loadComplete:e=!1})=>n().createElement("div",{className:e?"feedback-icon":"feedback-icon hidden"},n().createElement("div",{className:e?"checkmark":"checkmark-hidden"}));function qt(){return qt=Object.assign?Object.assign.bind():function(e){for(var t=1;t{}),onSuccess:o=(()=>{}),...i})=>{const[s,c]=(0,a.useState)(!1),[u,d]=(0,a.useState)(!1),m=(0,k.useMap)(),p=ot(),g=ye(),f=C(),y=O((e=>e.editFeature.formDirty)),{t:h}=(0,E.useTranslation)();return n().createElement(l.Z,qt({className:"save-button",type:"primary",onClick:async()=>{if(!m)return;if(!t||!(0,se.isWmsLayer)(t))return;const a=Mt.DigitizeUtil.getDigitizeLayer(m);if(!a)return void le.Logger.error("Cannot find the digitize layer");const n=a.getSource()?.getFeatures();if(n&&0!==n.length){try{await e.validateFields()}catch(e){return void le.Logger.warn("Validation has failed: ",e)}try{c(!0);const r=await p({upsertFeatures:n,form:e,layer:t});if(!r)return;const a=await g({layer:t,transaction:r});t.getSource()?.refresh(),d(!0),setTimeout((()=>{d(!1)}),3e3),o(a)}catch(e){le.Logger.error(e),r(e)}finally{c(!1),f((0,Ie.uQ)(!1))}}else le.Logger.error("Cannot save feature without geometry")},loading:s,disabled:!y,icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.EdJ})},i),h("SaveButton.title"),n().createElement(Yt,{loadComplete:u}))},Xt=r(38775),Qt={};Qt.styleTagTransform=_(),Qt.setAttributes=R(),Qt.insert=x().bind(null,"head"),Qt.domAPI=I(),Qt.insertStyleElement=$();N()(Xt.Z,Qt),Xt.Z&&Xt.Z.locals&&Xt.Z.locals;var er=({feature:e,layer:t,form:r,onSaveSuccess:a=(()=>{}),onSaveError:o=(()=>{}),onDeleteSuccess:i=(()=>{}),onDeleteError:l=(()=>{})})=>{const s=O((e=>e.editFeature.userEditMode));return n().createElement("div",{className:"edit-feature-toolbar"},s.includes("CREATE")||s.includes("UPDATE")?n().createElement(n().Fragment,null,n().createElement(Gt,{feature:e,form:r}),n().createElement(Jt,{form:r,layer:t,onSuccess:a,onError:o})):n().createElement(n().Fragment,null),s.includes("DELETE")&&n().createElement(zt,{feature:e,layer:t,onSuccess:i,onError:l}))};var tr=({feature:e,layer:t})=>{const{t:r}=(0,E.useTranslation)(),o=gt(),i=qe(),[l,s]=(0,a.useState)(),[c,u]=(0,a.useState)(),[d,m]=(0,a.useState)(),[p]=(O((e=>e.editFeature.userEditMode)),(0,mt.cI)()),g=P()(),f=C(),y=fe(),h=(0,a.useCallback)((async e=>{if(!t||!(0,se.isWmsLayer)(t))return;const r=await o({layer:t,filter:(0,pt.equalTo)("id",e)});r?.features[0]&&f((0,Ie.hr)(r?.features[0]))}),[f,o,t]),b=(0,a.useCallback)((async()=>{if(!g||!y)return;let r=t.get("editFormConfig");if(0===r?.length)return void le.Logger.warn(`Layer ${t.get("name")} has no 'editFormConfig' set`);const a=structuredClone(e?.properties)||{},n=Object.entries(a).map((async([e,t])=>{const n=r?.filter((t=>t.children?.find((t=>t.propertyName===e))));if(n.length>1&&le.Logger.warn(`Property ${e} is configured in multiple tabs. Is this intended?`),n&&n[0]){const r=n[0].children?.some((t=>t.propertyName===e&&"DATE"===t.component));r&&(a[e]=Ee()(t));const o=n[0].children?.some((t=>t.propertyName===e&&"UPLOAD"===t.component));if(o)if(t)try{const r=JSON.parse(t);a[e]=r;const n=r[0].response?.type?.startsWith("image/")?"imagefiles/":"files/",o=r.map((async e=>({...e,url:await i(`${y.getBasePath()}${n}${e?.response?.fileUuid}`)}))),l=await Promise.all(o);a[e]=l}catch(t){le.Logger.error("Could not parse file list from JSON config: ",t),a[e]=[]}else a[e]=[]}}));await Promise.all(n),p.resetFields(),p.setFieldsValue(a),s(r),u(a)}),[g,y,t,e?.properties,p,i]);(0,a.useEffect)((()=>{b()}),[b]);return n().createElement(n().Fragment,null,n().createElement(jt,{feature:e}),d&&n().createElement(re.Z,{className:"error-alert",message:d,type:"error",showIcon:!0}),n().createElement(er,{feature:e,layer:t,form:p,onSaveSuccess:e=>{if(!e)return;m(void 0);const t=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("ogc:FeatureId"),r=t.item(0)?.getAttribute("fid"),a=r?.split(".")[1];a&&h(a)},onSaveError:()=>{m(r("EditFeatureFullForm.saveErrorMsg"))},onDeleteSuccess:()=>{m(void 0),f((0,Ie.hr)(null))},onDeleteError:()=>{m(r("EditFeatureFullForm.deleteErrorMsg"))}}),n().createElement(Rt,{tabConfig:l,initialValues:c,form:p}))};var rr=()=>{const e=fe();return(0,a.useCallback)((async t=>{let r;const a=t.layer.getSource();if(a instanceof ue()&&(r=a.getUrl()),a instanceof me()){const e=a.getUrls();r=e?e[0]:void 0}if(!r)return;r.endsWith("?")&&(r=r.slice(0,-1));const n=(e=>{const t=e.feature.id,r=e.feature.properties;if(!t||!r)return void De().warn("Either the id of the feature or its properties (or even both) aren't available");let a;a="number"==typeof t?t:parseInt(t.split(".")[1],10);const n=Object.entries(r).find((([,e])=>e===a||e===a.toString()));if(!n)return void De().warn("Count not detect the id property");const o=n[0],i=e.layer.getSource()?.getParams().LAYERS,l=document.createElementNS("http://www.opengis.net/wfs/2.0","LockFeature");l.setAttribute("service","WFS"),l.setAttribute("version","2.0.0"),l.setAttribute("expiry","300"),l.setAttribute("lockAction","SOME");const s=document.createElementNS("http://www.opengis.net/wfs/2.0","Query");s.setAttribute("typeNames",i);const c=document.createElementNS("http://www.opengis.net/fes/2.0","Filter"),u=document.createElementNS("http://www.opengis.net/fes/2.0","PropertyIsEqualTo"),d=document.createElementNS("http://www.opengis.net/fes/2.0","ValueReference"),m=document.createTextNode(o);d.appendChild(m);const p=document.createElementNS("http://www.opengis.net/fes/2.0","Literal"),g=document.createTextNode(a.toString());return p.appendChild(g),u.appendChild(d),u.appendChild(p),c.appendChild(u),s.appendChild(c),l.appendChild(s),l})({layer:t.layer,feature:t.feature});if(!n)return;const o={"Content-Type":"application/xml"},i=await fetch(r,{method:"POST",headers:t.layer?.get("useBearerToken")?{...o,...(0,pe.getBearerTokenHeader)(e?.getKeycloak())}:o,body:(new XMLSerializer).serializeToString(n)});if(!i.ok)throw new Error("No successful response while executing a WFS-LockFeature");const l=await i.text();if((new DOMParser).parseFromString(l,"text/xml").getElementsByTagName("wfs:FeaturesNotLocked").length>0)throw new Error(`Error while locking a feature: ${l}`);return l}),[e])};var ar=(e,t,r)=>{const n=(0,k.useMap)(),o=fe(),i=(0,a.useCallback)((async a=>{if(!n||!e)return;const i=a.coordinate,l=n.getView().getResolution();if(!l)return;const s=e.getSource(),c=s?.getFeatureInfoUrl(i,l,n.getView().getProjection(),{INFO_FORMAT:"application/json",BUFFER:10}),u={"Content-Type":"application/json"};if(c)try{n.getTargetElement().style.cursor="wait";const r=await fetch(c,{method:"GET",headers:e.get("useBearerToken")?{...u,...(0,pe.getBearerTokenHeader)(o?.getKeycloak())}:u});if(!r.ok)throw new Error("No successful response");const a=await r.json();t&&t(a)}catch(e){le.Logger.error("Error: ",e),r&&r()}finally{n.getTargetElement().style.cursor=""}}),[o,e,n,t,r]),l=(0,a.useCallback)((t=>{if(!n||!e)return;if(t.dragging)return;const r=e.getData(t.pixel);if(!(r instanceof Uint8ClampedArray))return;const a=r&&r[3]>0;n.getTargetElement().style.cursor=a?"pointer":""}),[e,n]);(0,a.useEffect)((()=>{if(n)return n.on("pointermove",l),n.on("singleclick",i),()=>{n.un("pointermove",l),n.un("singleclick",i)}}),[n,l,i])},nr=r(97555),or={};or.styleTagTransform=_(),or.setAttributes=R(),or.insert=x().bind(null,"head"),or.domAPI=I(),or.insertStyleElement=$();N()(nr.Z,or),nr.Z&&nr.Z.locals&&nr.Z.locals;var ir=({layer:e,onLockSuccess:t=(()=>{}),onLockError:r=(()=>{}),onCreate:o=(()=>{})})=>{const[i,s]=(0,a.useState)(!1),c=nt(),u=rr(),d=C(),m=P()(),{t:p}=(0,E.useTranslation)(),g=O((e=>e.editFeature.userEditMode));ar(e,(async a=>{if(a.features.length&&(g.includes("UPDATE")||g.includes("DELETE"))){const n=a.features[0];if(!e||!n)return;if(ne().wfsLockFeatureEnabled)try{const r=await u({layer:e,feature:n});if(!r)return;d((0,Ie.hr)(n)),t(r)}catch(e){r(e)}else d((0,Ie.hr)(n))}}));return n().createElement("div",{className:"edit-feature-switch"},g.includes("CREATE")&&n().createElement(n().Fragment,null,g.includes("UPDATE")&&n().createElement("div",null,p("EditFeatureSwitch.usageHint")),n().createElement(l.Z,{loading:i,onClick:async()=>{const t=await(async()=>{if(m&&e)try{s(!0);const t=await c(e);if(!t)return;const r=t.featureTypes[0]?.properties?.find((e=>at(e.type)));switch(r?.type){case"gml:MultiPoint":return"MultiPoint";case"gml:Point":return"Point";case"gml:MultiLineString":return"MultiLineString";case"gml:LineString":return"LineString";case"gml:MultiPolygon":return"MultiPolygon";case"gml:Polygon":return"Polygon"}}catch(e){De().error(e)}finally{s(!1)}})();t&&(d((0,Ie.hr)({type:"Feature",properties:{},geometry:{type:t,coordinates:[]}})),o())}},p("EditFeatureSwitch.createFeature"))),!g.includes("CREATE")&&(g.includes("UPDATE")||g.includes("DELETE"))&&n().createElement("div",null,p("EditFeatureSwitch.limitedUsageHint")))},lr=r(16409),sr={};sr.styleTagTransform=_(),sr.setAttributes=R(),sr.insert=x().bind(null,"head"),sr.domAPI=I(),sr.insertStyleElement=$();N()(lr.Z,sr),lr.Z&&lr.Z.locals&&lr.Z.locals;function cr(){return cr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:t}=(0,E.useTranslation)(),[r,o]=(0,a.useState)(),[l,s]=(0,a.useState)(!1),[c,u]=(0,a.useState)(t("EditFeatureDrawer.featureEditor")),d=O((e=>e.editFeatureDrawerOpen)),m=O((e=>e.editFeature.layerId)),p=O((e=>e.editFeature.feature)),g=O((e=>e.editFeature.formDirty)),f=P()(),y=C(),h=ot(),b=ye();(0,a.useEffect)((()=>{if(!f||!m)return;const e=T().getLayerByOlUid(f,m);e&&(0,se.isWmsLayer)(e)?(u(`${t("EditFeatureDrawer.featureEditor")} - ${e.get("name")}`),o(e)):le.Logger.warn(`Could not find layer with id ${m}`)}),[f,m,t]);const w=async()=>{await(async()=>{if(r&&p&&p.id&&ne().wfsLockFeatureEnabled)try{const e=new(ie());e.setId(p.id);const t=await h({layer:r,deleteFeatures:[],upsertFeatures:[e]});if(!t)return;await b({layer:r,transaction:t})}catch(e){le.Logger.error("Error while releasing the lock on the feature")}})(),y((0,it.Cp)()),y((0,Ie.mc)()),s(!1)};return n().createElement(dt,cr({className:"map-drawer edit-feature-drawer",onClose:()=>{r&&p&&g?i.Z.confirm({maskClosable:!1,title:t("EditFeatureDrawer.closeDrawerWarnTitle"),content:t("EditFeatureDrawer.closeDrawerWarnContent"),okType:"danger",onOk:w}):w()},open:d,title:c},e),!r&&n().createElement(re.Z,{message:t("EditFeatureDrawer.noLayerFoundError"),type:"error",showIcon:!0}),l&&n().createElement(re.Z,{message:t("EditFeatureDrawer.isFeatureLockedErrorMsg"),type:"error",showIcon:!0}),r&&m&&!p&&n().createElement(ir,{layer:r,onLockSuccess:()=>{s(!1)},onLockError:()=>{s(!0)},onCreate:()=>{s(!1)}}),r&&p&&n().createElement(tr,{feature:p,layer:r}))},dr=r(27049),mr=r(99837),pr=r.n(mr),gr=r(5090),fr=r.n(gr),yr=r(85050),hr=r(40849),Er=r.n(hr),br=r(78415),wr={};wr.styleTagTransform=_(),wr.setAttributes=R(),wr.insert=x().bind(null,"head"),wr.domAPI=I(),wr.insertStyleElement=$();N()(br.Z,wr),br.Z&&br.Z.locals&&br.Z.locals;function vr(){return vr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const t=X(),{t:r}=(0,E.useTranslation)(),o=O((e=>e.legal)),i=P()(),s=(e,r)=>{t.forEach((t=>{if((a=t.integration)&&"footer"===a.placement&&t.integration?.placementOrientation===e){const{key:e,wrappedComponent:a}=t;r.splice(t.integration?.insertionIndex||0,0,n().createElement(a,{key:e}))}var a}))};if((0,a.useEffect)((()=>{if(!i)return;i.getControls().getArray().find((e=>e instanceof fr()))||i.addControl(new(fr())({target:"scale-line-container"}))}),[i]),(0,a.useEffect)((()=>{if(!i)return;i.getControls().getArray().find((e=>e instanceof pr()))||i.addControl(new(pr())({coordinateFormat:(0,yr.createStringXY)(2),projection:i.getView().getProjection(),target:"mouse-position"}))}),[i]),!i)return n().createElement(n().Fragment,null);const c=()=>{window.open(o.contact,"_blank")},u=()=>{window.open(o.imprint,"_blank")},d=()=>{window.open(o.privacy,"_blank")};return n().createElement("div",vr({className:"footer"},e),n().createElement("div",{className:"item-container left-items"},(()=>{const e=[n().createElement("div",{key:"scale-line-container",id:"scale-line-container","aria-label":"scale-line"}),n().createElement(dr.Z,{key:"scale-line-divider",type:"vertical"}),n().createElement("div",{key:"scale-combo-container",className:"scale-combo","aria-label":"scale-combo"},r("Footer.scale"),": ",n().createElement(Er(),{"aria-label":"scalecombo-dropdown",map:i}),n().createElement(dr.Z,{type:"vertical"})),n().createElement("div",{key:"reference-system-container",className:"reference-system","aria-label":"reference-system"},r("Footer.refSystem"),": ",i.getView().getProjection().getCode(),n().createElement(dr.Z,{type:"vertical"})),n().createElement("div",{key:"mouse-position-container",className:"mouse-position-wrapper"},r("Footer.mousePosition"),": ",n().createElement("div",{id:"mouse-position",className:"mouse-position","aria-label":"mouse-position"}))];return s("left",e),e})()),n().createElement("div",{className:"item-container right-items"},(()=>{const e=[n().createElement(l.Z,{key:"open-contact",onClick:c,type:"link"},r("Footer.contact")),n().createElement(l.Z,{key:"open-imprint",onClick:u,type:"link"},r("Footer.imprint")),n().createElement(l.Z,{key:"open-privacy",onClick:d,type:"link"},r("Footer.privacypolicy"))];return t.length>0&&s("right",e),e})()))},Lr=r(31987),Tr=r(69755),kr=r.n(Tr);function Pr(){return Pr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const t=P()(),{t:r}=(0,E.useTranslation)(),[o,i]=(0,a.useState)();return(0,a.useEffect)((()=>{const e=t?.getView().getProjection(),r=t?.getView()?.get("extent");if(r){const t=(0,Lr.transformExtent)(r,e,"EPSG:4326");i(t.toString())}}),[t]),t?n().createElement(kr(),Pr({map:t,countryCodes:"",allowClear:!0,nominatimBaseUrl:"https://nominatim.terrestris.de/search.php?",placeholder:r("Nominatim.placeholder"),viewBox:o||""},e)):n().createElement(n().Fragment,null)},Cr=r(24616),Zr=r(40110),Or=r(79090),Ar=r(14277),Mr=r(13013),Nr=r(7739),Dr=r.n(Nr),Ir=r(23860),jr=r.n(Ir),xr=r(61890),Ur=r.n(xr),Rr=r(76514),Br=r.n(Rr),$r=r(21736),zr=r.n($r),_r=r(41640),Gr=r.n(_r),Vr=r(17173),Wr=r.n(Vr),Kr=r(85516),Hr={};Hr.styleTagTransform=_(),Hr.setAttributes=R(),Hr.insert=x().bind(null,"head"),Hr.domAPI=I(),Hr.insertStyleElement=$();N()(Kr.Z,Hr),Kr.Z&&Kr.Z.locals&&Kr.Z.locals;const Yr=e=>e.map((e=>`(${e.trim()}*^3 OR *${e.trim()}*^2 OR ${e.trim()}~1)`)).join(" AND ");var qr=({searchValue:e,map:t})=>{let r=e.trim().replaceAll(/[()\\\-_./\/]/g," ").split(" ").map((e=>e.trim())).filter((e=>""!==e));const a=[];return t.getAllLayers().forEach((e=>{if(e.get("searchable")&&(0,se.isWmsLayer)(e)){const t=e.get("searchConfig"),n=e.getSource()?.getParams().LAYERS;t?.attributes?a.push({query:`(featureType:"${n}" AND (${Yr(r)}))`,fieldList:t.attributes.join(" ")}):a.push({query:`(featureType:"${n}" AND (${Yr(r)}))`})}})),a};const Jr=e=>"fulfilled"===e.status;var Xr=({useNominatim:e})=>{const t=fe(),r=P()(),{t:o}=(0,E.useTranslation)(),i=(C(),(0,a.useRef)(null)),[l,c]=(0,a.useState)(e),[u,d]=(0,a.useState)(!0),[m,p]=(0,a.useState)(ne().search?.defaultUseViewBox??!0),[g,f]=(0,a.useState)(""),[y,h]=(0,a.useState)(!1),[b,w]=(0,a.useState)(!1),[v,S]=(0,a.useState)(!1),[L,k]=(0,a.useState)([]),[F,Z]=(0,a.useState)({}),[A,M]=(0,a.useState)([]),[N,D]=(0,a.useState)([]);O((e=>e.editFeature.userEditMode));(0,a.useEffect)((()=>(window.addEventListener("mousedown",I),()=>{window.removeEventListener("mousedown",I)})),[]);const I=e=>{const t=[];let r=e.target;for(;r;)t.unshift(r),r=r.parentNode;i.current&&i.current.contains(e.target)||w(!1)},j=(0,a.useMemo)((()=>({items:[{label:n().createElement(Le.Z,{checked:m,onChange:e=>p(e.target.checked)},o("MultiSearch.searchInViewBox")),key:"viewbox"},{label:n().createElement(Le.Z,{checked:u,onChange:e=>d(e.target.checked)},o("MultiSearch.searchData")),key:"data"},{label:n().createElement(Le.Z,{checked:l,onChange:e=>c(e.target.checked)},o("MultiSearch.searchNominatim")),key:"nominatim"}]})),[u,l,m,o]),x=(0,a.useCallback)((async()=>{const e=ne().search?.minChars??3;if(g.length{const r={q:e.query,rows:ne().search?.solrQueryConfig?.rowsPerQuery??100,defType:ne().search?.solrQueryConfig?.queryParser??"edismax"};if(e.fieldList?r.qf=e.fieldList:r.qf=ne().search?.coreName??"search",m&&n){const e=`geometry:[${n[1]},${n[0]} TO ${n[3]},${n[2]}]`;r.fq=e}ne().search?.useSolrHighlighting&&(r.hl=!0,r["hl.fl"]="*",r["hl.tag.pre"]=ne().search?.solrQueryConfig?.tagPre??"",r["hl.tag.post"]=ne().search?.solrQueryConfig?.tagPost??"",r["hl.requireFieldMatch"]=ne().search?.solrQueryConfig?.requireFieldMatch??!0);return fetch(a.href,{method:"POST",headers:{"Content-Type":"application/json",...(0,pe.getBearerTokenHeader)(t?.getKeycloak())},body:JSON.stringify(r)})})),i=(await Promise.allSettled(o.map((async e=>(await e).json())))).filter(Jr),l=i.flatMap((e=>e.value?.response?.docs)),s=Object.assign({},...i.map((e=>e.value?.highlighting)));k(l),Z(s)}catch(e){k([]),Z({}),De().error("Error while fetching the layer search results: ",e)}finally{l||h(!1)}if(l)try{const e=new URL("https://nominatim.terrestris.de/search");e.searchParams.set("q",g),e.searchParams.set("format","json"),e.searchParams.set("polygon_geojson","1"),m&&n&&(e.searchParams.set("viewbox",n.toString()),e.searchParams.set("bounded","1")),a=await fetch(e.href),M(await a.json())}catch(e){M([]),De().error("Error while fetching the nominatim results: ",e)}finally{h(!1)}}),[g,u,l,m,r,t]),U=(0,a.useCallback)(((e,t)=>{if(!r)return"";const a=T().getLayerByNameParam(r,e.featureType[0]),n=a?.get("searchConfig"),o=["category","id","featureType","geometry","search"];let i="";if(n?.displayTemplate)return l=n.displayTemplate,s=e,l.replace(/{\s*(\w+?)\s*}/g,((e,t)=>s[t]?.toString()||""));var l,s;if(t){const e=Object.keys(t).filter((e=>!o.includes(e)));if(e.length>0){return`${t[e[0]]} [${e[0]}]`}}return Object.keys(e).filter((e=>!o.includes(e))).forEach((t=>{let r=e[t]?.toString();!i&&r.toLowerCase().indexOf(g?.toLowerCase())>-1&&(i=`${r} [${t}]`)})),i||(i=e.id),i}),[g,r]);(0,a.useEffect)((()=>{if(!r)return;let e=[];if(A.length>0){const t=new(bt()),a=A.filter((e=>!Oe()(e?.geojson))).map((e=>{const a=t.readFeature(e.geojson,{dataProjection:"EPSG:4326",featureProjection:r.getView().getProjection()});return a.set("title",e.display_name),a})),n={title:o("MultiSearch.nominatimTitle"),features:a};e.push(n)}if(L?.length>0){const t=new(jr()),a=Dr()(L,(e=>e?.category[0]));Object.keys(a).forEach((n=>{const o={title:n,features:a[n].map((e=>{if(!e?.geometry?.[0])return;const a=e.id,n=t.readGeometry(e.geometry[0],{dataProjection:"EPSG:4326",featureProjection:r.getView().getProjection()}),o=new(ie())({geometry:n});let i;if(o.set("title",U(e,F?.[a])),e.featureType?.[0]){const t=T().getLayerByNameParam(r,e.featureType?.[0]);t&&(o.set("layer",t),i=t.get("name"))}else i=a.substring(0,a.lastIndexOf("_"));return o.set("ftName",i),o})).filter((e=>e))};e.push(o)}))}w(!0),D(e)}),[L,F,A,r,U,o]),(0,a.useEffect)((()=>{const e=ne().search?.delay??1e3,t=setTimeout((()=>{x()}),e);return()=>clearTimeout(t)}),[x]);const R=()=>{k([]),M([])},B=e=>{const t=e.feature.get("layer");if(!t?.get("editable"))return;return[n().createElement(n().Fragment,null)]},$=(0,a.useMemo)((()=>new(Gr())({stroke:new(zr())({color:"rgb(255,0,0)",width:2}),fill:new(Br())({color:"rgba(255,255,255, 0.5)"}),image:new(Ur())({radius:10,fill:new(Br())({color:"rgba(255,255,255, 0.5)"}),stroke:new(zr())({color:"rgb(255,0,0)",width:3})})})),[]);return r?n().createElement("div",{ref:i},n().createElement(s.Z,{value:g,disabled:!u&&!l,onChange:e=>{h(""!==e.target.value),f(e.target.value)},allowClear:!0,addonAfter:n().createElement(Mr.Z,{placement:"bottomRight",menu:j,trigger:["click"],onOpenChange:S,open:v},n().createElement(Cr.Z,null)),onFocus:()=>w(!0),placeholder:o("MultiSearch.searchPlaceholder"),prefix:n().createElement(Zr.Z,null),suffix:y?n().createElement(Or.Z,null):null}),(()=>{if(g.length<2||!b||y||!L)return null;const e=A.length+L.length;return 0===e?n().createElement("div",{className:"no-search-result-div"},n().createElement(Ar.Z,{image:Ar.Z.PRESENTED_IMAGE_SIMPLE})):n().createElement(Wr(),{searchResults:N,numTotal:e,accordion:!0,searchTerms:g.split(" "),actionsCreator:B,layerStyle:$})})()):n().createElement(n().Fragment,null)},Qr=r(42686),ea={};ea.styleTagTransform=_(),ea.setAttributes=R(),ea.insert=x().bind(null,"head"),ea.domAPI=I(),ea.insertStyleElement=$();N()(Qr.Z,ea),Qr.Z&&Qr.Z.locals&&Qr.Z.locals;var ta=()=>{const e=O((e=>e.searchEngines.includes("nominatim"))),t=O((e=>e.searchEngines.includes("solr")));return e||t?n().createElement("div",{className:"search","aria-label":"search-field"},t?n().createElement(Xr,{"aria-label":"search",useNominatim:e}):n().createElement(Fr,{"aria-label":"search"})):(De().warn("Neither nominatim nor solr search is configured."),n().createElement(n().Fragment,null))},ra=r(80560),aa=r.n(ra),na=r(88495),oa=r.n(na);const ia=({email:e="",size:t=80,rating:r="g",defaultImage:a="identicon",force:n=!1})=>{const o=e.toLowerCase();let i=`https://www.gravatar.com/avatar/${oa()(o)}?s=${t}&r=${r}&d=${a}`;return n&&(i=`${i}&f=y`),i};var la=r(7277);var sa=r(88885),ca={};ca.styleTagTransform=_(),ca.setAttributes=R(),ca.insert=x().bind(null,"head"),ca.domAPI=I(),ca.insertStyleElement=$();N()(sa.Z,ca),sa.Z&&sa.Z.locals&&sa.Z.locals;function ua(){return ua=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:r}=(0,E.useTranslation)(),o=O((e=>e.appInfo)),l=O((e=>e.logoPath)),s=O((e=>e.description)),[c,u]=(0,a.useState)(!1),d=()=>{u(!c)};let m;return m=e?n().cloneElement(e,{onClick:d}):n().createElement("button",{onClick:d},"Open"),n().createElement(n().Fragment,null,m,n().createElement(i.Z,ua({className:"application-info",title:r("ApplicationInfo.title"),centered:!0,open:c,onOk:d,onCancel:d,footer:null},t),n().createElement("img",{className:"logo",src:l}),n().createElement("div",{className:"description"},s),n().createElement(la.Z,{title:r("ApplicationInfo.clientVersionTitle"),value:"6.9.0"}),o.version&&o.buildTime&&n().createElement(la.Z,{title:r("ApplicationInfo.backendVersionTitle"),value:`${o.version} (${o.buildTime})`})))},ma=r(72285),pa={};pa.styleTagTransform=_(),pa.setAttributes=R(),pa.insert=x().bind(null,"head"),pa.domAPI=I(),pa.insertStyleElement=$();N()(ma.Z,pa),ma.Z&&ma.Z.locals&&ma.Z.locals;var ga=()=>{const{t:e}=(0,E.useTranslation)(),t=fe(),r=t?.getKeycloak(),a=O((e=>e.user)),o=e=>{switch(e.key){case"settings":r&&r.accountManagement();break;case"info":default:break;case"login":r&&r.login();break;case"logout":r&&r.logout()}};return n().createElement(aa(),{size:"small",imageSrc:ia({email:a.providerDetails?.email||"",size:28}),userName:n().createElement(Ue.FontAwesomeIcon,{icon:xe.gc2}),userMenu:(()=>{const t={key:"login",icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.Yem}),label:e("UserMenu.loginMenuTitle")},i={key:"username",label:n().createElement("div",{className:"user-name","aria-label":"user-name"},n().createElement("span",null,a.providerDetails?.email))},l={type:"divider"},s={key:"settings",icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.gNZ}),label:e("UserMenu.settingsMenuTitle")},c={key:"info",icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.YHc}),label:n().createElement(da,{opener:n().createElement("span",{className:"info-opener","aria-label":"info-opener"},e("UserMenu.infoMenuTitle"))})},u={key:"logout",icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.HEx}),label:n().createElement("div",{"aria-label":"login"},e("UserMenu.logoutMenuTitle"))},d=[];if(ht()(a))ne().keycloak?.enabled&&d.push(t),d.push(c);else{const e=r?.tokenParsed?.resource_access?.account?.roles,t=Array.isArray(e)&&e.indexOf("manage-account")>-1?[i,l,s,c,l,u]:[i,l,c,l,u];d.push(...t)}return{items:d,onClick:o}})()})},fa=r(62923),ya={};ya.styleTagTransform=_(),ya.setAttributes=R(),ya.insert=x().bind(null,"head"),ya.domAPI=I(),ya.insertStyleElement=$();N()(fa.Z,ya),fa.Z&&fa.Z.locals&&fa.Z.locals;function ha(){return ha=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const t=Z((e=>e.title)),r=Z((e=>e.logoPath)),a=X(),o=(e,t)=>{a.forEach((r=>{if((a=r.integration)&&"header"===a.placement&&r.integration?.placementOrientation===e){const{key:e,wrappedComponent:a}=r;t.splice(r.integration?.insertionIndex||0,0,n().createElement(a,{key:e}))}var a}))};return n().createElement("div",ha({className:"header"},e),n().createElement("div",{className:"item-container left-items"},(()=>{const e=[n().createElement("img",{key:"logo",className:"logo","aria-label":"logo",src:r}),n().createElement("div",{key:"title",className:"title","aria-label":"title"},t)];return o("left",e),e})()),n().createElement("div",{className:"item-container center-items"},(()=>{const e=[n().createElement(ta,{key:"search","aria-label":"search-input",name:"search-input",className:"search-input"})];return o("center",e),e})()),n().createElement("div",{className:"item-container right-items"},(()=>{const e=[n().createElement("div",{key:"user-menu","aria-label":"user-menu"},n().createElement(ga,{key:"user-menu"}))];return o("right",e),e})()))},ba=r(99008),wa=r(45777),va=r(8303),Sa=r.n(va),La=r(6049),Ta=r(11382),ka=r(34286),Pa={};Pa.styleTagTransform=_(),Pa.setAttributes=R(),Pa.insert=x().bind(null,"head"),Pa.domAPI=I(),Pa.insertStyleElement=$();N()(ka.Z,Pa),ka.Z&&ka.Z.locals&&ka.Z.locals;function Fa(){return Fa=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[r,o]=(0,a.useState)(!1),[i,l]=(0,a.useState)(),[s,c]=(0,a.useState)(),u=fe(),{t:d}=(0,E.useTranslation)(),m=(0,a.useCallback)((async()=>{try{if(o(!0),l(""),!e||!e.get("shogunId"))throw new Error("No layer provided or the layer has no shogunId set");const t=await(u?.layer().findOne(e.get("shogunId")));c(t)}catch(e){De().error(e),l(d("LayerConfiguration.errorMessage"))}finally{o(!1)}}),[d,u,e]);return(0,a.useEffect)((()=>{m()}),[m]),i?n().createElement(re.Z,{type:"error",closable:!0,message:i}):n().createElement(Ta.Z,{spinning:r},n().createElement("pre",Fa({className:"layer-configuration"},t),n().createElement("code",null,JSON.stringify(s,null," "))))},Za=r(86201),Oa={};Oa.styleTagTransform=_(),Oa.setAttributes=R(),Oa.insert=x().bind(null,"head"),Oa.domAPI=I(),Oa.insertStyleElement=$();N()(Za.Z,Oa),Za.Z&&Za.Z.locals&&Za.Z.locals;function Aa(){return Aa=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[r,o]=(0,a.useState)(!1),[i,l]=(0,a.useState)(),[s,c]=(0,a.useState)(),u=fe(),{t:d}=(0,E.useTranslation)(),m=(0,a.useCallback)((async()=>{if(e&&(0,se.isWmsLayer)(e))try{o(!0),c(""),l(void 0);const t=await S().getWmsCapabilitiesByLayer(e,{headers:{...e.get("useBearerToken")?{...(0,pe.getBearerTokenHeader)(u?.getKeycloak())}:void 0}});l(t)}catch(e){De().error(e),c(d("LayerDetails.errorMessage"))}finally{o(!1)}}),[d,u,e]);(0,a.useEffect)((()=>{m()}),[m]);const p=()=>{if(e&&(0,se.isWmsLayer)(e))return e.getSource()?.getParams().LAYERS},g=()=>{if(!e||!(0,se.isWmsLayer)(e))return;let t;if(e.getSource()instanceof ue()&&(t=e.getSource().getUrl()),e.getSource()instanceof me()){const r=e.getSource().getUrls();t=r?r[0]:void 0}return t?w().createValidGetCapabilitiesRequest(t,"WMS","1.3.0"):void 0},f=()=>{const e=i?.Capability?.Layer?.Layer,t=p(),r=e?.find((e=>e.Name===t));return r},y=()=>{const e=f();if(e&&e.EX_GeographicBoundingBox)return[e.EX_GeographicBoundingBox.westBoundLongitude,e.EX_GeographicBoundingBox.southBoundLatitude,e.EX_GeographicBoundingBox.eastBoundLongitude,e.EX_GeographicBoundingBox.northBoundLatitude].join(", ")},h=()=>{const e=f();if(e)return e.MinScaleDenominator},b=()=>{const e=f();if(e)return e.MaxScaleDenominator},v=()=>{const e=f();if(e)return e.Abstract},L=()=>i?.Service?.Abstract,T=()=>i?.Service?.ContactInformation?.ContactElectronicMailAddress,k=()=>{const e=f();if(e)return e.Title},P=()=>i?.Service?.AccessConstraints;return s?n().createElement(re.Z,{type:"error",closable:!0,message:s}):n().createElement(Ta.Z,{spinning:r},n().createElement(Se.Z,Aa({className:"layer-details",layout:"horizontal",size:"small",labelAlign:"left",labelWrap:!0,labelCol:{flex:"150px"}},t),n().createElement(Se.Z.Item,{name:"layerName",label:d("LayerDetails.layerNameLabel")},n().createElement("span",null,p()?p():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"layerTitle",label:d("LayerDetails.layerTitleLabel")},n().createElement("span",null,k()?k():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"service-abstract",label:d("LayerDetails.serviceAbstractLabel")},n().createElement("span",null,L()?L():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"abstract",label:d("LayerDetails.abstractLabel")},n().createElement("span",null,v()?v():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"accessConstraints",label:d("LayerDetails.accessConstraintsLabel")},n().createElement("span",null,P()?P():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"CapabilitiesUrl",label:d("LayerDetails.capabilitiesUrlLabel")},n().createElement("a",{href:g()},g())),n().createElement(Se.Z.Item,{name:"contact",label:d("LayerDetails.contactLabel")},T()?n().createElement("a",{href:`mailto:${T()}`},T()):n().createElement("span",null,d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"minScale",label:d("LayerDetails.minScaleLabel")},n().createElement("span",null,h()?h():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"maxScale",label:d("LayerDetails.maxScaleLabel")},n().createElement("span",null,b()?b():d("LayerDetails.noDataPlaceholder"))),n().createElement(Se.Z.Item,{name:"bbox",label:d("LayerDetails.bboxLabel")},n().createElement("span",null,y()?y():d("LayerDetails.noDataPlaceholder")))))},Na=r(21809),Da={};Da.styleTagTransform=_(),Da.setAttributes=R(),Da.insert=x().bind(null,"head"),Da.domAPI=I(),Da.insertStyleElement=$();N()(Na.Z,Da),Na.Z&&Na.Z.locals&&Na.Z.locals;function Ia(){return Ia=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[t,r]=(0,a.useState)(),[o,s]=(0,a.useState)(!1),c=O((e=>e.layerDetailsModal.visible)),u=O((e=>e.layerDetailsModal.layerId)),d=C(),m=(0,k.useMap)(),{t:p}=(0,E.useTranslation)();(0,a.useEffect)((()=>{if(!m)return;if(!u)return void r(void 0);const e=T().getLayerByOlUid(m,u);e instanceof Sa()&&r(e)}),[m,u]);return n().createElement(i.Z,Ia({className:"layer-details-modal",title:n().createElement("div",{className:"title-group"},n().createElement("span",null,p("LayerDetailsModal.title",{layerName:t?.get("name")})),t?.get("shogunId")&&n().createElement(wa.Z,{title:p(o?"LayerDetailsModal.internalConfigurationButtonTooltip":"LayerDetailsModal.internalConfigurationButtonTooltipPressed")},n().createElement(l.Z,{type:"link",className:o?"pressed":"",icon:n().createElement(ba.Z,null),onClick:()=>{s(!o)}}))),open:c,onCancel:()=>{d((0,La.Cp)()),d((0,La.uF)(void 0))},width:800,footer:!1},e),n().createElement(Ma,{layer:t,hidden:o}),t?.get("shogunId")&&n().createElement(Ca,{layer:t,hidden:!o}))},xa=r(27279),Ua=r(1581),Ra=r.n(Ua),Ba=r(76712),$a=r(63221),za=r(85677),_a={};_a.styleTagTransform=_(),_a.setAttributes=R(),_a.insert=x().bind(null,"head"),_a.domAPI=I(),_a.insertStyleElement=$();N()(za.Z,_a),za.Z&&za.Z.locals&&za.Z.locals;var Ga=r(35895);const{Option:Va}=c.default;var Wa=()=>{const e=Object.keys(Ga.Z.services.resourceStore.data);return n().createElement("div",{className:"language-select","aria-label":"language-selector"},n().createElement(c.default,{defaultValue:Ga.Z.language||"en",onChange:e=>{Ga.Z.changeLanguage(e)}},e.map((e=>n().createElement(Va,{key:e,value:e},e.toUpperCase())))))},Ka=r(75013),Ha=r(73254),Ya=r(64302),qa=r(85175),Ja=r(48086),Xa=r(20640),Qa=r.n(Xa),en=r(17637),tn=r(35674),rn=r.n(tn),an=r(10767),nn={};nn.styleTagTransform=_(),nn.setAttributes=R(),nn.insert=x().bind(null,"head"),nn.domAPI=I(),nn.insertStyleElement=$();N()(an.Z,nn),an.Z&&an.Z.locals&&an.Z.locals;var on=()=>{const e=(0,k.useMap)(),t=(0,a.useMemo)((()=>["layerConfig","isExternalLayer","isUploadedLayer","groupName"]),[]),{t:r}=(0,E.useTranslation)(),o=e?rn().getLink(e,";",(e=>e.get("name")),(e=>(e instanceof h()||e instanceof f())&&e.getVisible()),t):"",[i,l]=(0,a.useState)(o),c=`Hey,\r\ncheck out the layer-composition I created:\r\n\r\n${i}`;return(0,a.useEffect)((()=>{if(!e)return;let r=[];const a=e=>e.get("name"),n=e=>(e instanceof h()||e instanceof f())&&e.getVisible(),o=()=>{l(rn().getLink(e,";",a,n,t))},i=()=>{e.getAllLayers().filter((e=>e.get("isExternalLayer")||e.get("isUploadedLayer"))).forEach((e=>{const t=e.get("layerConfig");t&&(t.clientConfig?t.clientConfig.opacity=e.getOpacity():t.clientConfig={opacity:e.getOpacity()},e.set("layerConfig",t))})),o()},s=e=>{const t=e.getLayers().getArray();for(let e=0;e{(0,en.unByKey)(c),(0,en.unByKey)(u),(0,en.unByKey)(r)}}),[t,e,r]),n().createElement("div",{className:"permalink-wrapper"},n().createElement("div",{className:"icons"},n().createElement(wa.Z,{title:r("Permalink.twitterTooltip")},n().createElement(Ka.Z,{onClick:function(){const e=new URL("https://twitter.com/intent/tweet");e.searchParams.set("url",c),window.open(e)}})),n().createElement(wa.Z,{title:r("Permalink.whatsAppTooltip")},n().createElement(Ha.Z,{onClick:function(){const e=new URL("https://wa.me");e.searchParams.set("text",c),window.open(e)}})),n().createElement(wa.Z,{title:r("Permalink.mailTooltip")},n().createElement(Ya.Z,{onClick:function(){const e=new URL("mailto:");e.searchParams.set("subject","SHOGun Web-GIS"),e.searchParams.set("body",c),window.open(e.toString().replace(/\+/g,"%20"),"_self")}}))),n().createElement("div",{className:"link","aria-label":"permalink-url"},n().createElement(s.Z,{value:i,readOnly:!0}),n().createElement(wa.Z,{title:r("Permalink.copyTooltip")},n().createElement(qa.Z,{onClick:function(){Qa()(i)?Ja.ZP.info(r("Permalink.copiedToClipboard")):Ja.ZP.info(r("Permalink.copyToClipboardFailed"))}}))))},ln=r(73345),sn=r(57795),cn=r.n(sn),un=r(55002),dn=r.n(un),mn=r(19867),pn=r.n(mn),gn=r(97955),fn=r.n(gn),yn=r(11032),hn=r.n(yn);class En extends(hn()){serialize(e,t){const r=super.serialize(e,t);return r.baseURL.startsWith("/geoserver/ows")&&(r.baseURL=`http://shogun-geoserver:8080${r.baseURL}`),r.baseURL.startsWith("/geoserver/SHOGUN")&&(r.baseURL=`http://shogun-geoserver:8080${r.baseURL}`),r}}var bn=En;var wn=class extends bn{serialize(e,t){const r={tileSize:[512,512],...t},a=e.getSource();if(!a||!this.validateSource(a))return;return{...super.serialize(e,r),type:fn().TYPE_WMS,...t}}},vn=r(28728);function Sn(){return Sn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[l,c]=(0,a.useState)(e),u=C();return(0,a.useEffect)((()=>{Oe()(t)||u((0,vn.eV)({[t]:l}))}),[l,t,u]),(0,a.useEffect)((()=>{c(e)}),[e]),n().createElement(s.Z,Sn({id:t,value:l,onChange:e=>c(e.target.value),placeholder:r,maxLength:o,showCount:!!(o&&o>1)},i))};function Tn(){return Tn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[i,l]=(0,a.useState)(r);return(0,a.useEffect)((()=>{e&&e.setLayout(i)}),[e,i]),(0,a.useEffect)((()=>{l(r)}),[r]),n().createElement(c.default,Tn({placeholder:t,value:i,onChange:l},o),e?.getLayouts().map((e=>n().createElement(c.default.Option,{key:e.name,value:e.name},e.name))))};function Pn(){return Pn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[l,s]=(0,a.useState)(r);return(0,a.useEffect)((()=>{e&&e.setOutputFormat(l)}),[e,l]),(0,a.useEffect)((()=>{s(r)}),[r]),n().createElement(c.default,Pn({placeholder:t,value:l,onChange:s},i),o.map((e=>n().createElement(c.default.Option,{key:e,value:e},e.toLocaleUpperCase()))))};function Cn(){return Cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[i,l]=(0,a.useState)(r);return(0,a.useEffect)((()=>{e&&e.setDpi(i)}),[e,i]),(0,a.useEffect)((()=>{l(r)}),[r]),n().createElement(c.default,Cn({placeholder:t,value:i,onChange:l},o),e?.getDpis().map((e=>n().createElement(c.default.Option,{key:e,value:e},`${e} DPI`))))};function On(){return On=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const i=P()(),[l,s]=(0,a.useState)(0);return(0,a.useEffect)((()=>{e&&l&&e.setScale(l)}),[e,l]),(0,a.useEffect)((()=>{const t=()=>{const t=e.getScale();t&&s(t)},r=i?.getInteractions().getArray().find((e=>e.get("name")===ln.MapFishPrintV3Manager.TRANSFORM_INTERACTION_NAME));if(e&&r&&r)return r.on("scaling",t),()=>{r.un("scaling",t)}}),[e,i]),(0,a.useEffect)((()=>{r&&s(r)}),[r]),n().createElement(c.default,On({placeholder:t,value:l,onChange:s},o),e?.getScales().map((e=>n().createElement(c.default.Option,{key:e,value:e},`1 : ${e.toLocaleString()}`))))},Mn=r(26398);function Nn(){return Nn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(e.get("legendUrl"))return e.get("legendUrl");if(e.getSource()instanceof me()||e.getSource()instanceof ue()){const t=e.get("customPrintLegendParams"),r=e.getSource(),{LAYERS:a,VERSION:n,FORMAT:o}=r.getParams();let i=r instanceof ue()?r.getUrl():r.getUrls()[0];i.startsWith("/geoserver/ows")&&(i=`http://shogun-geoserver:8080${i}`);const l={LAYER:a.split(",")[0],VERSION:n||"1.3.0",SERVICE:"WMS",REQUEST:"GetLegendGraphic",FORMAT:o||"image/png",...t},s=Object.keys(l).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`)).join("&");return i.startsWith("/geoserver/SHOGUN")?(i=`http://shogun-geoserver:8080${i}/service?`,`${i}${s}`):i.endsWith("?")?`${i}${s}`:`${i}?${s}`}return""};var Dn=({active:e,customPrintScales:t=[],layerBlackList:r=[],outputFormats:o=["pdf","png"],...i})=>{const[s]=Se.Z.useForm(),{t:c,i18n:u}=(0,E.useTranslation)(),d=(0,k.useMap)(),m=u.language,g=fe(),f=O((e=>e.print.customMapParams)),y=O((e=>e.print.customParams)),[h,b]=(0,a.useState)(null),[w,v]=(0,a.useState)(!1),[S,L]=(0,a.useState)(null),P=(0,a.useCallback)((e=>{if(!d)return;const t=e.get("name");return t&&!r.includes(t)&&e.getVisible()&&!(e instanceof p())&&T().layerInResolutionRange(e,d)}),[d,r]),F=(0,a.useCallback)((e=>{if(Oe()(d))return!1;const t=e.get("name"),a=!r.includes(t),n=!e.get("hideLegendInPrint"),o=e.getVisible()&&T().layerInResolutionRange(e,d),i=!(e instanceof p());if(a&&n&&o&&i){const t=d?.getView().getResolution();return t&&e.set("customPrintLegendParams",{SCALE:T().getScaleForResolution(t,"m")}),!0}return!1}),[d,r]),C=(0,a.useCallback)((async()=>{if(Oe()(d))return;let e={url:ne().print?.url||"/print",map:d,customPrintScales:d?.getView()?.getResolutions()?.map((e=>{const t=d?.getView()?.getProjection()?.getUnits();if(void 0!==e){const r=T().getScaleForResolution(e,t);if(void 0!==r)return T().roundScale(r)}})).filter((e=>void 0!==e))?.reverse(),timeout:6e4,layerFilter:P,headers:{...(0,pe.getBearerTokenHeader)(g?.getKeycloak())},transformOpts:{rotate:!1},serializers:[new(cn()),new(dn()),new(pn()),new bn,new wn],legendFilter:F};t.length>0&&(e={...e,customPrintScales:t.reverse()});const r=new ln.MapFishPrintV3Manager(e);try{await r.init();const e=r.getPrintApps();e&&m&&e.includes(m)&&await r.setPrintApp(m),r.setOutputFormat(r.getOutputFormats()[0]),r.setDpi(r.getDpis()[0]),r.setLayout(r.getLayouts()[0]?.name),b(r)}catch(e){L((()=>c("PrintForm.managerErrorMessage"))),De().error("Could not initialize print manager: ",e)}}),[g,P,F,d,c,t,m]);(0,a.useEffect)((()=>{e?h||C():(h?.shutdownManager(),b(null))}),[h,e,C]),(0,a.useEffect)((()=>{h&&(y&&h.setCustomParams(y),f&&h.setCustomMapParams(f))}),[h,y,f]);return n().createElement("div",{className:"print","aria-label":"print-form"},S&&n().createElement(re.Z,{className:"print-alert",message:S,type:"error",closable:!0,showIcon:!0,onClose:()=>{L(null)}}),h?.isInitiated()&&n().createElement(n().Fragment,null,n().createElement(Se.Z,Nn({form:s,className:"print-form",labelAlign:"left",labelCol:{flex:"90px"}},i),n().createElement(Se.Z.Item,{"aria-label":"print-title",name:"title",label:c("PrintForm.title"),initialValue:c("PrintForm.initialTitle")},n().createElement(Ln,{"aria-label":"print-title-input",maxLength:50,placeholder:c("PrintForm.titlePlaceholder")})),n().createElement(Se.Z.Item,{"aria-label":"print-comment",name:"comment",label:c("PrintForm.comment")},n().createElement(Ln,{"aria-label":"print-comment-input",maxLength:200,placeholder:c("PrintForm.commentPlaceholder")})),n().createElement(Se.Z.Item,{"aria-label":"print-layout",name:"layout",label:c("PrintForm.layout"),initialValue:h?.getLayouts()[0]?.name},n().createElement(kn,{"aria-label":"print-layout-input",printManager:h})),n().createElement(Se.Z.Item,{"aria-label":"print-scale",name:"scale",label:c("PrintForm.scale"),initialValue:h?.getClosestScaleToFitMap()},n().createElement(An,{"aria-label":"print-scale-input",printManager:h})),n().createElement(Se.Z.Item,{"aria-label":"print-dpi",name:"dpi",label:c("PrintForm.dpi"),initialValue:h.getDpis()[0]},n().createElement(Zn,{"aria-label":"print-dpi-input",printManager:h,placeholder:c("PrintForm.resolutionPlaceholder")})),n().createElement(Se.Z.Item,{"aria-label":"print-format",name:"format",label:c("PrintForm.format"),initialValue:"pdf"},n().createElement(Fn,{"aria-label":"print-format-input",printManager:h,outputFormats:o,placeholder:c("PrintForm.outputFormatPlaceholder")}))),n().createElement(l.Z,{"aria-label":"create-print",className:"print-button tool-menu-button",disabled:!h?.isInitiated(),icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.q7m}),loading:w,onClick:async()=>{try{if(L(null),v(!0),!h)return;const e=await h.print(!1);if(!e)throw new Error("No download URL available, the job has failed.");window.open(e)}catch(e){L(c("PrintForm.printJobErrorMsg")||null),De().error(e)}finally{v(!1)}}},c("PrintForm.downloadBtnText"))))},In=r(76592),jn=r.n(In),xn=r(7871),Un={};Un.styleTagTransform=_(),Un.setAttributes=R(),Un.insert=x().bind(null,"head"),Un.domAPI=I(),Un.insertStyleElement=$();N()(xn.Z,Un),xn.Z&&xn.Z.locals&&xn.Z.locals;var Rn=r(21015),Bn={};Bn.styleTagTransform=_(),Bn.setAttributes=R(),Bn.insert=x().bind(null,"head"),Bn.domAPI=I(),Bn.insertStyleElement=$();N()(Rn.Z,Bn),Rn.Z&&Rn.Z.locals&&Rn.Z.locals;var $n=r(16144),zn=r.n($n),_n=r(53772),Gn=r.n(_n);function Vn(){return Vn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[t,r]=(0,a.useState)({name:"Default Style",rules:[{name:"Area",symbolizers:[{kind:"Fill",color:"#00b72b",outlineOpacity:.8,opacity:.5,fillOpacity:.8,outlineWidth:2,outlineColor:"#00b72b"}]},{name:"Line",symbolizers:[{kind:"Line",color:"#00b72b",width:2,opacity:.8}]},{name:"Point",symbolizers:[{kind:"Mark",wellKnownName:"circle",color:"#00b72b",strokeColor:"#00b72b",strokeOpacity:.8,opacity:.5,radius:7}],filter:["==","label","undefined"]},{name:"Text",symbolizers:[{kind:"Text",label:"{{label}}",size:12,font:["sans-serif"],opacity:.8,color:"#00b72b",offset:[5,5],haloColor:"#00b72b",haloWidth:1}],filter:["!=","label","undefined"]}]}),n=(0,k.useMap)();return(0,a.useEffect)((()=>{if(!t||!n)return;const e=new(Gn());let r=T().getLayerByName(n,"react-geo_digitize");(async()=>{let a,n,o,i;for(const r of t.rules){const t={name:"",rules:[r]},l=await e.writeStyle(t);if(!l.output)return;"Fill"===r.symbolizers[0].kind&&(a=l.output),"Text"===r.symbolizers[0].kind&&(i=l.output),"Line"===r.symbolizers[0].kind&&(n=l.output),"Mark"===r.symbolizers[0].kind&&(o=l.output)}r.setStyle(((e,t)=>{const r=e.getGeometry()?.getType();if(r)return["MultiPolygon","Polygon","Circle"].includes(r)?"function"==typeof a?a(e,t):a:["MultiLineString","LineString"].includes(r)?"function"==typeof n?n(e,t):n:["MultiPoint","Point"].includes(r)?e.get("label")?"function"==typeof i?i(e,t):i:"function"==typeof o?o(e,t):o:void 0}))})()}),[t,n]),a.createElement(zn(),Vn({style:t,onStyleChange:r},e))};function Kn(){return Kn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[t,r]=(0,a.useState)(!1),{t:o}=(0,E.useTranslation)();return n().createElement(n().Fragment,null,n().createElement(l.Z,{type:"link",onClick:()=>{r(!0)},icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.XsY})},o("StylingDrawer.pickColor")),n().createElement(lt.Z,Kn({title:o("StylingDrawer.title"),placement:"right",onClose:()=>{r(!1)},open:t,mask:!1,width:"45vw",className:"color-pick-drawer"},e),n().createElement(Wn,null)))};var Yn=({showDrawPoint:e,showDrawLine:t,showDrawPolygon:r,showDrawCircle:a,showDrawRectangle:o,showDrawAnnotation:i,showModifyFeatures:l,showUploadFeatures:s,showDownloadFeatures:c,showDeleteFeatures:u})=>{const{t:d}=(0,E.useTranslation)(),m=(0,k.useMap)(),p=e=>{const t=new FileReader;t.onload=()=>{const e=(new(bt())).readFeatures(t.result);if(m){const t=m.getView().getProjection().getCode();e.forEach((e=>{e.getGeometry()?.transform("EPSG:4326",t)}));const r=Mt.DigitizeUtil.getDigitizeLayer(m).getSource();r?.addFeatures(e)}},t.readAsText(e)};return m?n().createElement(Zt(),null,e?n().createElement(Lt(),{name:"draw-point",drawType:"Point",type:"link",pressed:!1},n().createElement(Ue.FontAwesomeIcon,{icon:xe.diR}),n().createElement("span",{className:"draw-point"},d("Draw.point"))):n().createElement(n().Fragment,null),t?n().createElement(Lt(),{name:"draw-line",drawType:"LineString",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.hx$}),n().createElement("span",{className:"draw-line"},d("Draw.line"))):n().createElement(n().Fragment,null),r?n().createElement(Lt(),{name:"draw-polygon",drawType:"Polygon",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.ubJ}),n().createElement("span",{className:"draw-polygon"},d("Draw.polygon"))):n().createElement(n().Fragment,null),a?n().createElement(Lt(),{name:"draw-circle",drawType:"Circle",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.diR}),n().createElement("span",{className:"draw-circle"},d("Draw.circle"))):n().createElement(n().Fragment,null),o?n().createElement(Lt(),{name:"draw-rectangle",drawType:"Rectangle",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.pL1}),n().createElement("span",{className:"draw-rectangle"},d("Draw.rectangle"))):n().createElement(n().Fragment,null),i?n().createElement(Lt(),{name:"draw-text",drawType:"Text",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.yGG}),n().createElement("span",{className:"draw-text"},d("Draw.text"))):n().createElement(n().Fragment,null),l?n().createElement(kt(),{name:"draw-modify",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.Yai}),n().createElement("span",{className:"draw-modify"},d("Draw.modify"))):n().createElement(n().Fragment,null),s?n().createElement(jn(),{name:"draw-upload",onChange:e=>{const t=e.target.files;t&&1===t.length&&("application/geo+json"===t[0].type||"application/geojson"===t[0].type||t[0].name.includes(".geojson")||t[0].name.includes(".json"))&&p(t[0])},type:"link","aria-label":"draw-upload"},n().createElement(Ft(),{type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.cf$}),n().createElement("span",{className:"draw-upload"},d("Draw.upload")))):n().createElement(n().Fragment,null),c?n().createElement(Ft(),{name:"draw-export",onClick:()=>{const e=[];if(m){const t=m.getView().getProjection().getCode(),r=Mt.DigitizeUtil.getDigitizeLayer(m),a=r.getSource()?.getFeatures();if(a&&a.length>0){a.forEach((r=>{const a=r.clone();a.getGeometry()?.transform(t,"EPSG:4326"),e.push(a)}));const r=(new(bt())).writeFeatures(e),n=new Blob([r],{type:"application/geo+json"}),o=window.URL.createObjectURL(n),i=document.createElement("a");i.href=o,i.setAttribute("download","exportedFeatures.geojson"),document.body.appendChild(i),i.click(),document.body.removeChild(i)}}},type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.q7m}),n().createElement("span",{className:"draw-export"},d("Draw.export"))):n().createElement(n().Fragment,null),u?n().createElement(vt(),{name:"draw-delete",type:"link"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.$aW}),n().createElement("span",{className:"draw-delete"},d("Draw.delete"))):n().createElement(n().Fragment,null),n().createElement(Hn,null)):n().createElement(n().Fragment,null)},qn=r(60554),Jn=r.n(qn),Xn=r(21800),Qn=r(14805),eo=r.n(Qn),to=r(81474),ro=r.n(to);var ao=e=>{const t=P()(),r=(0,a.useCallback)((async()=>{if(!t)return;if(T().getLayerByName(t,e.layerName))return;const r=new(ro()),a=new(Br())({color:"rgba(255, 255, 255, 0.15)"}),n=new(zr())({color:"rgba(209, 70, 47, 1)",width:2}),o=new(Gr())({fill:a,stroke:n,image:new(Ur())({radius:5,fill:a,stroke:n})}),i=new(eo())({source:r,style:o});i.set("name",e.layerName),t.addLayer(i)}),[t,e.layerName]),n=(0,a.useCallback)((()=>{if(!t)return;const r=T().getLayerByName(t,e.layerName);r&&t.removeLayer(r)}),[t,e.layerName]);(0,a.useEffect)((()=>(r(),()=>n())),[n,r])},no=r(47267),oo={};oo.styleTagTransform=_(),oo.setAttributes=R(),oo.insert=x().bind(null,"head"),oo.domAPI=I(),oo.insertStyleElement=$();N()(no.Z,oo),no.Z&&no.Z.locals&&no.Z.locals;function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[o]=(0,mt.cI)();(0,a.useEffect)((()=>{o.setFieldsValue(t.getProperties())}),[t,o]);return n().createElement(Se.Z,io({className:"feature-info-form",form:o,labelCol:{span:8},labelAlign:"left",labelWrap:!0},r),e?.map((e=>n().createElement(Se.Z.Item,io({key:e.propertyName,name:e.propertyName,label:e.displayName||e.propertyName},e.fieldProps),n().createElement(Ve,io({label:e.displayName||e.propertyName},e.fieldProps))))))},so=r(8533),co=r(95441),uo=r.n(co),mo=r(8155),po={};po.styleTagTransform=_(),po.setAttributes=R(),po.insert=x().bind(null,"head"),po.domAPI=I(),po.insertStyleElement=$();N()(mo.Z,po),mo.Z&&mo.Z.locals&&mo.Z.locals;function go(){return go=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:i}=(0,E.useTranslation)(),s=C(),c=(0,k.useMap)(),u=O((e=>e.editFeature.userEditMode)),m=u.includes("CREATE")||u.includes("DELETE")||u.includes("UPDATE"),p=r?.get("editable");return n().createElement("div",{className:"pagination-toolbar"},n().createElement(so.Z,go({simple:!0,total:e.length,size:"small",pageSize:1},o)),n().createElement("div",{className:"copy-buttons"},m&&n().createElement(wa.Z,{key:"edit",title:i(p?"PaginationToolbar.editFeature":"PaginationToolbar.editDisabled")},n().createElement(l.Z,{type:"primary",size:"small",onClick:()=>{if(!r||!c)return;const e=t.clone(),a=(new(bt())).writeFeature(e);try{const e=JSON.parse(a),n=Mt.DigitizeUtil.getDigitizeLayer(c);if(!n)return;const o=n.getSource();if(!o)return;if(o.clear(),o.addFeature(t),(0,be.isEmpty)(o.getExtent()))return;c.getView().fit(o.getExtent(),{padding:[150,150,150,150]}),s((0,Ie.vN)((0,d.getUid)(r))),s((0,Ie.hr)(e)),s((0,it.$Z)())}catch(e){De().error("Could not parse GeoJSON: ",e)}},icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.Xcf}),disabled:!p})),n().createElement(wa.Z,{title:i("PaginationToolbar.copyAsGeoJson")},n().createElement(l.Z,{type:"primary",size:"small",onClick:()=>{if(!t)return;const e=t.clone();if(a){const t=Object.entries(e.getProperties()),r=t.filter((([e,t])=>a(e,t)));for(const[r,a]of t)a instanceof uo()||e.unset(r);e.setProperties(Object.fromEntries(r))}Qa()((new(bt())).writeFeature(e))},icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.E9T})})),n().createElement(wa.Z,{title:i("PaginationToolbar.copyAsObject")},n().createElement(l.Z,{type:"primary",size:"small",onClick:()=>{if(!t)return;let e=Object.entries(structuredClone(t.getProperties())).filter((([,e])=>!(e instanceof uo())));a&&(e=e.filter((([e,t])=>a(e,t)))),Qa()(JSON.stringify(Object.fromEntries(e)))},icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.OGB})}))))},yo=r(17368),ho={};ho.styleTagTransform=_(),ho.setAttributes=R(),ho.insert=x().bind(null,"head"),ho.domAPI=I(),ho.insertStyleElement=$();N()(yo.Z,ho),yo.Z&&yo.Z.locals&&yo.Z.locals;function Eo(){return Eo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[l,s]=(0,a.useState)(1),[c,u]=(0,a.useState)(),d=P()(),m=`selection-layer-${t}`;ao({layerName:m}),(0,a.useEffect)((()=>{if(!d)return;const t=T().getLayerByName(d,m);t&&(t.getSource()?.clear(),s(1),e.length>0&&u(e[0]))}),[e,d,m]),(0,a.useEffect)((()=>{if(!c||!d)return;const e=T().getLayerByName(d,m);e&&(e.getSource()?.clear(),e.getSource()?.addFeature(c))}),[c,d,m]);if(!o||!c)return n().createElement(n().Fragment,null);const p=o.filter((e=>void 0!==e)).map(((e,t)=>({label:e.title,key:`${t}`,forceRender:!0,children:n().createElement(lo,{name:e.title,feature:c,formConfig:e.children})})));return n().createElement("div",{className:"feature-info-tabs"},n().createElement(fo,{features:e,selectedFeature:c,current:l,layer:r,onChange:t=>{t<1||(s(t),u(e[t-1]))},exportFilter:e=>{let t=!1;for(const r of o)if(r.children)for(const a of r.children)if(a.propertyName===e){t=!0;break}return t}}),n().createElement(xt.Z,Eo({items:p},i)))},wo=r(56864),vo=r.n(wo),So=r(86092),Lo={};Lo.styleTagTransform=_(),Lo.setAttributes=R(),Lo.insert=x().bind(null,"head"),Lo.domAPI=I(),Lo.insertStyleElement=$();N()(So.Z,Lo),So.Z&&So.Z.locals&&So.Z.locals;function To(){return To=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[o,i]=(0,a.useState)(),[l,s]=(0,a.useState)(),[c,u]=(0,a.useState)([]),d=P()(),{t:m}=(0,E.useTranslation)(),p=`selection-layer-${t}`;ao({layerName:p}),(0,a.useEffect)((()=>{if(!d)return;const t=T().getLayerByName(d,p);t&&(t.getSource()?.clear(),i(1),e.length>0&&s(e[0]))}),[e,d,p]),(0,a.useEffect)((()=>{if(!l||!d)return;const e=T().getLayerByName(d,p);if(!e)return;const t=Object.entries(l.getProperties()).filter((([,e])=>e instanceof uo())).map((([e])=>e));u(t),e.getSource()?.clear(),e.getSource()?.addFeature(l)}),[l,d,p]);const g=t=>{i(t),s(e[t-1])};if(!l)return n().createElement(n().Fragment,null);const f=l.getKeys().filter((e=>!c.includes(e.toLocaleLowerCase())));return n().createElement(vo(),To({className:"property-grid",feature:l,attributeFilter:f,size:"small",sticky:!0,title:()=>n().createElement(fo,{features:e,selectedFeature:l,current:o,onChange:g}),columns:[{title:m("FeaturePropertyGrid.key"),dataIndex:"attributeName",key:"attributeName",width:"50%",ellipsis:!0,defaultSortOrder:"ascend",sorter:(e,t)=>e.key.localeCompare(t.key)},{title:m("FeaturePropertyGrid.value"),dataIndex:"attributeValue",key:"attributeValue",width:"50%",ellipsis:!0}],scroll:{scrollToFirstRowOnChange:!0,y:"calc(100% - 90px)"}},r))},Po=r(16813),Fo={};Fo.styleTagTransform=_(),Fo.setAttributes=R(),Fo.insert=x().bind(null,"head"),Fo.domAPI=I(),Fo.insertStyleElement=$();N()(Po.Z,Fo),Po.Z&&Po.Z.locals&&Po.Z.locals;function Co(){return Co=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:r}=(0,E.useTranslation)(),o=(0,k.useMap)(),i=fe(),l=Q(),s=C(),[c,u]=(0,a.useState)([]),m=e=>!!e.get("hoverable")&&(e instanceof f()&&e.getSource()instanceof ue()||e instanceof h()&&e.getSource()instanceof me()),p=(0,a.useCallback)((()=>{if(!o)return;const e=T().getAllLayers(o,m);u(e.filter((e=>e.getVisible())))}),[o]);if((0,a.useEffect)((()=>{if(!o)return;p();const e=T().getAllLayers(o,m);return e.forEach((e=>e.on("change:visible",p))),()=>{e.forEach((e=>e.un("change:visible",p)))}}),[o,p]),!o)return n().createElement(n().Fragment,null);const g=e=>e.split(":").length>1?e.split(":")[1]:e.split(":")[0];if(!e)return n().createElement(n().Fragment,null);return n().createElement("div",{className:"feature-info-panel"},n().createElement(Jn(),Co({featureCount:10,map:o,queryLayers:c,resultRenderer:e=>{const t=e.features,a=e.loading;if(0===Object.keys(t).length)return n().createElement("span",{className:"usage-hint"},r("FeatureInfo.usageHint"));const i=[];return Object.keys(t).forEach((e=>{let r=!1;const a=o.getAllLayers().find((t=>{if((0,se.isWmsLayer)(t)){const r=t.getSource(),a=g(r?.getParams().LAYERS);return g(e)===a}return!1}));l.forEach((t=>{if((a=t.integration)&&"feature-info"===a.placement&&(Array.isArray(t.integration.layers)&&t.integration.layers.includes(e)||!t.integration.layers)){const{key:a,wrappedComponent:o}=t;i.push({label:e,key:e,children:n().createElement(o,{key:a})}),r=!0}var a})),r||i.push({label:a?.get("name")||e,key:e,children:n().createElement("div",{key:e},a?.get("featureInfoFormConfig")?n().createElement(bo,{tabConfig:a?.get("featureInfoFormConfig"),features:t[e],layerName:e,layer:a}):n().createElement(ko,{features:t[e],layerName:e}))})})),n().createElement(Ta.Z,{spinning:a},n().createElement(xt.Z,{destroyInactiveTabPane:!0,items:i}))},fetchOpts:(()=>{const e={};return c.forEach((t=>{const r=(0,d.getUid)(t);e[r]={headers:{...t.get("useBearerToken")?{...(0,pe.getBearerTokenHeader)(i?.getKeycloak())}:void 0}}})),e})(),onSuccess:e=>{const t=e.features,r={};Object.entries(t).forEach((e=>{const t=e[0],a=e[1];r[t]=(new(bt())).writeFeatures(a)})),s((0,Xn.wl)(r))}},t)))},Oo=r(54458),Ao=r(82118),Mo=r.n(Ao),No=r(50211),Do=r.n(No),Io=r(61744),jo=r.n(Io),xo=r(78825),Uo=r.n(xo),Ro=r(65947),Bo={};Bo.styleTagTransform=_(),Bo.setAttributes=R(),Bo.insert=x().bind(null,"head"),Bo.domAPI=I(),Bo.insertStyleElement=$();N()(Ro.Z,Bo),Ro.Z&&Ro.Z.locals&&Ro.Z.locals;function $o(){return $o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[r,o]=(0,a.useState)(e.getSource()?.getParams().TIME),[i,l]=(0,a.useState)(),[s,c]=(0,a.useState)(),[u,d]=(0,a.useState)(),{t:m}=(0,E.useTranslation)();(0,a.useEffect)((()=>{const t=e.get("dimension");if(!t)return;let r;if(t.values&&(r=t.values.split(",")),!r||0===r.length)return;l(r[0]),c(r[r.length-1]),o(r[r.length-1]);const a={};if(r.forEach(((e,t)=>{a[e]=Ee()(e).format("YYYY-MM-DD")})),d(a),"current"===r.default){let e=[NaN,""];Object.values(a).forEach((t=>{let r=Ee()().diff(Ee()(t));r{o(t),e.getSource()?.updateParams({TIME:t})},step:null},t)):n().createElement("span",null,m("WmsTimeSlider.default")))},_o=r(86954),Go=r.n(_o);function Vo(){return Vo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[l,s]=(0,a.useState)(!1),[c,u]=(0,a.useState)(!1),m=C(),g=fe(),f=(0,k.useMap)(),{t:y}=(0,E.useTranslation)(),h=e.get("downloadConfig")??null,b=O((e=>e.editFeature.userEditMode)),w=async()=>{if(f){u(!0);try{let t=await Go().getExtentForLayer(e,{headers:e.get("useBearerToken")?{...(0,pe.getBearerTokenHeader)(g?.getKeycloak())}:{}});t=(0,Lr.transformExtent)(t,"EPSG:4326",f.getView().getProjection()),f.getView().fit(t)}catch(e){De().error(e),o.Z.error({message:y("LayerTreeContextMenu.extentError")})}finally{u(!1)}}},v=e=>{const t=[e];for(const r of e.getLayers().getArray())r instanceof p()&&t.push(...v(r));return t},S=e=>{const t=(e=>f?v(f.getLayerGroup()).filter((t=>t.getLayers().getArray().includes(e))):[])(e);t.forEach((t=>t.getLayers().remove(e)))},L=()=>{if(!f)return;S(e);const t=T().getLayerByName(f,y("AddLayerModal.externalWmsFolder")),r=T().getLayerByName(f,y("UploadDataModal.uploadedDataFolder"));t&&0===t.getLayers().getLength()&&S(t),r&&0===r.getLayers().getLength()&&S(r)},P=async t=>{if(!e)return;const r={method:"GET",headers:{...e.get("useBearerToken")?{...(0,pe.getBearerTokenHeader)(g?.getKeycloak())}:void 0}},a=await fetch(t,r),n=await a.blob(),o=document.createElement("a");o.href=URL.createObjectURL(n),o.setAttribute("download",e.get("name")),o.click()};let F=[];if((0,se.isWmsLayer)(e)&&F.push({label:n().createElement(Ta.Z,{spinning:c},y("LayerTreeContextMenu.layerZoomToExtent")),key:"zoomToExtent"}),(0,se.isWmsLayer)(e)&&e.getVisible()){const r=t.includes((0,d.getUid)(e));F.push({label:y(r?"LayerTreeContextMenu.hideLegend":"LayerTreeContextMenu.showLegend"),key:"toggleLegend"})}if((e.get("isExternalLayer")||e.get("isUploadedLayer"))&&F.push({label:y("LayerTreeContextMenu.removeLayer"),key:"removeExternal"}),h){const e=h.map((e=>({label:y("LayerTreeContextMenu.downloadLayer",{formatName:e.formatName??"XML"}),key:`downloadLayer|${encodeURI(e.downloadUrl)}`})));F.push(...e)}return e.get("editable")&&(b.includes("CREATE")||b.includes("UPDATE")||b.includes("DELETE"))&&F.push({label:y("LayerTreeContextMenu.editLayer"),key:"editLayer"}),F.push({label:y("LayerTreeContextMenu.layerDetails"),key:"layerDetails"}),n().createElement("div",{"aria-label":"layer-context"},n().createElement(Mr.Z,Vo({menu:{items:F,onClick:a=>{if(a?.key.startsWith("downloadLayer")){const e=a.key.split("|")[1];P(decodeURI(e))}switch(a?.key){case"zoomToExtent":w();break;case"removeExternal":L();break;case"toggleLegend":const a=(0,d.getUid)(e),n=[...t];n.includes(a)?n.splice(n.indexOf(a),1):n.push(a),r(n);break;case"editLayer":m((0,Ie.hr)(null)),m((0,Ie.vN)((0,d.getUid)(e))),m((0,it.$Z)());break;case"layerDetails":m((0,La.uF)((0,d.getUid)(e))),m((0,La.$Z)())}s(!1)}},placement:"bottomLeft",onOpenChange:s,open:l,trigger:["click"]},i),n().createElement(Ue.FontAwesomeIcon,{icon:xe.iV1})))},Ko=r(79770),Ho={};Ho.styleTagTransform=_(),Ho.setAttributes=R(),Ho.insert=x().bind(null,"head"),Ho.domAPI=I(),Ho.insertStyleElement=$();N()(Ko.Z,Ho),Ko.Z&&Ko.Z.locals&&Ko.Z.locals;function Yo(){return Yo=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const t=(0,k.useMap)(),r=fe(),{t:o}=(0,E.useTranslation)(),[i,l]=(0,a.useState)([]),[s,c]=(0,a.useState)({});(0,a.useEffect)((()=>{if(!t)return;const e=T().getAllLayers(t);return e.forEach((e=>{if(e instanceof Sa()){const t=e.getSource();t.hasListener("tileloadstart")||t.on("tileloadstart",u),t.hasListener("tileloadend")||t.hasListener("tileloaderror")||t.on(["tileloadend","tileloaderror"],m)}})),()=>{e.forEach((e=>{if(e instanceof Sa()){const t=e.getSource();t.hasListener("tileloadstart")&&t.un("tileloadstart",u),t.hasListener("tileloadend")&&t.un("tileloadend",m),t.hasListener("tileloaderror")&&t.un("tileloaderror",m)}}))}}),[t]);const u=e=>{c((t=>{const r=parseInt((0,d.getUid)(e.target),10),a={...t};return a[r]&&a[r].loaded>=a[r].loading?(a[r].loading=1,a[r].loaded=0,a[r].percent=0,a):(a[r]||(a[r]={loading:0,loaded:0,percent:0}),a[r].loading=Number.isInteger(a[r].loading)?a[r].loading+1:1,a)}))},m=e=>{c((t=>{const r=parseInt((0,d.getUid)(e.target),10),a={...t};a[r]||(a[r]={loading:0,loaded:0,percent:0}),a[r].loaded=Number.isInteger(a[r].loaded)?a[r].loaded+1:1;const n=Math.round(a[r].loaded/a[r].loading*100);return n>a[r].percent&&(a[r].percent=n),a}))};return t?n().createElement(Mo(),Yo({"aria-label":"layertree",className:"layertree",map:t,nodeTitleRenderer:e=>{if(!t)return;const a=t.getView(),c=a.getProjection().getUnits()||"m",u=a.getResolution(),m=u?T().getScaleForResolution(u,c):void 0,g=e instanceof Sa()&&(0,d.getUid)(e.getSource())?s[(0,d.getUid)(e.getSource())]?.percent:100;return e instanceof p()?n().createElement("div",{"aria-label":"layer-group"},e.get("name")):n().createElement(n().Fragment,null,n().createElement("div",{className:"tree-node-header","aria-label":"tree-node-header"},n().createElement(Oo.Z,{"aria-label":"loading-indicator",className:"loading-indicator",type:"circle",percent:g,format:()=>"",width:16,strokeWidth:20}),n().createElement("span",{"aria-label":"layer-name"},e.get("name")),(e instanceof h()||e instanceof f())&&n().createElement("div",{"aria-label":"layer-context-menu"},n().createElement(Wo,{layer:e,visibleLegendsIds:i,setVisibleLegendsIds:l}))),e.get("visible")&&n().createElement("div",{className:"layer-transparency","aria-label":"transparency-slider"},n().createElement(jo(),{tooltip:{formatter:e=>`${o("LayerTree.transparency")}: ${e}%`},layer:e})),e.get("visible")&&"WMSTIME"===e.get("type")&&n().createElement("div",{className:"layer-time-slider"},n().createElement(zo,{layer:e})),e.get("visible")&&i.includes((0,d.getUid)(e))&&n().createElement(Do(),{layer:e,errorMsg:o("LayerTree.noLegendAvailable"),extraParams:{scale:m,LEGEND_OPTIONS:"fontAntiAliasing:true;forceLabels:on",TRANSPARENT:!0},headers:e.get("useBearerToken")?{...(0,pe.getBearerTokenHeader)(r?.getKeycloak())}:{}}))},filterFunction:e=>e.getLayers?!e.get("hideInLayerTree"):!(e.getSource&&e.getSource()?.forEachFeature),draggable:!0},e)):n().createElement(n().Fragment,null)},Jo=r(40325),Xo=r.n(Jo),Qo=r(85415),ei={};ei.styleTagTransform=_(),ei.setAttributes=R(),ei.insert=x().bind(null,"head"),ei.domAPI=I(),ei.insertStyleElement=$();N()(Qo.Z,ei),Qo.Z&&Qo.Z.locals&&Qo.Z.locals;var ti=({showMeasureDistance:e,showMeasureArea:t})=>{const{t:r}=(0,E.useTranslation)(),a=(0,k.useMap)();return a?n().createElement(Zt(),null,e?n().createElement(Xo(),{geodesic:!0,name:"line",map:a,measureType:"line",type:"link",continueLineMsg:r("Measure.clicktodrawline")},n().createElement(Ue.FontAwesomeIcon,{icon:xe.SoD}),n().createElement("span",{className:"measure-text"},r("Measure.line"))):n().createElement(n().Fragment,null),t?n().createElement(Xo(),{geodesic:!0,name:"poly",map:a,measureType:"polygon",type:"link",continuePolygonMsg:r("Measure.clicktodrawarea")},n().createElement(Ue.FontAwesomeIcon,{icon:xe.ubJ}),n().createElement("span",{className:"measure-text"},r("Measure.area"))):n().createElement(n().Fragment,null)):n().createElement(n().Fragment,null)},ri=r(35818),ai={};ai.styleTagTransform=_(),ai.setAttributes=R(),ai.insert=x().bind(null,"head"),ai.domAPI=I(),ai.insertStyleElement=$();N()(ri.Z,ai),ri.Z&&ri.Z.locals&&ri.Z.locals;function ni(){return ni=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{t:t}=(0,E.useTranslation)(),r=(0,k.useMap)(),o=Q(),i=C(),s=O((e=>e.toolMenu.availableTools)),c=O((e=>e.toolMenu.activeKeys)),u=fe(),d=u?.getKeycloak(),[m,p]=(0,a.useState)(!1),[g,f]=(0,a.useState)([]);(0,a.useEffect)((()=>{const e=window.matchMedia("only screen and (max-width: 450px) and (orientation: portrait),only screen and (max-width: 750px) and (orientation: landscape), only screen and (max-width: 580px)"),t=new RegExp("/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/");(e.matches||t.test(window.navigator.userAgent))&&p(!0)}),[]),(0,a.useEffect)((()=>{g.length<1&&(s.includes("default")?f(["measure_tools","draw_tools","feature_info","print","tree","permalink","language_selector"]):f(s))}),[g,s]),(0,a.useEffect)((()=>{c.includes("print")&&c.includes("measure_tools")&&(c.indexOf("print")"print"!==e)))):i((0,Ba.wG)(c.filter((e=>"measure_tools"!==e)))))}),[c,i]);const y=e=>{switch(e){case"measure_tools":return{icon:xe.KxN,title:t("ToolMenu.measure"),wrappedComponent:n().createElement(ti,{showMeasureDistance:s.includes("default")||s.includes("measure_tools_distance"),showMeasureArea:s.includes("default")||s.includes("measure_tools_area")})};case"draw_tools":return{icon:xe.ubJ,title:t("ToolMenu.draw"),wrappedComponent:n().createElement(Yn,{showDrawPoint:s.includes("default")||s.includes("draw_tools_point"),showDrawLine:s.includes("default")||s.includes("draw_tools_line"),showDrawPolygon:s.includes("default")||s.includes("draw_tools_polygon"),showDrawCircle:s.includes("default")||s.includes("draw_tools_circle"),showDrawRectangle:s.includes("default")||s.includes("draw_tools_rectangle"),showDrawAnnotation:s.includes("default")||s.includes("draw_tools_annotation"),showModifyFeatures:s.includes("default")||s.includes("draw_tools_modify"),showUploadFeatures:s.includes("default")||s.includes("draw_tools_upload"),showDownloadFeatures:s.includes("default")||s.includes("draw_tools_download"),showDeleteFeatures:s.includes("default")||s.includes("draw_tools_delete")})};case"feature_info":return{icon:xe.kwz,title:t("ToolMenu.featureInfo"),wrappedComponent:n().createElement(Zo,{enabled:c.includes("feature_info")})};case"print":return{icon:xe.kwI,title:t("ToolMenu.print"),wrappedComponent:r?n().createElement(Dn,{active:c.includes("print"),layerBlackList:["react-geo_measure","hoverVectorLayer"]}):n().createElement(n().Fragment,null)};case"tree":return{icon:xe.aC2,title:t("ToolMenu.layertree"),wrappedComponent:n().createElement("div",{className:"tree-wrapper"},n().createElement(qo,null),n().createElement(l.Z,{className:"add-wms-button tool-menu-button",icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.r8p}),onClick:()=>i((0,A.$Z)())},t("ToolMenu.addWms")),d&&ne().geoserver?.upload?.authorizedRoles?.some((e=>d.hasResourceRole(e,d.clientId)))&&n().createElement(l.Z,{className:"upload-data-button tool-menu-button",icon:n().createElement(Ue.FontAwesomeIcon,{icon:xe.cf$}),onClick:()=>i((0,$a.$Z)())},t("ToolMenu.uploadData")))};case"permalink":return{icon:xe.M6U,title:t("Permalink.title"),wrappedComponent:n().createElement(on,null)};case"language_selector":return{icon:xe.BCn,title:t("ToolMenu.languageSelect"),wrappedComponent:n().createElement(Wa,null)}}};return n().createElement("div",{"aria-label":"tool-menu",className:"tool-menu "+(m?"collapsed":"")},n().createElement(xa.default,ni({expandIconPosition:"end",activeKey:c,destroyInactivePanel:!0,onChange:e=>{p(!1),i((0,Ba.wG)(Ra()(e)))}},e),(()=>{const e=[];return g.forEach((t=>{const r=y(t);if(!r)return;const{icon:a,title:o,wrappedComponent:i}=r,l=n().createElement(oi,{className:t,header:n().createElement(n().Fragment,null,a?n().createElement(Ue.FontAwesomeIcon,{icon:a}):void 0,n().createElement("span",null,o)),key:t},i);e.push(l)})),o&&o.forEach((r=>{if((a=r.integration)&&"tool-menu"===a.placement){const{key:a,wrappedComponent:o,integration:{placement:i,label:l="Plugin",insertionIndex:s,icon:c,...u}}=r;e.splice(s||0,0,n().createElement(oi,ni({header:n().createElement(n().Fragment,null,c?n().createElement(Ue.FontAwesomeIcon,{icon:c}):void 0,n().createElement("span",null,t(l))),key:a},u),n().createElement(o,null)))}var a})),e})()),n().createElement(wa.Z,{placement:"right",title:t(m?"ToolMenu.expand":"ToolMenu.collapse")},n().createElement(l.Z,{className:"collapse-btn","aria-label":"collapse-button",icon:m?n().createElement(Ue.FontAwesomeIcon,{icon:xe._tD}):n().createElement(Ue.FontAwesomeIcon,{icon:xe.A35}),onClick:()=>{i((0,Ba.wG)([])),p(!m)}})))},li=r(28837),si=r(73161),ci=r.n(si),ui=r(65352),di={};di.styleTagTransform=_(),di.setAttributes=R(),di.insert=x().bind(null,"head"),di.domAPI=I(),di.insertStyleElement=$();N()(ui.Z,di),ui.Z&&ui.Z.locals&&ui.Z.locals;function mi(){return mi=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[t,r]=(0,a.useState)(""),[o,l]=(0,a.useState)(""),[s,c]=(0,a.useState)(!1),u=O((e=>e.uploadDataModal.visible)),d=O((e=>e.user)),m=C(),g=(0,k.useMap)(),f=fe(),{t:y}=(0,E.useTranslation)(),h=e=>({0:null,1:"org.locationtech.jts.geom.Point",3:"org.locationtech.jts.geom.LineString",5:"org.locationtech.jts.geom.Polygon",8:"org.locationtech.jts.geom.MultiPoint",11:"org.locationtech.jts.geom.Point",13:"org.locationtech.jts.geom.LineString",15:"org.locationtech.jts.geom.Polygon",18:"org.locationtech.jts.geom.MultiPoint",21:"org.locationtech.jts.geom.Point",23:"org.locationtech.jts.geom.LineString",25:"org.locationtech.jts.geom.Polygon",28:"org.locationtech.jts.geom.MultiPoint",31:null}[e]),b=e=>{switch(e){case"C":return"java.lang.String";case"D":return"java.util.Date";case"N":return"java.lang.Long";case"F":return"java.lang.Double";case"L":return"java.lang.Boolean";default:return null}};return n().createElement(i.Z,mi({className:"upload-data-modal",title:y("UploadDataModal.title"),open:u,onCancel:()=>{r(""),l(""),m((0,$a.Cp)())},width:600,footer:!1},e),o&&n().createElement(re.Z,{message:o,closable:!0,type:"success"}),t&&n().createElement(re.Z,{message:t,closable:!0,type:"error"}),n().createElement(Ta.Z,{spinning:s},n().createElement(pi,{customRequest:async e=>{const{onError:t,onSuccess:r,file:a}=e,n=a.name.split("."),o=a.type,i=ne().geoserver?.base||"/geoserver",l=ne().geoserver?.upload?.workspace||"SHOGUN",s=`${n[0]}_${Date.now()}`.toUpperCase(),c={file:a,baseUrl:i,workspace:l,storeName:s,layerName:s};try{"image/tiff"===o&&await(async e=>{const{baseUrl:t,workspace:r,storeName:a,layerName:n,file:o}=e,i=`${t}/rest/workspaces/${r}/coveragestores/${a}/file.geotiff?configure=none`;if(!(await fetch(i,{method:"PUT",headers:{...(0,pe.getBearerTokenHeader)(f?.getKeycloak()),"Content-Type":"image/tiff"},body:o})).ok)throw new Error(y("UploadDataModal.error.general",{fileName:o.name}));const l=`${t}/rest/workspaces/${r}/coveragestores/${a}/coverages`;if(!(await fetch(l,{method:"POST",headers:{...(0,pe.getBearerTokenHeader)(f?.getKeycloak()),"Content-Type":"application/json"},body:JSON.stringify({coverage:{enabled:!0,name:n,nativeName:n,title:n,keywords:{string:["User upload",`Uploaded by ${d.providerDetails?.username}`]}}})})).ok)throw new Error(y("UploadDataModal.error.general",{fileName:o.name}))})(c),"application/zip"===o&&await(async e=>{const{baseUrl:t,workspace:r,storeName:a,layerName:n,file:o}=e,i=await li.Uv.load(o);let l="",s={attribute:[]};if(1!==Object.entries(i).length)throw new Error(y("UploadDataModal.error.zipContent"));Object.entries(i).forEach((([e,t])=>{l=e;const r=t.parse("dbf",{properties:!1});s.attribute=r.fields.map((e=>({name:e.name,minOccurs:0,maxOccurs:1,nillable:!0,binding:b(e.type),length:e.length})));const a=t.parse("shx");s.attribute.push({name:"the_geom",minOccurs:0,maxOccurs:1,nillable:!0,binding:h(a.header.type)})}));const c=`${t}/rest/workspaces/${r}/datastores/${a}/file.shp?configure=none`;if(!(await fetch(c,{method:"PUT",headers:{...(0,pe.getBearerTokenHeader)(f?.getKeycloak()),"Content-Type":"application/zip"},body:o})).ok)throw new Error(y("UploadDataModal.error.general",{fileName:o.name}));const u=`${t}/rest/workspaces/${r}/datastores/${a}/featuretypes`;if(!(await fetch(u,{method:"POST",headers:{...(0,pe.getBearerTokenHeader)(f?.getKeycloak()),"Content-Type":"application/json"},body:JSON.stringify({featureType:{enabled:!0,name:n,nativeName:l,title:n,attributes:s,keywords:{string:["User upload",`Uploaded by ${d.providerDetails?.username}`]}}})})).ok)throw new Error(y("UploadDataModal.error.general",{fileName:o.name}))})(c),r&&r({baseUrl:i,workspace:l,layerName:s})}catch(e){t&&t({name:"UploadError",message:e instanceof Error?e.message:y("UploadDataModal.error.general",{fileName:a.name})})}},accept:"image/tiff,application/zip",maxCount:1,showUploadList:!1,beforeUpload:e=>{const t=ne().geoserver?.upload?.limit||2e8,a=e.type,n=e.size;if(r(""),l(""),n>t)return r(y("UploadDataModal.error.maxSize",{maxSize:t/1e6})),!1;const o=["application/zip","image/tiff"];return!!o.includes(a)||(r(y("UploadDataModal.error.supportedFormats",{supportedFormats:o.join(", ")})),!1)},onChange:async e=>{const t=e.file;if("uploading"===t.status&&c(!0),"done"===t.status){if(!f||!t.response)return;const e={name:t.response.layerName,type:"TILEWMS",clientConfig:{hoverable:!0},sourceConfig:{url:`${t.response.baseUrl}/ows?`,layerNames:`${t.response.workspace}:${t.response.layerName}`,useBearerToken:!0}},r=new(ci())({client:f}).parseTileLayer(e);r.set("layerConfig",e),r.set("isUploadedLayer",!0),r.set("groupName",y("UploadDataModal.uploadedDataFolder")),(e=>{if(!g)return;const t=y("UploadDataModal.uploadedDataFolder");let r=T().getLayerByName(g,t);if(!r){r=new(p())({layers:[],properties:{name:t}});const e=g.getLayerGroup().getLayers();e.insertAt(e?.getLength()||0,r)}r.getLayers().getArray().includes(e)||r.getLayers().push(e)})(r),l(y("UploadDataModal.success",{fileName:t.name,layerName:t.response.layerName})),c(!1)}else"error"===t.status&&(c(!1),De().error(t.error),t.error&&t.error.message?r(t.error.message):r(y("UploadDataModal.error.general",{fileName:t.name})))}},n().createElement("p",{className:"ant-upload-drag-icon"},n().createElement(Ue.FontAwesomeIcon,{icon:xe.cf$})),n().createElement("p",{className:"ant-upload-text"},y("UploadDataModal.description")),n().createElement("p",{className:"ant-upload-hint"},y("UploadDataModal.hint")))))};var fi=async()=>{const e=(0,k.useMap)(),t=fe(),r=function(){const{search:e}=window.location;return n().useMemo((()=>new URLSearchParams(e)),[e])}(),{t:a}=(0,E.useTranslation)(),o=r.get("layers");if(!e)return;const i=rn().applyLink(e,";",(e=>e.get("name")),(e=>e instanceof h()||e instanceof f()));if(!i)return;const l=t=>{const r=new(p())({layers:[]});r.set("name",t);const a=e.getLayerGroup().getLayers();return a.insertAt(a?.getLength()||0,r),r};try{const r=JSON.parse(i);if(!t)throw new Error("Client is not available");const n=new(ci())({client:t});for(let t=0;te===t.name))),!r.get("isExternalLayer")&&!r.get("isUploadedLayer"))continue;let s;r.get("groupName")?(s=T().getLayerByName(e,r.get("groupName")),s||(s=l(r.get("groupName")))):(s=T().getLayersByProperty(e,"isExternalLayerGroup",!0)?.[0],s||(s=l(a("AddLayerModal.externalWmsFolder")),s.set("isExternalLayerGroup",!0))),T().getLayerByName(e,r.get("name"))||s.getLayers().push(r)}}}catch(e){De().error(e)}},yi=r(65705),hi={};hi.styleTagTransform=_(),hi.setAttributes=R(),hi.insert=x().bind(null,"head"),hi.domAPI=I(),hi.insertStyleElement=$();N()(yi.Z,hi),yi.Z&&yi.Z.locals&&yi.Z.locals;function Ei(){return Ei=Object.assign?Object.assign.bind():function(e){for(var t=1;t(fi(),(0,a.useEffect)((()=>{const e=document.querySelectorAll(".loadmask")[0];e&&e.classList.add("loadmask-hidden")}),[]),n().createElement("div",Ei({className:"App"},e),n().createElement(Ea,null),n().createElement(te,null),n().createElement(ii,null),n().createElement(Sr,null),n().createElement(K,null),n().createElement(gi,null),n().createElement(ur,null),n().createElement(ja,null)));var wi=bi},30845:function(e,t,r){"use strict";r.r(t);var a=r(96985),n=r.n(a),o=r(9253),i=r(88182),l=r(38648),s=r(76772),c=r(17699),u=r(67502),d=r(87617),m=r.n(d),p=r(6767),g=r.n(p),f=r(15059),y=r(94671),h=r(70791),E=r(23213),b=r.n(E),w=r(87851),v=r.n(w),S=r(78388),L=r.n(S),T=r(31987),k=r(63102),P=r.n(k),F=r(28630),C=r.n(F),Z=r(39665),O=r.n(Z),A=r(20563),M=r(14589),N=r(12038),D=r.n(N),I=r(92212),j=r.n(I),x=r(91557),U=r.n(x),R=r(73161),B=r.n(R),$=r(12665),z=r.n($),_=r(76688),G=r(77257),V=r(35895),W=r(97168);const K=(0,W.oM)({name:"appInfo",initialState:{authorities:[],buildTime:"",commitHash:"",userId:-1,version:""},reducers:{setAppInfo(e,t){return t.payload}}}),{setAppInfo:H}=K.actions;var Y=K.reducer;const q=(0,W.oM)({name:"description",initialState:"",reducers:{setDescription:(e,t)=>t.payload}}),{setDescription:J}=q.actions;var X=q.reducer,Q=r(61465);const ee={contact:"https://www.terrestris.de/de/kontakt/",imprint:"https://www.terrestris.de/de/impressum/",privacy:"https://www.terrestris.de/de/datenschutzerklaerung/"},te=(0,W.oM)({name:"legal",initialState:ee,reducers:{setLegal:(e,t)=>({contact:t.payload.contact||ee.contact,imprint:t.payload.imprint||ee.imprint,privacy:t.payload.privacy||ee.privacy})}}),{setLegal:re}=te.actions;var ae=te.reducer;const ne=(0,W.oM)({name:"logoPath",initialState:"./shogun_logo.png",reducers:{setLogoPath:(e,t)=>t.payload}}),{setLogoPath:oe}=ne.actions;var ie=ne.reducer;const le=(0,W.oM)({name:"searchEngines",initialState:["nominatim"],reducers:{setSearchEngines:(e,t)=>t.payload}}),{setSearchEngines:se}=le.actions;var ce=le.reducer,ue=r(14890),de=r(20908),me=r(68781),pe=r(6049),ge=r(28728),fe=r(21800);const ye=(0,W.oM)({name:"title",initialState:"SHOGun Client",reducers:{setTitle:(e,t)=>t.payload}}),{setTitle:he}=ye.actions;var Ee=ye.reducer,be=r(76712),we=r(63221);const ve=(0,W.oM)({name:"user",initialState:{},reducers:{setUser(e,t){return t.payload}}}),{setUser:Se}=ve.actions;var Le=ve.reducer;const Te=e=>(0,ue.UY)({addLayerModal:de.ZP,appInfo:Y,description:X,editFeature:Q.ZP,editFeatureDrawerOpen:me.ZP,layerDetailsModal:pe.ZP,legal:ae,logoPath:ie,print:ge.ZP,selectedFeatures:fe.ZP,title:Ee,toolMenu:be.ZP,uploadDataModal:we.ZP,searchEngines:ce,user:Le,...e}),ke=(0,W.xC)({reducer:Te()});var Pe=r(93379),Fe=r.n(Pe),Ce=r(7795),Ze=r.n(Ce),Oe=r(90569),Ae=r.n(Oe),Me=r(3565),Ne=r.n(Me),De=r(19216),Ie=r.n(De),je=r(44589),xe=r.n(je),Ue=r(90978),Re={};Re.styleTagTransform=xe(),Re.setAttributes=Ne(),Re.insert=Ae().bind(null,"head"),Re.domAPI=Ze(),Re.insertStyleElement=Ie();Fe()(Ue.Z,Re),Ue.Z&&Ue.Z.locals&&Ue.Z.locals;const Be=n().lazy((()=>Promise.all([r.e(987),r.e(592),r.e(506)]).then(r.bind(r,83299))));var $e=function(e){return e.APP_ID_NOT_SET="APP_ID_NOT_SET",e.APP_CONFIG_NOT_FOUND="APP_CONFIG_NOT_FOUND",e}($e||{});const ze=new(z())({url:m().shogunBase||"/"}),_e=new(B())({client:ze}),Ge=e=>{switch(e){case"en":default:return u.Z;case"de":return c.Z}},Ve=async e=>{const t=await _e.parseMapView(e,{constrainOnlyCenter:!0});let r;const a=e.clientConfig?.mapView.projection,n=e.clientConfig?.mapView;if(a&&n?.extent&&4===n.extent.length){const e=(0,T.fromLonLat)([n.extent[0],n.extent[1]],a),t=(0,T.fromLonLat)([n.extent[2],n.extent[3]],a);r=[e[0],e[1],t[0],t[1]]}r&&t.set("extent",r),t.setConstrainResolution(!0);const o=await _e.parseLayerTree(e,a);return new(L())({view:t,layers:o,controls:(0,h.defaults)({zoom:!1})})},We=()=>{const e=new(v())({source:new(P())});e.set("name","OpenStreetMap");const t=new(v())({opacity:.5,visible:!0,source:new(C())({url:"https://gibs.earthdata.nasa.gov/wms/epsg3857/best/wms.cgi",projection:"EPSG:3857",params:{LAYERS:"MERRA2_2m_Air_Temperature_Assimilated_Monthly"}})});t.setProperties({name:"2-meter Air Temperature, Assimilated (Monthly, MERRA2)",hoverable:!0});const r=new(b())({layers:[t]});r.set("name","NASA Earth Observations");const a=new(b())({layers:[e]});a.set("name","Background");const n=(0,T.fromLonLat)([0,40],"EPSG:3857");return new(L())({view:new(O())({center:n,zoom:0}),layers:[a,r],controls:(0,h.defaults)({zoom:!1})})},Ke=async(e,t,a)=>{await r.I("default"),await new Promise(((e,r)=>{const a=document.createElement("script");a.src=t,a.type="text/javascript",a.async=!0,a.onload=()=>{a.parentElement?.removeChild(a),e()},a.onerror=e=>{a.parentElement?.removeChild(a),r(e)},document.head.appendChild(a)}));const n=window[e];await n.init(r.S.default);const o=[];for(const e of a){const t=(await n.get(e))();o.push(t)}return o},He=(e,t)=>"string"==typeof e?t===e:e instanceof RegExp&&e.test(t);(async()=>{try{o._m.config({paths:{vs:"./vs"}});const e=await(async()=>{const e=m().keycloak?.enabled,t=m().keycloak?.onLoadAction,r=m().keycloak?.host,a=m().keycloak?.realm,n=m().keycloak?.clientId;if(!e)return;if(!r)throw new Error("Neither config key keycloak.host nor environment KEYCLOAK_HOST is set");if(!a)throw new Error("Neither config key keycloak.realm nor environment KEYCLOAK_REALM is set");if(!n)throw new Error("Neither config key keycloak.clientId nor environment KEYCLOAK_CLIENT_ID is set");const o=new y.Z({url:`${r}`,realm:a,clientId:n});return o.onTokenExpired=async()=>{try{await o.updateToken(0)}catch(e){D().error("Error while refreshing the access token: ",e)}},await o.init({onLoad:t,checkLoginIframe:!1}),o})();e&&ze.setKeycloak(e);const t=parseInt(j().getQueryParam(window.location.href,"applicationId"),10);if(t||D().info("No application ID given, can't load any configuration."),!t&&!m().enableFallbackConfig)throw new Error($e.APP_ID_NOT_SET);let r;if(t&&(r=await(async e=>{try{D().info(`Loading application with ID ${e}`);const t=await ze.application().findOne(e);return D().info(`Successfully loaded application with ID ${e}`),t}catch(t){D().error(`Error while loading application with ID ${e}: ${t}`)}})(t)),!r&&!m().enableFallbackConfig)throw new Error($e.APP_CONFIG_NOT_FOUND);const a=r?.clientConfig?.defaultLanguage;a||V.Z.use(f.Z),await V.Z.init(V.u),a&&V.Z.changeLanguage(a);const s=(e=>{const t={"--primaryColor":"#59666C","--secondaryColor":"#70B3BE","--complementaryColor":"#FFFFFF"};return e?(e.primaryColor&&(t["--primaryColor"]=e.primaryColor),e.secondaryColor&&(t["--secondaryColor"]=e.secondaryColor),e.secondaryColor&&(t["--complementaryColor"]=e.complementaryColor),t):t})(r?.clientConfig?.theme);i.ZP.config({theme:{primaryColor:g()(s["--primaryColor"]).isLight()?g()(s["--primaryColor"]).darken(.5).hexa():s["--primaryColor"]}}),Object.keys(s).forEach((e=>{document.body.style.setProperty(e,s[e])})),ke.subscribe((()=>{document.title=ke.getState().title})),(async e=>{if(e){if(e.name&&ke.dispatch(he(e.name)),e.clientConfig?.description&&ke.dispatch(J(e.clientConfig?.description)),e.clientConfig?.legal&&ke.dispatch(re(e.clientConfig.legal)),e?.clientConfig?.theme?.logoPath&&ke.dispatch(oe(e.clientConfig.theme.logoPath)),ke.dispatch(se(["nominatim"])),e.toolConfig&&e.toolConfig.length>0){const t=[];e.toolConfig.map((e=>{e.config.visible&&"search"!==e.name&&t.push(e.name),"search"===e.name&&e.config.engines.length>0&&ke.dispatch(se(e.config.engines))})),ke.dispatch((0,be.nn)(t))}}else D().info("No application configuration provided, the default store will be loaded")})(r);const c=await(async()=>{try{D().info("Loading application info");const e=await ze.info().getAppInfo();return D().info("Successfully loaded application info"),e}catch(e){D().error("Error while loading application info: ",e)}})();(async e=>{e&&ke.dispatch(H(e))})(c);(async e=>{e&&ke.dispatch(Se(e))})(await(async e=>{if(e)try{D().info(`Loading user with ID ${e}`);const t=await ze.user().findOne(e);return D().info(`Successfully loaded user with ID ${e}`),t}catch(t){D().error(`Error while loading user with ID ${e}: `,t)}else D().info("No user ID given, can't load it's details.")})(c?.userId));const u=ze?.getKeycloak()?.tokenParsed?.realm_access?.roles;let d=["NONE"];u&&m().featureEditRoles&&(d=((e,t)=>{const{authorizedRolesForCreate:r,authorizedRolesForUpdate:a,authorizedRolesForDelete:n,authorizedRolesForEditingGeometries:o}=t,i=[];for(const t of e)r?.some((e=>He(e,t)))&&i.push("CREATE"),a?.some((e=>He(e,t)))&&i.push("UPDATE"),n?.some((e=>He(e,t)))&&i.push("DELETE"),o?.some((e=>He(e,t)))&&i.push("EDIT_GEOMETRY");return i})(u,m().featureEditRoles)),ke.dispatch((0,Q.Y3)(d));const p=await(async e=>e?await Ve(e):(D().info("No application configuration provided, the default map will be loaded"),We()))(r),h=await(async e=>{if(!m().plugins||0===m().plugins.length)return D().info("No plugins found"),[];D().info("Loading plugins");const t=[];for(const r of m().plugins){const a=r.name,o=r.resourcePath,i=r.exposedPaths;if(!a)return D().error("Required plugin configuration 'name' is not set"),t;if(!o)return D().error("Required plugin configuration 'resourcePath' is not set"),t;if(!i)return D().error("Required plugin configuration 'exposedPaths' is not set"),t;let l;D().info(`Loading plugin ${a} (with exposed paths ${i.join(" and ")}) from ${o}`);try{l=await Ke(a,o,i),D().info(`Successfully loaded plugin ${a}`)}catch(e){return D().error(`Could not load plugin ${a}:`,e),t}l.forEach((r=>{const a=r.default,o=a.component;if(a.wrappedComponent=()=>n().createElement(o,{map:e,client:ze}),a.i18n&&Object.entries(a.i18n).forEach((e=>{const t=e[0],r=e[1].translation;V.Z.addResourceBundle(t,"translation",r,!0,!0)})),a.reducers){const e=Te(a.reducers);ke.replaceReducer(e)}t.push(a)}))}return t})(p);r||l.Z.error({message:V.Z.t("Index.applicationLoadErrorMessage"),description:V.Z.t("Index.applicationLoadErrorDescription",{applicationId:t}),duration:0}),(0,A.render)(n().createElement(n().StrictMode,null,n().createElement(n().Suspense,{fallback:n().createElement("span",null)},n().createElement(G.rA,{client:ze},n().createElement(_.ol,{plugins:h},n().createElement(i.ZP,{locale:Ge(V.Z.language)},n().createElement(M.Provider,{store:ke},n().createElement(U().Provider,{value:p},n().createElement(Be,null)))))))),document.getElementById("app"))}catch(e){const t=document.querySelectorAll(".loadmask")[0];t&&t.classList.add("loadmask-hidden"),V.Z.isInitialized||(V.Z.use(f.Z),await V.Z.init(V.u));let r=V.Z.t("Index.errorDescription");if(e?.message===$e.APP_ID_NOT_SET&&(r=V.Z.t("Index.errorDescriptionAppIdNotSet")),e?.message===$e.APP_CONFIG_NOT_FOUND){const e=j().getQueryParam(window.location.href,"applicationId");r=V.Z.t("Index.errorDescriptionAppConfigNotFound",{applicationId:e})}(0,A.render)(n().createElement(n().StrictMode,null,n().createElement(s.Z,{className:"error-boundary",message:V.Z.t("Index.errorMessage"),description:r,type:"warning",showIcon:!0})),document.getElementById("app"))}})()},76688:function(e,t,r){"use strict";r.d(t,{ol:function(){return i}});var a=r(96985),n=r.n(a);const o=n().createContext([]),i=({plugins:e,children:t})=>n().createElement(o.Provider,{value:e},t);t.ZP=o},77257:function(e,t,r){"use strict";r.d(t,{rA:function(){return i}});var a=r(96985),n=r.n(a);const o=n().createContext(null),i=({client:e,children:t})=>n().createElement(o.Provider,{value:e},t);t.ZP=o},35895:function(e,t,r){"use strict";r.d(t,{Z:function(){return i},u:function(){return o}});var a=r(36609),n=r(73590);const o={resources:{de:{translation:{ApplicationInfo:{title:"Über",clientVersionTitle:"Client Version",backendVersionTitle:"Backend Version"},AddLayerModal:{addSelectedLayers:"Auswahl hinzufügen",addAllLayers:"Alle hinzufügen",inputPlaceholder:"WMS GetCapabilities URL angeben…",externalWmsFolder:"Externe Themen",title:"WMS hinzufügen",columnTitle:"Name",errorMessage:"Fehler",errorDescription:"Das Capabilities Dokument konnte nicht geladen werden, bitte prüfen Sie die URL",version:"Version"},BasicMapComponent:{processedLayersFolder:"Prozessierte Layer"},Permalink:{title:"Teilen",twitterTooltip:"Link via Twitter teilen",whatsAppTooltip:"Link via WhatsApp teilen",mailTooltip:"Link via Mail teilen",copyTooltip:"Link in die Zwischenablage kopieren",copiedToClipboard:"Link wurde in Zwischenablage kopiert",copyToClipboardFailed:"Link konnte nicht kopiert werden"},Measure:{title:"Messen",line:"Entfernung",area:"Fläche",clicktodrawline:"Zum Zeichnen einer Linie klicken",clicktodrawarea:"Zum Zeichnen einer Fläche klicken"},Draw:{point:"Punkt",line:"Linie",polygon:"Polygon",circle:"Kreis",rectangle:"Rechteck",text:"Anmerkung",modify:"Bearbeitung",upload:"Hochladen",delete:"Löschen",export:"Exportieren"},StylingDrawer:{pickColor:"Farbschema bearbeiten",title:"Farbschema bearbeiten"},FeatureInfo:{usageHint:"Klicken Sie in die Karte, um Detailinformationen zu erhalten."},FileUpload:{upload:"Dateien hochladen"},ImageUpload:{upload:"Bilder hochladen"},LayerTree:{transparency:"Transparenz",noLegendAvailable:"Keine Legende verfügbar"},LayerTreeContextMenu:{layerZoomToExtent:"Auf Layerausdehnung zoomen",extentError:"Konnte nicht auf die Layerausdehnung zoomen",removeLayer:"Layer entfernen",showLegend:"Legende anzeigen",hideLegend:"Legende ausblenden",downloadLayer:"Layer exportieren ({{formatName}})",editLayer:"Layer bearbeiten",layerDetails:"Eigenschaften"},LayerDetailsModal:{title:"Eigenschaften des Layers {{layerName}}",internalConfigurationButtonTooltip:"Interne Konfiguration anzeigen",internalConfigurationButtonTooltipPressed:"Interne Konfiguration verbergen"},LayerDetails:{noDataPlaceholder:"-",layerNameLabel:"Name",layerTitleLabel:"Titel",serviceAbstractLabel:"Service Beschreibung",abstractLabel:"Beschreibung",accessConstraintsLabel:"Nutzungseinschränkungen",capabilitiesUrlLabel:"GetCapabilities URL",contactLabel:"Kontakt",minScaleLabel:"Min. Maßstab",maxScaleLabel:"Max. Maßstab",bboxLabel:"Bounding Box",errorMessage:"Fehler beim Laden der Layer Capabilities"},LayerConfiguration:{errorMessage:"Fehler beim Laden der internen Konfiguration"},ToolMenu:{expand:"Menu ausklappen",collapse:"Menu einklappen",measure:"Messen",draw:"Zeichnen",featureInfo:"Karteninhalte abfragen",addWms:"WMS hinzufügen",uploadData:"Daten hochladen",print:"Export",layertree:"Karten",languageSelect:"Sprachauswahl"},PrintForm:{title:"Kartentitel",initialTitle:"Druckausgabe",titlePlaceholder:"Bitte geben Sie einen Titel ein",comment:"Bemerkung",commentPlaceholder:"Bitte geben Sie einen Kommentar ein",layout:"Vorlage",dpi:"Auflösung",format:"Format",scale:"Maßstab",downloadBtnText:"Ausdruck erzeugen",printJobErrorMsg:"Der Kartenausdruck konnte nicht erzeugt werden",initErrorMsg:"Der Kartendruck Generator konnte nicht initialisiert werden.",outputFormatPlaceholder:"Bitte wählen Sie ein Ausgabeformat aus",resolutionPlaceholder:"Bitte wählen Sie eine Ausgabequalität aus",managerErrorMessage:"Fehler bei der Initialisierung der Export-Engine"},Footer:{refSystem:"Bezugssystem",scale:"Maßstab",mousePosition:"Mausposition",imprint:"Impressum",contact:"Kontakt",privacypolicy:"Datenschutz"},Index:{applicationLoadErrorMessage:"Fehler beim Laden der Applikation",applicationLoadErrorDescription:"Die Applikation mit der ID {{applicationId}} konnte nicht geladen werden. Die Standardkonfiguration wird stattdessen geladen.",errorMessage:"Fehler beim Laden der Applikation",errorDescription:"Aufgrund eines unerwarteten Fehlers konnte die Applikation nicht geladen werden.",errorDescriptionAppIdNotSet:"Keine Applikations-ID angegeben. Bitte geben Sie die ID als Abfrageparameter an, z.B. ?applicationId=1909",errorDescriptionAppConfigNotFound:"Die Applikation mit der ID {{applicationId}} konnte nicht geladen werden."},Nominatim:{placeholder:"Ortsname, Straßenname, Stadtteilname, POI usw."},UserMenu:{settingsMenuTitle:"Profil bearbeiten",infoMenuTitle:"Über",logoutMenuTitle:"Ausloggen",loginMenuTitle:"Anmelden"},WmsTimeSlider:{title:"Zeitlicher Bezug",default:"Keine Daten gefunden"},UploadDataModal:{title:"Daten hochladen",uploadedDataFolder:"Hochgeladene Daten",description:"Klicken Sie oder ziehen Sie die Datei zum Hochladen in diesen Bereich",hint:"Unterstützte Dateiformate sind Shapefile (gebündelt als *.zip) und GeoTIFF",success:"Datei {{fileName}} wurde erfolgreich geladen und der Layer {{layerName}} erstellt",error:{general:"Fehler beim Hochladen der Datei {{fileName}}",maxSize:"Der Upload überschreitet das Limit von {{maxSize}} MB",supportedFormats:"Der Dateityp ist nicht unterstützt ({{supportedFormats}})",zipContent:"Mehrere Geodatensätze innerhalb eines Archivs sind nicht unterstützt"}},MultiSearch:{searchInViewBox:"Im aktuellen Kartenausschnitt suchen",searchData:"Layerdaten durchsuchen",searchNominatim:"Ortssuche (Nominatim)",nominatimTitle:"Ortssuche",searchPlaceholder:"Orts- und Datensuche…"},EditFeatureDrawer:{featureEditor:"Objekteditor",noLayerFoundError:"Kein passender Layer gefunden - das Editieren ist nicht möglich.",isFeatureLockedErrorMsg:"Das ausgewählte Objekt wird bereits in einer anderen Sitzung bearbeitet.",closeDrawerWarnTitle:"Wollen Sie wirklich fortfahren?",closeDrawerWarnContent:"Dadurch werden alle nicht gespeicherten Änderungen an dem Objekt verworfen."},EditFeatureSwitch:{usageHint:"Objekt zum Editieren auf der Karte auswählen oder…",limitedUsageHint:"Zum Editieren bitte eine Objekt auf der Karte auswählen",createFeature:"Neues Objekt erstellen"},EditFeatureFullForm:{saveErrorMsg:"Das Objekt konnte nicht gespeichert werden",deleteErrorMsg:"Das Objekt konnte nicht gelöscht werden"},EditFeatureGeometryToolbar:{draw:"Neue Geometrie zeichnen",edit:"Geometrie editieren",delete:"Geometrie löschen",undo:"Rückgängig",redo:"Wiederherstellen"},ResetButton:{title:"Zurücksetzen"},SaveButton:{title:"Speichern"},DeleteButton:{title:"Objekt löschen",confirm:"Das Objekt wird vollständig gelöscht. Fortfahren?"},EditFeatureButton:{title:"Objekt bearbeiten"},FeaturePropertyGrid:{key:"Name",value:"Wert"},PaginationToolbar:{copyAsGeoJson:"Als GeoJSON kopieren (inkl. Geometrie)",copyAsObject:"Als Objekt kopieren (nur angezeigte Werte)",editDisabled:"Layer ist nicht editierbar",editFeature:"Feature editieren"},JsonModal:{buttonTitle:"Öffne {{propertyName}}"}}},en:{translation:{ApplicationInfo:{title:"About",clientVersionTitle:"Client version",backendVersionTitle:"Backend version"},AddLayerModal:{addSelectedLayers:"Add selected",addAllLayers:"Add all",inputPlaceholder:"Enter a WMS GetCapabilities URL…",externalWmsFolder:"External layers",title:"Add WMS",columnTitle:"Name",errorMessage:"Error",errorDescription:"Could not load the provided Capabilities document, please check the validity of the URL",version:"Version"},BasicMapComponent:{processedLayersFolder:"Processed layers"},Permalink:{title:"Share",twitterTooltip:"Share link via Twitter",whatsAppTooltip:"Share link via WhatsApp",mailTooltip:"Share link via Mail",copyTooltip:"Copy link to Clipboard",copiedToClipboard:"Copied to clipboard",copyToClipboardFailed:"Could not copy link to clipboard"},Measure:{title:"Measure",line:"Distance",area:"Area",clicktodrawline:"Click to draw line",clicktodrawarea:"Click to draw area"},Draw:{point:"Point",line:"Line",polygon:"Polygon",circle:"Circle",rectangle:"Rectangle",text:"Annotation",modify:"Edit",upload:"Upload",delete:"Delete",export:"Export"},StylingDrawer:{pickColor:"Modify color scheme",title:"Modify color scheme"},FeatureInfo:{usageHint:"Click on the map to get details about the clicked coordinate."},FileUpload:{upload:"Upload files"},ImageUpload:{upload:"Upload images"},LayerTree:{transparency:"Transparency",noLegendAvailable:"No legend available"},LayerTreeContextMenu:{layerZoomToExtent:"Zoom to layer extent",extentError:"Could not zoom to layer extent",removeLayer:"Remove layer",showLegend:"Show legend",hideLegend:"Hide legend",downloadLayer:"Export layer as {{formatName}}",editLayer:"Edit layer",layerDetails:"Properties"},LayerDetailsModal:{title:"Properties of layer {{layerName}}",internalConfigurationButtonTooltip:"Show internal configuration",internalConfigurationButtonTooltipPressed:"Hide internal configuration"},LayerDetails:{noDataPlaceholder:"-",layerNameLabel:"Name",layerTitleLabel:"Title",serviceAbstractLabel:"Service abstract",abstractLabel:"Abstract",accessConstraintsLabel:"Access constraints",capabilitiesUrlLabel:"GetCapabilities URL",contactLabel:"Contact",minScaleLabel:"Min. scale",maxScaleLabel:"Max. scale",bboxLabel:"Bounding box",errorMessage:"Error while loading the layer capabilities"},LayerConfiguration:{errorMessage:"Error while loading the internal configuration"},ToolMenu:{expand:"Expand",collapse:"Collapse",measure:"Measure",draw:"Draw",featureInfo:"Query map features",addWms:"Add WMS",uploadData:"Upload data",print:"Export",layertree:"Maps",languageSelect:"Language selector"},PrintForm:{title:"Title",initialTitle:"Title",titlePlaceholder:"Please input a title…",comment:"Comment",commentPlaceholder:"Please enter a comment…",layout:"Layout",dpi:"Resolution",format:"Format",scale:"Scale",downloadBtnText:"Create print",printJobErrorMsg:"Could not generate PDF output",initErrorMsg:"PDF Generator could not be initialized",outputFormatPlaceholder:"Please select an output format",resolutionPlaceholder:"Please select an output quality",managerErrorMessage:"Error while initializing the export engine"},Footer:{refSystem:"Reference system",scale:"Scale",mousePosition:"Mouse position",imprint:"Imprint",contact:"Contact",privacypolicy:"Privacy"},Index:{applicationLoadErrorMessage:"Error while loading the application",applicationLoadErrorDescription:"The application with ID {{applicationId}} could not be loaded correctly. You're seeing the default application configuration.",errorMessage:"Error while loading the application",errorDescription:"An unexpected error occured while loading the application.",errorDescriptionAppIdNotSet:"No application ID given. Please provide the ID as query parameter, e.g. ?applicationId=1909",errorDescriptionAppConfigNotFound:"The application with ID {{applicationId}} could not be loaded correctly."},Nominatim:{placeholder:"Place name, street name, district name, POI, etc."},UserMenu:{settingsMenuTitle:"Edit profile",infoMenuTitle:"About",logoutMenuTitle:"Logout",loginMenuTitle:"Login"},WmsTimeSlider:{title:"Time reference",default:"No data found"},UploadDataModal:{title:"Upload data",uploadedDataFolder:"Uploaded data",description:"Click or drag file to this area to upload",hint:"Supported file formats are Shapefile (bundled as *.zip) and GeoTIFF",success:"Successfully uploaded file {{fileName}} and created layer {{layerName}}",error:{general:"Error while uploading file {{fileName}}",maxSize:"The file exceeds the upload limit of {{maxSize}} MB",supportedFormats:"The given file type does not match the supported ones ({{supportedFormats}})",zipContent:"Multiple geodatasets within one archive are not supported"}},MultiSearch:{searchInViewBox:"Search in current extent",searchData:"Search layer data",searchNominatim:"Search nominatim",nominatimTitle:"Nominatim",searchPlaceholder:"Address and data search…"},EditFeatureDrawer:{featureEditor:"Feature editor",noLayerFoundError:"No layer found - the editing is not possible.",isFeatureLockedErrorMsg:"The selected feature is already being edited in another session.",closeDrawerWarnTitle:"Do you really want to quit?",closeDrawerWarnContent:"This will discard any unsaved changes to the feature."},EditFeatureSwitch:{usageHint:"Select an existing feature for editing on the map or…",limitedUsageHint:"To edit please select an object on the map",createFeature:"Create new feature"},EditFeatureFullForm:{saveErrorMsg:"Error while saving the feature",deleteErrorMsg:"Error while deleting the feature"},EditFeatureGeometryToolbar:{draw:"Draw new geometry",edit:"Edit geometry",delete:"Delete geometry",undo:"Undo",redo:"Redo"},ResetButton:{title:"Reset"},SaveButton:{title:"Save"},DeleteButton:{title:"Delete feature",confirm:"The feature will be completely deleted. Proceed?"},EditFeatureButton:{title:"Edit feature"},FeaturePropertyGrid:{key:"Name",value:"Value"},PaginationToolbar:{copyAsGeoJson:"Copy as GeoJSON (incl. geometry)",copyAsObject:"Copy as object (displayed values only)",editDisabled:"This layer is not editable",editFeature:"Edit feature"},JsonModal:{buttonTitle:"Show {{propertyName}}"}}}},fallbackLng:"en",debug:!1,interpolation:{escapeValue:!1},returnNull:!1};a.ZP.use(n.initReactI18next),a.ZP.options=o;var i=a.ZP},21302:function(e,t,r){Promise.all([r.e(987),r.e(592),r.e(489)]).then(r.bind(r,30845))},20908:function(e,t,r){"use strict";r.d(t,{$Z:function(){return n},Cp:function(){return o}});const a=(0,r(97168).oM)({name:"addLayerModal",initialState:{visible:!1},reducers:{show(e){e.visible=!0},hide(e){e.visible=!1},toggle(e){e.visible=!e.visible}}}),{show:n,hide:o,toggle:i}=a.actions;t.ZP=a.reducer},61465:function(e,t,r){"use strict";r.d(t,{Y3:function(){return l},hr:function(){return o},mc:function(){return i},uQ:function(){return s},vN:function(){return n}});const a=(0,r(97168).oM)({name:"editFeature",initialState:{layerId:null,feature:null,userEditMode:["NONE"],formDirty:!1},reducers:{setLayerId(e,t){e.layerId=t.payload},setFeature(e,t){e.feature=t.payload},reset(e){e.layerId=null,e.feature=null},setUserEditMode(e,t){e.userEditMode=t.payload},setFormDirty(e,t){e.formDirty=t.payload}}}),{setLayerId:n,setFeature:o,reset:i,setUserEditMode:l,setFormDirty:s}=a.actions;t.ZP=a.reducer},68781:function(e,t,r){"use strict";r.d(t,{$Z:function(){return n},Cp:function(){return o}});const a=(0,r(97168).oM)({name:"editFeatureDrawerOpen",initialState:!1,reducers:{show(){return!0},hide(){return!1},toggle(e){return!e}}}),{show:n,hide:o,toggle:i}=a.actions;t.ZP=a.reducer},6049:function(e,t,r){"use strict";r.d(t,{$Z:function(){return o},Cp:function(){return i},uF:function(){return n}});const a=(0,r(97168).oM)({name:"layerDetailsModal",initialState:{visible:!1},reducers:{setLayer(e,t){e.layerId=t.payload},show(e){e.visible=!0},hide(e){e.visible=!1},toggle(e){e.visible=!e.visible}}}),{setLayer:n,show:o,hide:i,toggle:l}=a.actions;t.ZP=a.reducer},28728:function(e,t,r){"use strict";r.d(t,{eV:function(){return l}});const a=(0,r(97168).oM)({name:"print",initialState:{customMapParams:{},customParams:{printLegend:!1}},reducers:{setCustomMapParams:(e,t)=>{e.customMapParams=t.payload},setCustomParams:(e,t)=>{e.customParams=t.payload},addCustomMapParam:(e,t)=>{e.customMapParams={...e.customMapParams,...t.payload}},addCustomParam:(e,t)=>{e.customParams={...e.customParams,...t.payload}}}}),{setCustomMapParams:n,setCustomParams:o,addCustomMapParam:i,addCustomParam:l}=a.actions;t.ZP=a.reducer},21800:function(e,t,r){"use strict";r.d(t,{wl:function(){return n}});const a=(0,r(97168).oM)({name:"selectedFeatures",initialState:{},reducers:{setSelectedFeatures(e,t){return t.payload}}}),{setSelectedFeatures:n}=a.actions;t.ZP=a.reducer},76712:function(e,t,r){"use strict";r.d(t,{nn:function(){return o},wG:function(){return n}});const a=(0,r(97168).oM)({name:"toolMenu",initialState:{activeKeys:[],availableTools:["default"]},reducers:{setActiveKeys(e,t){e.activeKeys=[...t.payload]},setAvailableTools(e,t){e.availableTools=[...t.payload]}}}),{setActiveKeys:n,setAvailableTools:o}=a.actions;t.ZP=a.reducer},63221:function(e,t,r){"use strict";r.d(t,{$Z:function(){return n},Cp:function(){return o}});const a=(0,r(97168).oM)({name:"uploadDataModal",initialState:{visible:!1},reducers:{show(e){e.visible=!0},hide(e){e.visible=!1},toggle(e){e.visible=!e.visible}}}),{show:n,hide:o,toggle:i}=a.actions;t.ZP=a.reducer},65705:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},40171:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},88885:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},99327:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},5687:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},97555:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},38775:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},97598:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},16409:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},33354:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},78415:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},62923:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},58904:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},85677:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},34286:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},86201:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},21809:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},69616:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},85516:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},10767:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},42686:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},21015:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},7871:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},47267:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},17368:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},86092:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},8155:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},16813:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},79770:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},85415:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},35818:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},65352:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},72285:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},65947:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i},90978:function(e,t,r){"use strict";var a=r(87537),n=r.n(a),o=r(23645),i=r.n(o)()(n());i.push([e.id,"","",{version:3,sources:[],names:[],mappings:"",sourceRoot:""}]),t.Z=i}}]); +//# sourceMappingURL=common.18499b5fb53e6cbedb77.js.map \ No newline at end of file diff --git a/v6.9.0/common.18499b5fb53e6cbedb77.js.map b/v6.9.0/common.18499b5fb53e6cbedb77.js.map new file mode 100644 index 000000000..3fbf1fe5f --- /dev/null +++ b/v6.9.0/common.18499b5fb53e6cbedb77.js.map @@ -0,0 +1 @@ +{"version":3,"file":"common.18499b5fb53e6cbedb77.js","mappings":"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","sources":["webpack://@terrestris/shogun-gis-client/./src/hooks/useAppDispatch.ts","webpack://@terrestris/shogun-gis-client/./src/hooks/useAppSelector.ts","webpack://@terrestris/shogun-gis-client/./src/components/AddLayerModal/index.less?3a66","webpack://@terrestris/shogun-gis-client/./src/components/AddLayerModal/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/usePlugins.ts","webpack://@terrestris/shogun-gis-client/./src/components/BasicMapComponent/index.tsx","webpack://@terrestris/shogun-gis-client/./src/plugin/index.ts","webpack://@terrestris/shogun-gis-client/./src/hooks/useSHOGunAPIClient.ts","webpack://@terrestris/shogun-gis-client/./src/hooks/useExecuteWfsTransaction.ts","webpack://@terrestris/shogun-gis-client/./src/components/JsonModal/index.less?cebe","webpack://@terrestris/shogun-gis-client/./src/components/JsonModal/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/DisplayField/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/FileUpload/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useConvertImageUrl.ts","webpack://@terrestris/shogun-gis-client/./src/components/ImageUpload/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureForm/index.less?0b49","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureForm/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useExecuteWfsDescribeFeatureType.ts","webpack://@terrestris/shogun-gis-client/./src/hooks/useWriteWfsTransaction.ts","webpack://@terrestris/shogun-gis-client/./src/components/MapDrawer/index.less?074d","webpack://@terrestris/shogun-gis-client/./src/components/MapDrawer/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useExecuteGetFeature.ts","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureGeometryToolbar/index.less?cbd2","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureGeometryToolbar/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureTabs/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/DeleteButton/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/ResetButton/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/SaveButton/index.less?fbda","webpack://@terrestris/shogun-gis-client/./src/components/FeedbackIcon/index.less?77c8","webpack://@terrestris/shogun-gis-client/./src/components/FeedbackIcon/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/SaveButton/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureToolbar/index.less?6e4b","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureToolbar/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureFullForm/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useExecuteWfsTransactionLock.ts","webpack://@terrestris/shogun-gis-client/./src/hooks/useGetFeatureInfo.ts","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureSwitch/index.less?2952","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureSwitch/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/index.less?c362","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/Footer/index.less?bf45","webpack://@terrestris/shogun-gis-client/./src/components/Footer/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/BasicNominatimSearch/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/MultiSearch/index.less?3fe9","webpack://@terrestris/shogun-gis-client/./src/utils/generateSolrQuery.ts","webpack://@terrestris/shogun-gis-client/./src/components/MultiSearch/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/SearchField/index.less?bf24","webpack://@terrestris/shogun-gis-client/./src/components/SearchField/index.tsx","webpack://@terrestris/shogun-gis-client/./src/utils/getGravatarUrl.ts","webpack://@terrestris/shogun-gis-client/./src/components/ApplicationInfo/index.less?5255","webpack://@terrestris/shogun-gis-client/./src/components/ApplicationInfo/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useVersion.ts","webpack://@terrestris/shogun-gis-client/./src/components/UserMenu/index.less?f429","webpack://@terrestris/shogun-gis-client/./src/components/UserMenu/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/Header/index.less?b06e","webpack://@terrestris/shogun-gis-client/./src/components/Header/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/LayerConfiguration/index.less?9f82","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/LayerConfiguration/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/LayerDetails/index.less?4108","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/LayerDetails/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/index.less?b9d0","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/LanguageSelector/index.less?da3b","webpack://@terrestris/shogun-gis-client/./src/components/LanguageSelector/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/Permalink/index.less?76ea","webpack://@terrestris/shogun-gis-client/./src/components/Permalink/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/Serializer/SHOGunMapFishPrintV3WMSSerializer.ts","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/Serializer/SHOGunMapFishPrintV3TiledWMSSerializer.ts","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/CustomFieldInput/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/LayoutSelect/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/OutputFormatSelect/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/ResolutionSelect/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/ScaleSelect/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/Shared/Shared.ts","webpack://@terrestris/shogun-gis-client/./src/components/PrintForm/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/index.less?6377","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/StylingDrawer/index.less?723a","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/StylingDrawer/StylingComponent/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/StylingDrawer/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useHighlightVectorLayer.ts","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeatureInfoForm/index.less?d0f3","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeatureInfoForm/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/PaginationToolbar/index.less?2293","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/PaginationToolbar/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeatureInfoTabs/index.less?3c46","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeatureInfoTabs/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeaturePropertyGrid/index.less?a4df","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeaturePropertyGrid/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/index.less?7905","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/WmsTimeSlider/index.less?47fb","webpack://@terrestris/shogun-gis-client/./src/components/WmsTimeSlider/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/LayerTree/LayerTreeContextMenu/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/LayerTree/index.less?c926","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/LayerTree/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Measure/index.less?beca","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Measure/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/index.less?b016","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/index.tsx","webpack://@terrestris/shogun-gis-client/./src/components/UploadDataModal/index.less?e08e","webpack://@terrestris/shogun-gis-client/./src/components/UploadDataModal/index.tsx","webpack://@terrestris/shogun-gis-client/./src/hooks/useRestoreTransientLayers.ts","webpack://@terrestris/shogun-gis-client/./src/hooks/useQueryParams.ts","webpack://@terrestris/shogun-gis-client/./src/App.less?984e","webpack://@terrestris/shogun-gis-client/./src/App.tsx","webpack://@terrestris/shogun-gis-client/./src/store/appInfo/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/description/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/legal/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/logoPath/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/searchEngines/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/title/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/user/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/store.ts","webpack://@terrestris/shogun-gis-client/./src/index.less?df1e","webpack://@terrestris/shogun-gis-client/./src/bootstrap.tsx","webpack://@terrestris/shogun-gis-client/./src/context/PluginContext.tsx","webpack://@terrestris/shogun-gis-client/./src/context/SHOGunAPIClientContext.tsx","webpack://@terrestris/shogun-gis-client/./src/i18n/index.ts","webpack://@terrestris/shogun-gis-client/./src/i18n/translations.ts","webpack://@terrestris/shogun-gis-client/./src/index.tsx","webpack://@terrestris/shogun-gis-client/./src/store/addLayerModal/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/editFeature/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/editFeatureDrawerOpen/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/layerDetailsModal/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/print/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/selectedFeatures/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/toolMenu/index.ts","webpack://@terrestris/shogun-gis-client/./src/store/uploadDataModal/index.ts","webpack://@terrestris/shogun-gis-client/./src/App.less?ee38","webpack://@terrestris/shogun-gis-client/./src/components/AddLayerModal/index.less?6017","webpack://@terrestris/shogun-gis-client/./src/components/ApplicationInfo/index.less?f940","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureForm/index.less?a2dd","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureGeometryToolbar/index.less?141f","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureSwitch/index.less?c38e","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/EditFeatureToolbar/index.less?512e","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/SaveButton/index.less?8e96","webpack://@terrestris/shogun-gis-client/./src/components/EditFeatureDrawer/index.less?8ba3","webpack://@terrestris/shogun-gis-client/./src/components/FeedbackIcon/index.less?78b5","webpack://@terrestris/shogun-gis-client/./src/components/Footer/index.less?a2b7","webpack://@terrestris/shogun-gis-client/./src/components/Header/index.less?b02d","webpack://@terrestris/shogun-gis-client/./src/components/JsonModal/index.less?4aac","webpack://@terrestris/shogun-gis-client/./src/components/LanguageSelector/index.less?bd2b","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/LayerConfiguration/index.less?2da8","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/LayerDetails/index.less?acf5","webpack://@terrestris/shogun-gis-client/./src/components/LayerDetailsModal/index.less?a101","webpack://@terrestris/shogun-gis-client/./src/components/MapDrawer/index.less?bfb2","webpack://@terrestris/shogun-gis-client/./src/components/MultiSearch/index.less?ea03","webpack://@terrestris/shogun-gis-client/./src/components/Permalink/index.less?68c2","webpack://@terrestris/shogun-gis-client/./src/components/SearchField/index.less?8fd0","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/StylingDrawer/index.less?d252","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Draw/index.less?6534","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeatureInfoForm/index.less?6db1","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeatureInfoTabs/index.less?fd2b","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/FeaturePropertyGrid/index.less?27cc","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/PaginationToolbar/index.less?8e8c","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/FeatureInfo/index.less?f3c5","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/LayerTree/index.less?d8e5","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/Measure/index.less?b29b","webpack://@terrestris/shogun-gis-client/./src/components/ToolMenu/index.less?949c","webpack://@terrestris/shogun-gis-client/./src/components/UploadDataModal/index.less?cb8c","webpack://@terrestris/shogun-gis-client/./src/components/UserMenu/index.less?a168","webpack://@terrestris/shogun-gis-client/./src/components/WmsTimeSlider/index.less?25f0","webpack://@terrestris/shogun-gis-client/./src/index.less?2fc8"],"sourcesContent":["import {\n useDispatch\n} from 'react-redux';\n\nimport type {\n AppDispatch\n} from '../store/store';\n\nexport const useAppDispatch = () => useDispatch();\n\nexport default useAppDispatch;\n","import {\n TypedUseSelectorHook,\n useSelector\n} from 'react-redux';\n\nimport type {\n RootState\n} from '../store/store';\n\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n\nexport default useAppSelector;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState,\n useEffect\n} from 'react';\n\nimport {\n Button,\n Input,\n Modal,\n ModalProps,\n notification,\n Select,\n Table\n} from 'antd';\n\nimport {\n getUid\n} from 'ol';\nimport OlLayerGroup from 'ol/layer/Group';\nimport ImageLayer from 'ol/layer/Image';\nimport TileLayer from 'ol/layer/Tile';\nimport ImageWMSSource from 'ol/source/ImageWMS';\nimport TileWMSSource from 'ol/source/TileWMS';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport UrlUtil from '@terrestris/base-util/dist/UrlUtil/UrlUtil';\nimport CapabilitiesUtil from '@terrestris/ol-util/dist/CapabilitiesUtil/CapabilitiesUtil';\nimport MapUtil from '@terrestris/ol-util/dist/MapUtil/MapUtil';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport useAppDispatch from '../../hooks/useAppDispatch';\nimport useAppSelector from '../../hooks/useAppSelector';\nimport {\n hide\n} from '../../store/addLayerModal';\n\nimport './index.less';\n\nexport type AddLayerModalProps = {} & Partial;\n\nexport const AddLayerModal: React.FC = ({\n ...restProps\n}): JSX.Element => {\n const [loading, setLoading] = useState(false);\n const [layers, setLayers] = useState<(ImageLayer | TileLayer)[]>([]);\n const [selectedRowKeys, setSelectedRowKeys] = useState([]);\n const [url, setUrl] = useState(\n 'https://sgx.geodatenzentrum.de/wms_topplus_open'\n );\n const [sanitizedUrl, setSanitizedUrl] = useState();\n const [version, setVersion] = useState('1.3.0');\n\n const isModalVisible = useAppSelector(state => state.addLayerModal.visible);\n\n const dispatch = useAppDispatch();\n\n const map = useMap();\n\n const {\n t\n } = useTranslation();\n\n useEffect(() => {\n if (!isModalVisible) {\n return;\n }\n setSanitizedUrl(UrlUtil.createValidGetCapabilitiesRequest(url, 'WMS', version));\n }, [version, isModalVisible, url]);\n\n const getCapabilities = async () => {\n if (!sanitizedUrl) {\n return;\n }\n try {\n setLoading(true);\n\n const capabilities = await CapabilitiesUtil.getWmsCapabilities(sanitizedUrl);\n const externalLayers = CapabilitiesUtil.getLayersFromWmsCapabilities(capabilities, 'Title');\n\n setLayers(externalLayers);\n } catch (error) {\n notification.error({\n message: t('AddLayerModal.errorMessage'),\n description: t('AddLayerModal.errorDescription')\n });\n } finally {\n setLoading(false);\n }\n };\n\n const closeModal = () => {\n setSelectedRowKeys([]);\n setLayers([]);\n dispatch(hide());\n };\n\n const onAddSelected = () => {\n const layersToAdd = layers.filter(layer => selectedRowKeys.includes(getUid(layer)));\n addLayers(layersToAdd);\n };\n\n const onAddAll = () => {\n addLayers(layers);\n };\n\n const addLayers = (layersToAdd: (ImageLayer | TileLayer)[]) => {\n if (!map) {\n return;\n }\n\n const targetFolderName = t('AddLayerModal.externalWmsFolder');\n let targetGroup = MapUtil.getLayerByName(map, targetFolderName) as OlLayerGroup;\n\n if (!targetGroup) {\n targetGroup = new OlLayerGroup({\n layers: []\n });\n targetGroup.set('name', targetFolderName);\n const existingGroups = map.getLayerGroup().getLayers();\n existingGroups.insertAt(existingGroups?.getLength() || 0, targetGroup);\n }\n\n layersToAdd.forEach(layerToAdd => {\n if (!targetGroup.getLayers().getArray().includes(layerToAdd)) {\n layerToAdd.set('isExternalLayer', true);\n\n let layerUrl: string | undefined;\n if (layerToAdd instanceof ImageLayer) {\n layerUrl = layerToAdd.getSource()?.getUrl();\n }\n\n if (layerToAdd instanceof TileLayer) {\n const urls = layerToAdd.getSource()?.getUrls();\n layerUrl = urls?.length === 1 ? urls[0] : undefined;\n }\n\n const layerConfig = {\n name: layerToAdd.get('name'),\n type: layerToAdd instanceof TileLayer ? 'TILEWMS' : 'WMS',\n opacity: layerToAdd.getOpacity(),\n sourceConfig: {\n layerNames: layerToAdd.getSource()?.getParams().LAYERS,\n url: layerUrl,\n useBearerToken: false\n }\n };\n layerToAdd.set('layerConfig', layerConfig);\n targetGroup.getLayers().push(layerToAdd);\n }\n });\n\n closeModal();\n };\n\n return (\n \n {t('AddLayerModal.addAllLayers')}\n ,\n \n {t('AddLayerModal.addSelectedLayers')}\n \n ]}\n {...restProps}\n >\n {\n setUrl(event.target.value);\n }}\n onSearch={getCapabilities}\n enterButton={true}\n addonBefore={\n \n \n }\n />\n {\n return record.get('title');\n }\n }\n ]}\n rowKey={(record: any) => getUid(record)}\n rowSelection={{\n selectedRowKeys,\n onChange: setSelectedRowKeys\n }}\n pagination={false}\n dataSource={layers}\n />\n \n );\n};\n\nexport default AddLayerModal;\n","import { useContext } from 'react';\n\nimport PluginContext from '../context/PluginContext';\n\nimport { ClientPluginInternal } from '../plugin';\n\nexport const usePlugins = (): ClientPluginInternal[] => {\n return useContext(PluginContext);\n};\n\nexport default usePlugins;\n","import React, {\n useEffect\n} from 'react';\n\nimport _isEmpty from 'lodash/isEmpty';\n\nimport { ObjectEvent as OlObjectEvent } from 'ol/Object';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport MapUtil from '@terrestris/ol-util/dist/MapUtil/MapUtil';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport MapComponent, {\n MapComponentProps\n} from '@terrestris/react-geo/dist/Map/MapComponent/MapComponent';\n\nimport usePlugins from '../../hooks/usePlugins';\n\nimport {\n isMapIntegration\n} from '../../plugin';\n\nexport const BasicMapComponent: React.FC> = ({\n ...restProps\n}): JSX.Element => {\n const map = useMap();\n const plugins = usePlugins();\n\n const {\n t,\n i18n\n } = useTranslation();\n\n /**\n * Updates external layer group name when language changes.\n */\n useEffect(() => {\n if (!map) {\n return;\n }\n\n const targetGroups = MapUtil.getLayersByProperty(map, 'isExternalLayerGroup', true);\n if (targetGroups?.length !== 1) {\n return;\n }\n const targetGroup = targetGroups[0];\n const oldName = targetGroups[0].get('name');\n targetGroup.set('name', t('AddLayerModal.externalWmsFolder'));\n const changeEvent = new OlObjectEvent('change:layers', 'name', oldName);\n targetGroup.dispatchEvent(changeEvent);\n }, [i18n.language, map, t]);\n\n const pluginComponents: JSX.Element[] = [];\n\n if (plugins) {\n plugins.forEach(plugin => {\n if (isMapIntegration(plugin.integration)) {\n const {\n key,\n wrappedComponent: WrappedPluginComponent\n } = plugin;\n\n pluginComponents.push(\n \n );\n }\n });\n }\n\n if (!map) {\n return <>;\n }\n\n return (\n \n {\n pluginComponents\n }\n \n );\n};\n\nexport default BasicMapComponent;\n","import type {\n IconDefinition\n} from '@fortawesome/fontawesome-common-types';\n\nimport type {\n Reducer\n} from '@reduxjs/toolkit';\n\nimport { CollapsePanelProps } from 'antd';\nimport type OlMap from 'ol/Map';\n\nimport type SHOGunAPIClient from '@terrestris/shogun-util/dist/service/SHOGunAPIClient';\n\nexport type ClientPluginLocale = {\n [locale: string]: {\n translation: {\n [key: string]: any;\n };\n };\n};\n\nexport type ClientPluginComponentProps = {\n map?: OlMap;\n client?: SHOGunAPIClient;\n};\n\nexport type ClientPluginIntegration = {\n /**\n * The main identifier of the integration point of the plugin.\n */\n placement: string;\n};\n\nexport type ClientPluginIntegrationToolMenu = ClientPluginIntegration &\n Omit & {\n placement: 'tool-menu';\n /**\n * The label for the plugin in the tool menu.\n */\n label?: string;\n /**\n * The insertion index for the plugin in the tool menu, starting from 0 which is on top.\n */\n insertionIndex?: number;\n /**\n * The icon for the plugin in the tool menu.\n */\n icon?: IconDefinition;\n};\n\nexport type HeaderPlacementOrientation = 'left' | 'center' | 'right';\n\nexport type ClientPluginIntegrationHeader = ClientPluginIntegration & {\n placement: 'header';\n /**\n * The placement orientation for the plugin in the header.\n */\n placementOrientation: HeaderPlacementOrientation;\n /**\n * The insertion index for the plugin in the header, starting from 0 which is on the left.\n */\n insertionIndex?: number;\n};\n\nexport type ClientPluginIntegrationFeatureInfo = ClientPluginIntegration & {\n placement: 'feature-info';\n /**\n * The list of layer names the plugin component should be rendered for. If not\n * specified, the component will be rendered for all layers.\n */\n layers?: string[];\n};\n\nexport type ClientPluginIntegrationMap = ClientPluginIntegration & {\n placement: 'map';\n};\n\nexport type FooterPlacementOrientation = 'left' | 'right';\n\nexport type ClientPluginIntegrationFooter = ClientPluginIntegration & {\n placement: 'footer';\n /**\n * The placement orientation for the plugin in the footer.\n */\n placementOrientation: FooterPlacementOrientation;\n /**\n * The insertion index for the plugin in the footer, starting from 0 which is on the left.\n */\n insertionIndex?: number;\n};\n\nexport type ClientPluginIntegrations = ClientPluginIntegrationToolMenu | ClientPluginIntegrationHeader |\n ClientPluginIntegrationFeatureInfo | ClientPluginIntegrationMap | ClientPluginIntegrationFooter;\n\nexport type ClientPlugin = {\n /**\n * The key of the plugin, usually used for internal references (e.g. element class names) only.\n */\n key: string;\n /**\n * The definition of the integration point.\n */\n integration: ClientPluginIntegrations;\n /**\n * The actual component of the plugin.\n */\n component: React.FunctionComponent;\n /**\n * The i18n definition to be used in the plugin.\n */\n i18n?: ClientPluginLocale;\n /**\n * A set of redux reducers to be used in the plugin.\n */\n reducers?: {\n [key: string]: Reducer;\n };\n};\n\nexport type ClientPluginInternal = ClientPlugin & {\n wrappedComponent: React.FunctionComponent;\n};\n\nexport function isToolMenuIntegration(pluginIntegration: ClientPluginIntegrations): pluginIntegration is ClientPluginIntegrationToolMenu {\n return pluginIntegration && pluginIntegration.placement === 'tool-menu';\n}\n\nexport function isHeaderIntegration(pluginIntegration: ClientPluginIntegrations): pluginIntegration is ClientPluginIntegrationHeader {\n return pluginIntegration && pluginIntegration.placement === 'header';\n}\n\nexport function isFeatureInfoIntegration(pluginIntegration: ClientPluginIntegrations): pluginIntegration is ClientPluginIntegrationFeatureInfo {\n return pluginIntegration && pluginIntegration.placement === 'feature-info';\n}\n\nexport function isMapIntegration(pluginIntegration: ClientPluginIntegrations): pluginIntegration is ClientPluginIntegrationMap {\n return pluginIntegration && pluginIntegration.placement === 'map';\n}\n\nexport function isFooterIntegration(pluginIntegration: ClientPluginIntegrations): pluginIntegration is ClientPluginIntegrationFooter {\n return pluginIntegration && pluginIntegration.placement === 'footer';\n}\n","import { useContext } from 'react';\n\nimport SHOGunAPIClient from '@terrestris/shogun-util/dist/service/SHOGunAPIClient';\n\nimport SHOGunAPIClientContext from '../context/SHOGunAPIClientContext';\n\nexport const useSHOGunAPIClient = (): SHOGunAPIClient | null => {\n return useContext(SHOGunAPIClientContext);\n};\n\nexport default useSHOGunAPIClient;\n","import {\n useCallback\n} from 'react';\n\nimport OlSourceImageWMS from 'ol/source/ImageWMS';\nimport OlSourceTileWMS from 'ol/source/TileWMS';\n\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport type ExecuteWfsTransactionOpts = {\n layer: WmsLayer;\n transaction: Node;\n};\n\nexport const useExecuteWfsTransaction = () => {\n const client = useSHOGunAPIClient();\n\n const executeWfsTransaction = useCallback(async (opts: ExecuteWfsTransactionOpts) => {\n let url;\n\n const source = opts.layer.getSource();\n if (source instanceof OlSourceImageWMS) {\n url = (source as OlSourceImageWMS).getUrl();\n }\n if (source instanceof OlSourceTileWMS) {\n const urls = (source as OlSourceTileWMS).getUrls();\n url = urls ? urls[0] : undefined;\n }\n\n if (!url) {\n return;\n }\n\n if (url.endsWith('?')) {\n url = url.slice(0, -1);\n }\n\n const defaultHeaders = {\n 'Content-Type': 'application/xml'\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers: opts.layer?.get('useBearerToken') ? {\n ...defaultHeaders,\n ...getBearerTokenHeader(client?.getKeycloak())\n } : defaultHeaders,\n body: new XMLSerializer().serializeToString(opts.transaction)\n });\n\n if (!response.ok) {\n throw new Error('No successful response while executing a WFS-Transaction');\n }\n\n const responseText = await response.text();\n\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(responseText, 'text/xml');\n\n // TODO Make detection more robust\n const transactionStatusFailed = xmlDoc.getElementsByTagName('wfs:FAILED');\n\n if (transactionStatusFailed.length > 0) {\n throw new Error(`Something failed: ${responseText}`);\n }\n\n return responseText;\n }, [client]);\n\n return executeWfsTransaction;\n};\n\nexport default useExecuteWfsTransaction;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState\n} from 'react';\n\nimport {\n faBoxOpen\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport Editor from '@monaco-editor/react';\n\nimport {\n Button,\n Modal,\n ModalProps\n} from 'antd';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport './index.less';\n\nexport type ValueType = string | number | boolean | moment.Moment;\n\nexport type JsonModalProps = {\n value?: string;\n label?: string;\n} & ModalProps;\n\nexport const JsonModal: React.FC = ({\n value,\n label,\n ...passThroughProps\n}): JSX.Element => {\n\n const [isOpen, setIsOpen] = useState(false);\n\n const {\n t\n } = useTranslation();\n\n const onButtonClick = () => {\n setIsOpen(true);\n };\n\n const onCancel = () => {\n setIsOpen(false);\n };\n\n if (!value) {\n return <>;\n }\n\n return (\n <>\n \n )}\n >\n {t('JsonModal.buttonTitle', {\n propertyName: label\n })}\n \n \n \n \n \n );\n};\n\nexport default JsonModal;\n","import React from 'react';\n\nimport {\n Typography\n} from 'antd';\n\nimport {\n isMoment\n} from 'moment';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport JsonModal from '../JsonModal';\n\nexport type ValueType = string | number | boolean | moment.Moment;\n\nexport type DisplayFieldProps = {\n format?: string;\n suffix?: string;\n value?: ValueType | ValueType[];\n label?: string;\n};\n\nexport const DisplayField: React.FC = ({\n format = 'DD.MM.YYYY',\n suffix,\n value,\n label,\n ...passThroughProps\n}): JSX.Element => {\n\n const {\n t\n } = useTranslation();\n\n let displayText: string = '';\n\n if (typeof value === 'string') {\n displayText = value;\n }\n\n if (typeof value === 'boolean') {\n displayText = value ? t('DisplayField.yesText') : t('DisplayField.noText');\n }\n\n if (Number.isFinite(value)) {\n displayText = new Intl.NumberFormat().format(Number(value));\n }\n\n if (isMoment(value)) {\n displayText = value.format(format);\n }\n\n if (Array.isArray(value)) {\n displayText = value.join(', ');\n }\n\n const isJson = (val: ValueType | ValueType[]): val is string => {\n let v = typeof val !== 'string' ? JSON.stringify(val) : val;\n\n try {\n v = JSON.parse(v);\n } catch (e) {\n return false;\n }\n\n return typeof v === 'object' && v !== null;\n };\n\n if (value && isJson(value)) {\n return (\n \n );\n }\n\n return (\n \n {displayText}{displayText && suffix ? ` ${suffix}` : ''}\n \n );\n};\n\nexport default DisplayField;\n","import React from 'react';\n\nimport {\n Upload,\n Button\n} from 'antd';\n\nimport {\n UploadFile\n} from 'antd/lib/upload/interface';\n\nimport _debounce from 'lodash/debounce';\nimport _isNil from 'lodash/isNil';\nimport _isObject from 'lodash/isObject';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport ShogunFile from '@terrestris/shogun-util/dist/model/File';\nimport {\n PropertyFormItemEditConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\nimport {\n getCsrfTokenHeader\n} from '@terrestris/shogun-util/dist/security/getCsrfTokenHeader';\n\nimport useSHOGunAPIClient from '../../hooks/useSHOGunAPIClient';\n\nexport type FileUploadProps = {\n fieldConfig: PropertyFormItemEditConfig;\n};\n\nexport const FileUpload: React.FC = ({\n fieldConfig,\n ...passThroughProps\n}): JSX.Element => {\n\n const client = useSHOGunAPIClient();\n const {\n t\n } = useTranslation();\n\n /**\n * Workaround which allows to download files that need authentication.\n */\n const showPreview = async (file: UploadFile) => {\n if (!client) {\n return;\n }\n const { response } = file;\n const fileName = response?.fileName;\n const fileUrl = `/files/${response?.fileUuid}`;\n\n if (_isNil(fileName) || _isNil(response?.fileUuid)) {\n return;\n }\n\n const anchor = document.createElement('a');\n document.body.appendChild(anchor);\n\n const opts = {\n headers: { ... getBearerTokenHeader(client.getKeycloak())}\n };\n\n const result = await fetch(fileUrl, opts);\n const blob = await result.blob();\n let objectUrl = window.URL.createObjectURL(blob);\n\n anchor.href = objectUrl;\n anchor.download = fileName;\n anchor.click();\n window.URL.revokeObjectURL(objectUrl);\n };\n\n const removeFile = async (file: UploadFile) => {\n const uuid = file?.response?.fileUuid;\n if (uuid) {\n const url = `${client?.getBasePath()}files/${uuid}`;\n return await fetch(url, {\n method: 'DELETE',\n credentials: 'same-origin',\n headers: {\n ...getCsrfTokenHeader(),\n ...getBearerTokenHeader(client?.getKeycloak())\n }\n });\n }\n };\n\n if (!client) {\n return <>;\n }\n\n return (\n \n \n \n );\n};\n\nexport default FileUpload;\n","import {\n useCallback\n} from 'react';\n\nimport _isNil from 'lodash/isNil';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport const useConvertImageUrl = () => {\n const client = useSHOGunAPIClient();\n\n const imageUrlToBase64 = useCallback(async (url: string) => {\n if (_isNil(url)) {\n return Promise.reject();\n }\n\n const response = await fetch(url, {\n credentials: 'include',\n headers: {\n ...getBearerTokenHeader(client?.getKeycloak())\n }\n });\n\n const blob = await response.blob();\n return new Promise((onSuccess, onError) => {\n try {\n const reader = new FileReader() ;\n reader.onload = function () { onSuccess(this.result as string); };\n reader.readAsDataURL(blob);\n } catch (e) {\n onError(e);\n }\n });\n }, [client]);\n\n return imageUrlToBase64;\n};\n\nexport default useConvertImageUrl;\n","import React, { useState } from 'react';\n\nimport {\n faPlus\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport {\n Upload,\n Modal\n} from 'antd';\n\nimport {\n UploadFile\n} from 'antd/lib/upload/interface';\n\nimport _debounce from 'lodash/debounce';\nimport _isNil from 'lodash/isNil';\nimport _isObject from 'lodash/isObject';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport ShogunFile from '@terrestris/shogun-util/dist/model/File';\nimport {\n PropertyFormItemEditConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\nimport {\n getCsrfTokenHeader\n} from '@terrestris/shogun-util/dist/security/getCsrfTokenHeader';\n\nimport useConvertImageUrl from '../../hooks/useConvertImageUrl';\nimport useSHOGunAPIClient from '../../hooks/useSHOGunAPIClient';\n\nexport type ImageUploadProps = {\n fieldConfig: PropertyFormItemEditConfig;\n};\n\nexport const ImageUpload: React.FC = ({\n fieldConfig,\n ...passThroughProps\n}): JSX.Element => {\n\n const [mediaPreviewVisible, setMediaPreviewVisible] = useState(false);\n const [previewImage, setPreviewImage] = useState('');\n\n const client = useSHOGunAPIClient();\n const imageUrlToBase64 = useConvertImageUrl();\n const {\n t\n } = useTranslation();\n\n /**\n * Shows preview of clicked uploaded image.\n * @param {Object} file Image file object.\n */\n const showImagePreview = async (file: UploadFile) => {\n const { response } = file;\n if (_isNil(response) || _isNil(response?.fileUuid)) {\n return;\n }\n const previewImageUrl = `${client?.getBasePath()}imagefiles/${response.fileUuid}`;\n const img = await imageUrlToBase64(previewImageUrl);\n setPreviewImage(img);\n setMediaPreviewVisible(true);\n };\n\n const removeFile = async (file: UploadFile) => {\n const uuid = file?.response?.fileUuid;\n if (uuid) {\n const url = `${client?.getBasePath()}imagefiles/${uuid}`;\n return await fetch(url, {\n method: 'DELETE',\n credentials: 'same-origin',\n headers: {\n ...getCsrfTokenHeader(),\n ...getBearerTokenHeader(client?.getKeycloak())\n }\n });\n }\n };\n\n if (!client) {\n return <>;\n }\n\n return (\n <>\n \n
\n \n
{t('ImageUpload.upload')}
\n
\n \n setMediaPreviewVisible(false)}\n >\n \n \n \n );\n};\n\nexport default ImageUpload;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\n\nimport {\n Input,\n InputNumber,\n DatePicker,\n Select,\n Switch,\n Checkbox,\n Form,\n FormItemProps\n} from 'antd';\n\nimport {\n FormInstance,\n FormProps\n} from 'antd/lib/form/Form';\nimport {\n UploadChangeParam, UploadFile\n} from 'antd/lib/upload/interface';\n\nimport _debounce from 'lodash/debounce';\nimport _isNil from 'lodash/isNil';\nimport _isObject from 'lodash/isObject';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport Logger from '@terrestris/base-util/dist/Logger';\nimport ShogunFile from '@terrestris/shogun-util/dist/model/File';\n\nimport {\n PropertyFormItemEditConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\n\nimport useAppDispatch from '../../../hooks/useAppDispatch';\nimport useAppSelector from '../../../hooks/useAppSelector';\nimport useSHOGunAPIClient from '../../../hooks/useSHOGunAPIClient';\nimport {\n setFormDirty\n} from '../../../store/editFeature';\nimport DisplayField from '../../DisplayField';\nimport FileUpload from '../../FileUpload';\nimport ImageUpload from '../../ImageUpload';\n\nimport './index.less';\n\nexport type EditFeatureFormProps = FormProps & {\n formConfig?: PropertyFormItemEditConfig[];\n form: FormInstance;\n};\n\nexport function isFileConfig(val: any): val is UploadFile {\n if (_isNil(val)) {\n return false;\n }\n\n return val.uid &&\n !_isNil(val.name) &&\n !_isNil(val.type) &&\n !_isNil(val.uid) &&\n _isObject(val.response) &&\n !_isNil(val.response.id) &&\n !_isNil(val.response.fileUuid) &&\n !_isNil(val.response.fileName) &&\n !_isNil(val.response.fileType);\n};\n\nexport const EditFeatureForm: React.FC = ({\n formConfig,\n form,\n ...passThroughProps\n}): JSX.Element => {\n\n const client = useSHOGunAPIClient();\n const dispatch = useAppDispatch();\n const {\n t\n } = useTranslation();\n\n const formDirty = useAppSelector(\n state => state.editFeature.formDirty\n );\n\n const createFormItem = (fieldCfg: PropertyFormItemEditConfig): React.ReactNode => {\n let field: React.ReactNode;\n if (fieldCfg.readOnly) {\n field = createReadOnlyComponent(fieldCfg);\n } else if (fieldCfg.component) {\n field = createFieldComponent(fieldCfg);\n } else {\n Logger.warn('FieldConfig is missing `readOnly`, `component` or `dataType` property.');\n field = (\n \n );\n }\n\n const formItemProps: FormItemProps = {\n rules: []\n };\n\n formItemProps.rules = [{\n required: fieldCfg.required\n }];\n\n if ((fieldCfg.component === 'SWITCH' || fieldCfg.component === 'CHECKBOX') && !fieldCfg.readOnly) {\n formItemProps.valuePropName = 'checked';\n }\n\n if (fieldCfg.component === 'UPLOAD' && !fieldCfg.readOnly) {\n formItemProps.valuePropName = 'fileList';\n /**\n * Setting `getValueFromEvent` to provide the proper file list to the antd Upload component.\n */\n formItemProps.getValueFromEvent = (e: UploadFile[] | UploadChangeParam>) => {\n if (Array.isArray(e)) {\n return e;\n }\n return e && e.fileList;\n };\n }\n\n return (\n \n {field}\n \n );\n };\n\n const createReadOnlyComponent = (fieldConfig: PropertyFormItemEditConfig): React.ReactNode => {\n return (\n \n );\n };\n\n const createFieldComponent = (fieldCfg: PropertyFormItemEditConfig): React.ReactNode => {\n if (!client) {\n return;\n }\n\n switch (fieldCfg.component) {\n case 'CHECKBOX':\n return (\n \n );\n case 'DATE':\n return (\n \n );\n case 'DISPLAY':\n return (\n \n );\n case 'INPUT':\n return (\n \n );\n case 'NUMBER':\n return (\n \n );\n case 'SELECT':\n return (\n \n );\n case 'SWITCH':\n return (\n \n );\n case 'TEXTAREA':\n return (\n \n );\n case 'UPLOAD':\n if (fieldCfg?.fieldProps?.type === 'IMAGE') {\n return (\n \n );\n } else {\n return (\n \n );\n }\n default:\n Logger.error(`Component type \"${fieldCfg?.component}\" is not supported`);\n return <>;\n }\n };\n\n const onValuesChange = async (changedValues: any) => {\n if (changedValues && !formDirty) {\n dispatch(setFormDirty(true));\n }\n };\n\n return (\n \n { formConfig?.map(createFormItem) }\n \n );\n};\n\nexport default EditFeatureForm;\n","import {\n useCallback\n} from 'react';\n\nimport OlSourceImageWMS from 'ol/source/ImageWMS';\nimport OlSourceTileWMS from 'ol/source/TileWMS';\n\nimport UrlUtil from '@terrestris/base-util/dist/UrlUtil/UrlUtil';\n\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport type LocalGeometryType = 'MultiPoint' | 'Point' | 'MultiLineString' | 'LineString' | 'MultiPolygon' | 'Polygon';\nexport type GeometryType = 'gml:MultiPoint' | 'gml:Point' | 'gml:MultiLineString' | 'gml:LineString' | 'gml:MultiPolygon' | 'gml:Polygon';\n\nexport type Property = {\n localType: 'int' | 'number' | 'string' | 'boolean' | 'date' | LocalGeometryType;\n maxOccurs: 0 | 1;\n minOccurs: 0 | 1;\n name: string;\n nillable: boolean;\n type: 'xsd:int' | 'xsd:number' | 'xsd:string' | 'xsd:boolean' | 'xsd:date' | GeometryType;\n};\n\nexport type FeatureType = {\n typeName: string;\n properties: Property[];\n};\n\nexport type DescribeFeatureType = {\n elementFormDefault: string;\n featureTypes: FeatureType[];\n targetNamespace: string;\n targetPrefix: string;\n};\n\nexport const isGeometryType = (propertyType: string): propertyType is GeometryType => {\n const geometryTypes = [\n 'gml:MultiPoint',\n 'gml:Point',\n 'gml:MultiLineString',\n 'gml:LineString',\n 'gml:MultiPolygon',\n 'gml:Polygon'\n ];\n\n return geometryTypes.includes(propertyType);\n};\n\nexport const useExecuteWfsDescribeFeatureType = () => {\n const client = useSHOGunAPIClient();\n\n const executeWfsDescribeFeatureType = useCallback(async (layer: WmsLayer) => {\n let url;\n\n const source = layer.getSource();\n if (source instanceof OlSourceImageWMS) {\n url = (source as OlSourceImageWMS).getUrl();\n }\n if (source instanceof OlSourceTileWMS) {\n const urls = (source as OlSourceTileWMS).getUrls();\n url = urls ? urls[0] : undefined;\n }\n\n if (!url) {\n return;\n }\n\n if (url.endsWith('?')) {\n url = url.slice(0, -1);\n }\n\n const params = {\n SERVICE: 'WFS',\n REQUEST: 'DescribeFeatureType',\n VERSION: '2.0.0',\n OUTPUTFORMAT: 'application/json',\n TYPENAMES: layer.getSource()?.getParams().LAYERS\n };\n\n const defaultHeaders = {\n 'Content-Type': 'application/json'\n };\n\n const response = await fetch(`${url}?${UrlUtil.objectToRequestString(params)}`, {\n method: 'GET',\n headers: layer.get('useBearerToken') ? {\n ...defaultHeaders,\n ...getBearerTokenHeader(client?.getKeycloak())\n } : defaultHeaders\n });\n\n if (!response.ok) {\n throw new Error('No successful response while executing a WFS-Transaction');\n }\n\n return await response.json() as DescribeFeatureType;\n }, [client]);\n\n return executeWfsDescribeFeatureType;\n};\n\nexport default useExecuteWfsDescribeFeatureType;\n","import {\n useCallback\n} from 'react';\n\nimport {\n FormInstance\n} from 'antd';\n\nimport ClientConfiguration from 'clientConfig';\n\nimport _isObject from 'lodash/isObject';\n\nimport {\n isMoment\n} from 'moment';\n\nimport {\n isEmpty\n} from 'ol/extent';\nimport OlFeature from 'ol/Feature';\nimport OlFormatWFS, {\n WriteTransactionOptions as OlWriteTransactionOptions\n} from 'ol/format/WFS';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport { isFileConfig } from '../components/EditFeatureDrawer/EditFeatureForm';\n\nimport useExecuteWfsDescribeFeatureType, {\n isGeometryType\n} from './useExecuteWfsDescribeFeatureType';\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport type WriteWfsTransactionOpts = {\n layer: WmsLayer;\n upsertFeatures?: OlFeature[];\n deleteFeatures?: OlFeature[];\n form?: FormInstance;\n};\n\nexport const useWriteWfsTransaction = () => {\n const map = useMap();\n const executeWfsDescribeFeatureType = useExecuteWfsDescribeFeatureType();\n const client = useSHOGunAPIClient();\n\n const writeWfsTransaction = useCallback(async (opts: WriteWfsTransactionOpts) => {\n const cleanFormValues = (form: FormInstance) => {\n const formValues = {...form.getFieldsValue()};\n\n for (const [key, value] of Object.entries(formValues)) {\n // Transform undefined to null values.\n if (value === undefined) {\n formValues[key] = null;\n }\n\n // Filter out read-only fields (which don't have any field instance associated).\n if (!form.getFieldInstance(key)) {\n delete formValues[key];\n }\n\n // Transform moments back to iso string.\n if (isMoment(value)) {\n formValues[key] = value.toISOString();\n }\n\n if (Array.isArray(value) && value.length > 0 && isFileConfig(value[0])) {\n const fileInfoList = value.map(val => ({\n uid: val.uid,\n lastModified: val.lastModified,\n name: val.name,\n type: val.type,\n url: `${client?.getBasePath()}files/${val.response.fileUuid}`,\n response: {\n id: val.response?.id,\n created: val.response?.created,\n fileName: val.response?.fileName,\n fileType: val.response?.fileType,\n fileUuid: val.response?.fileUuid\n }\n }));\n formValues[key] = JSON.stringify(fileInfoList);\n }\n }\n return formValues;\n };\n\n if (!map) {\n return;\n }\n\n const inserts: OlFeature[] = [];\n const updates: OlFeature[] = [];\n const deletes: OlFeature[] = [];\n\n const describeFeatureType = await executeWfsDescribeFeatureType(opts.layer);\n\n if (!describeFeatureType) {\n return;\n }\n\n const geomProperty = describeFeatureType.featureTypes[0]?.properties\n ?.find(property => isGeometryType(property.type));\n\n let overallUpdateMode = false;\n\n if (opts.upsertFeatures) {\n for (const feature of opts.upsertFeatures) {\n const feat = new OlFeature();\n\n const geometry = feature.getGeometry()?.clone();\n\n if (geometry && !isEmpty(geometry.getExtent())) {\n feat.set(geomProperty?.name || 'geom', geometry);\n feat.setGeometryName(geomProperty?.name || 'geom');\n }\n\n if (opts.form) {\n feat.setProperties(cleanFormValues(opts.form));\n }\n\n const updateMode = !!feature.getId();\n\n if (updateMode && !overallUpdateMode) {\n overallUpdateMode = true;\n }\n\n if (updateMode) {\n feat.setId(feature.getId());\n }\n\n if (updateMode) {\n updates.push(feat);\n } else {\n inserts.push(feat);\n }\n };\n }\n\n if (opts.deleteFeatures) {\n deletes.push(...opts.deleteFeatures);\n }\n\n const transactionOpts: OlWriteTransactionOptions = {\n featureNS: describeFeatureType.targetNamespace,\n featurePrefix: describeFeatureType.targetPrefix,\n featureType: opts.layer.getSource()?.getParams().LAYERS,\n srsName: map.getView().getProjection().getCode(),\n version: '1.1.0',\n nativeElements: []\n };\n\n const format = new OlFormatWFS();\n\n const transaction = format.writeTransaction(inserts, updates, deletes, transactionOpts);\n\n if (overallUpdateMode && ClientConfiguration.wfsLockFeatureEnabled) {\n const rootNode = transaction.getRootNode() as Element;\n const lockId = document.createElementNS('http://www.opengis.net/wfs', 'LockId');\n const lockIdValue = document.createTextNode('GeoServer');\n lockId.appendChild(lockIdValue);\n rootNode.appendChild(lockId);\n }\n\n return transaction;\n }, [client, executeWfsDescribeFeatureType, map]);\n\n return writeWfsTransaction;\n};\n\nexport default useWriteWfsTransaction;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useEffect\n} from 'react';\n\nimport {\n Drawer\n} from 'antd';\n\nimport type {\n DrawerProps\n} from 'antd/es/drawer';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport './index.less';\n\nexport type MapDrawerProps = DrawerProps & {};\n\nexport const MapDrawer: React.FC = ({\n open,\n children,\n ...passThroughProps\n}) => {\n\n const map = useMap();\n\n useEffect(() => {\n document.querySelectorAll('#map')[0]?.classList.toggle('bisected', !!open);\n }, [open]);\n\n const onAfterDrawerOpenChange = () => {\n map?.updateSize();\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default MapDrawer;\n","import {\n useCallback\n} from 'react';\n\nimport {\n FeatureCollection\n} from 'geojson';\n\nimport OlFormatFilter from 'ol/format/filter/Filter';\nimport OlFormatWFS from 'ol/format/WFS';\nimport OlSourceImageWMS from 'ol/source/ImageWMS';\nimport OlSourceTileWMS from 'ol/source/TileWMS';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useExecuteWfsDescribeFeatureType from './useExecuteWfsDescribeFeatureType';\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport type GetFeatureOpts = {\n layer: WmsLayer;\n filter?: OlFormatFilter;\n};\n\nexport const useExecuteGetFeature = () => {\n const client = useSHOGunAPIClient();\n const map = useMap();\n const executeWfsDescribeFeatureType = useExecuteWfsDescribeFeatureType();\n\n const executeGetFeature = useCallback(async (opts: GetFeatureOpts) => {\n if (!map) {\n return;\n }\n\n const describeFeatureType = await executeWfsDescribeFeatureType(opts.layer);\n\n if (!describeFeatureType) {\n return;\n }\n\n let url;\n\n const source = opts.layer.getSource();\n if (source instanceof OlSourceImageWMS) {\n url = (source as OlSourceImageWMS).getUrl();\n }\n if (source instanceof OlSourceTileWMS) {\n const urls = (source as OlSourceTileWMS).getUrls();\n url = urls ? urls[0] : undefined;\n }\n\n if (!url) {\n return;\n }\n\n if (url.endsWith('?')) {\n url = url.slice(0, -1);\n }\n\n const featureRequest = new OlFormatWFS().writeGetFeature({\n srsName: map.getView().getProjection().getCode(),\n featureNS: describeFeatureType.targetNamespace,\n featurePrefix: describeFeatureType.targetPrefix,\n featureTypes: [source?.getParams().LAYERS],\n outputFormat: 'application/json',\n filter: opts.filter\n });\n\n const defaultHeaders = {\n 'Content-Type': 'application/json'\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers: opts.layer?.get('useBearerToken') ? {\n ...defaultHeaders,\n ...getBearerTokenHeader(client?.getKeycloak())\n } : defaultHeaders,\n body: new XMLSerializer().serializeToString(featureRequest)\n });\n\n if (!response.ok) {\n throw new Error('No successful response');\n }\n\n return await response.json() as FeatureCollection;\n }, [client, executeWfsDescribeFeatureType, map]);\n\n return executeGetFeature;\n};\n\nexport default useExecuteGetFeature;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport {\n faPencil,\n faTrash,\n faDrawPolygon,\n faUndo\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport { TooltipPlacement } from 'antd/es/tooltip';\nimport {\n FeatureCollection,\n Feature\n} from 'geojson';\nimport { t } from 'i18next';\n\nimport _isEmpty from 'lodash/isEmpty';\n\nimport { isEmpty as isEmptyOlExtent } from 'ol/extent';\nimport OlFormatGeoJson from 'ol/format/GeoJSON';\nimport OlGeometry from 'ol/geom/Geometry';\nimport { DrawEvent as OlDrawEvent } from 'ol/interaction/Draw';\nimport OlLayerVector from 'ol/layer/Vector';\nimport OlSourceVector from 'ol/source/Vector';\n\nimport DeleteButton from '@terrestris/react-geo/dist/Button/DeleteButton/DeleteButton';\nimport DrawButton from '@terrestris/react-geo/dist/Button/DrawButton/DrawButton';\nimport ModifyButton from '@terrestris/react-geo/dist/Button/ModifyButton/ModifyButton';\nimport SimpleButton from '@terrestris/react-geo/dist/Button/SimpleButton/SimpleButton';\nimport ToggleGroup from '@terrestris/react-geo/dist/Button/ToggleGroup/ToggleGroup';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\nimport Toolbar, { ToolbarProps } from '@terrestris/react-geo/dist/Toolbar/Toolbar';\n\nimport {\n DigitizeUtil\n} from '@terrestris/react-geo/dist/Util/DigitizeUtil';\n\nimport useAppDispatch from '../../../hooks/useAppDispatch';\nimport useAppSelector from '../../../hooks/useAppSelector';\n\nimport {\n setFormDirty\n} from '../../../store/editFeature';\n\nimport './index.less';\n\nexport type EditFeatureGeometryToolbarProps = ToolbarProps & {\n feature: Feature;\n historyLength?: number;\n};\n\ntype DrawType = 'Point' | 'LineString' | 'Polygon';\n\ntype EditHistory = {\n past: FeatureCollection[];\n future: FeatureCollection[];\n};\nexport const EditFeatureGeometryToolbar: React.FC = ({\n feature,\n historyLength = 10\n}) => {\n\n const editHistory = useRef({\n past: [],\n future: []\n });\n\n const map = useMap();\n const dispatch = useAppDispatch();\n\n const [editLayer, setEditLayer] = useState>>();\n const [, setRevision] = useState(0);\n\n const gjFormat = useMemo(() => new OlFormatGeoJson(), []);\n\n const allowedEditMode = useAppSelector(state => state.editFeature.userEditMode);\n const formDirty = useAppSelector(state => state.editFeature.formDirty);\n\n useEffect(() => {\n if (!map) {\n return;\n }\n\n if (!editLayer) {\n setEditLayer(DigitizeUtil.getDigitizeLayer(map));\n }\n\n return () => {\n if (editLayer) {\n map?.removeLayer(editLayer);\n }\n };\n }, [editLayer, map]);\n\n useEffect(() => {\n const isModified = editHistory.current.past.length > 0;\n if (isModified && !formDirty) {\n dispatch(setFormDirty(true));\n }\n // we only want to change formDirty state when the editHistory changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dispatch, editHistory.current.past]);\n\n useEffect(() => {\n if (editLayer && feature?.id) {\n editLayer.getSource()?.clear();\n const olFeat = gjFormat.readFeature(feature);\n const source = editLayer.getSource() as OlSourceVector;\n source.addFeature(olFeat);\n setRevision(r => r + 1);\n\n if (!isEmptyOlExtent(source.getExtent())) {\n map?.getView().fit(source.getExtent(), {\n padding: [50, 50, 50, 50]\n });\n }\n }\n }, [feature, editLayer, gjFormat, map]);\n\n const undoEdit = () => {\n\n const editSource = editLayer?.getSource();\n const features = editSource?.getFeatures();\n\n if (!features) {\n return;\n }\n\n const clone: FeatureCollection = gjFormat.writeFeaturesObject(features);\n const previousSource = editHistory.current.past[editHistory.current.past.length - 1];\n if (!_isEmpty(previousSource)) {\n editSource?.clear();\n editSource?.addFeatures(gjFormat.readFeatures(previousSource));\n editHistory.current = {\n past: editHistory.current.past.slice(0, -1),\n future: [...editHistory.current.future, clone].slice(-historyLength)\n };\n setRevision(r => r + 1);\n }\n };\n\n const redoEdit = () => {\n\n const editSource = editLayer?.getSource();\n const features = editSource?.getFeatures();\n\n if (!features) {\n return;\n }\n\n const clone = gjFormat.writeFeaturesObject(features);\n const nextSource = editHistory.current.future[editHistory.current.future.length - 1];\n if (!_isEmpty(nextSource)) {\n editSource?.clear();\n editSource?.addFeatures(gjFormat.readFeatures(nextSource));\n\n editHistory.current = {\n future: editHistory.current.future.slice(0, -1),\n past: [...editHistory.current.past, clone].slice(-historyLength)\n };\n setRevision(r => r + 1);\n }\n };\n\n const onDrawEnd = (e: OlDrawEvent) => {\n updateRevision();\n if (!feature.geometry.type.toLocaleLowerCase().startsWith('multi')) {\n // replace the existing geometry by the new one\n editLayer?.getSource()?.clear();\n }\n };\n\n const updateRevision = () => {\n\n const features = editLayer?.getSource()?.getFeatures();\n\n if (!features) {\n return;\n }\n\n const clone: FeatureCollection = gjFormat.writeFeaturesObject(features);\n editHistory.current = {\n ...editHistory.current,\n past: [...editHistory.current.past, clone].slice(-10)\n };\n setRevision(r => r + 1);\n };\n\n const btnTooltipProps = {\n tooltipPlacement: 'left' as TooltipPlacement,\n tooltipProps: {\n mouseEnterDelay: 0.5\n }\n };\n\n if (!editLayer) {\n return <>;\n }\n\n if (allowedEditMode.includes('EDIT_GEOMETRY')) {\n return (\n \n \n {\n allowedEditMode.includes('CREATE') ?\n \n }\n pressedIcon={\n \n }\n name=\"draw\"\n digitizeLayer={editLayer}\n tooltip={t('EditFeatureGeometryToolbar.draw')}\n drawType={feature.geometry.type as DrawType}\n onDrawEnd={onDrawEnd}\n {...btnTooltipProps}\n />\n : <>\n }\n {\n allowedEditMode.includes('UPDATE') ?\n \n }\n pressedIcon={\n \n }\n name=\"edit\"\n digitizeLayer={editLayer}\n tooltip={t('EditFeatureGeometryToolbar.edit')}\n onModifyStart={updateRevision}\n onModifyEnd={updateRevision}\n onTranslateEnd={updateRevision}\n {...btnTooltipProps}\n />\n : <>\n }\n {\n allowedEditMode.includes('DELETE') ?\n \n }\n pressedIcon={\n \n }\n name=\"delete\"\n digitizeLayer={editLayer}\n tooltip={t('EditFeatureGeometryToolbar.delete')}\n onFeatureRemove={updateRevision}\n {...btnTooltipProps}\n />\n : <>\n }\n \n \n }\n tooltip={t('EditFeatureGeometryToolbar.undo')}\n onClick={undoEdit}\n disabled={editHistory.current.past?.length === 0}\n {...btnTooltipProps}\n />\n \n }\n tooltip={t('EditFeatureGeometryToolbar.redo')}\n onClick={redoEdit}\n disabled={editHistory.current.future?.length === 0}\n {...btnTooltipProps}\n />\n \n );\n } else {\n return <>;\n }\n};\n\nexport default EditFeatureGeometryToolbar;\n","import React from 'react';\n\nimport {\n Tabs,\n TabsProps\n} from 'antd';\n\nimport {\n FormInstance\n} from 'antd/lib/form/Form';\n\nimport {\n Tab\n} from 'rc-tabs/lib/interface';\n\nimport {\n PropertyFormItemEditConfig,\n PropertyFormTabConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\n\nimport EditFeatureForm from '../EditFeatureForm';\n\nexport type EditFeatureTabsProps = TabsProps & {\n tabConfig?: PropertyFormTabConfig[];\n form: FormInstance;\n initialValues?: Record;\n};\n\nexport const EditFeatureTabs: React.FC = ({\n tabConfig,\n form,\n initialValues,\n ...passThroughProps\n}) => {\n\n const items = tabConfig?.map((config, idx) => {\n return {\n label: config.title,\n key: `${idx}`,\n forceRender: true,\n children: (\n \n )\n } as Tab;\n });\n\n return (\n \n );\n};\n\nexport default EditFeatureTabs;\n","import React, {\n useState\n} from 'react';\n\nimport {\n faTrash\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport {\n Button,\n ButtonProps,\n Popconfirm\n} from 'antd';\n\nimport {\n Feature\n} from 'geojson';\n\nimport OlFormatGeoJSON from 'ol/format/GeoJSON';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport {\n Logger\n} from '@terrestris/base-util';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\nimport {\n WmsLayer,\n isWmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport useExecuteWfsTransaction from '../../../hooks/useExecuteWfsTransaction';\nimport useWriteWfsTransaction from '../../../hooks/useWriteWfsTransaction';\n\nexport type DeleteButtonProps = ButtonProps & {\n feature: Feature;\n layer: WmsLayer;\n onError?: (error: unknown) => void;\n onSuccess?: () => void;\n};\n\nexport const DeleteButton: React.FC = ({\n feature,\n layer,\n onError = () => {},\n onSuccess = () => {},\n ...passThroughProps\n}) => {\n const [loading, setLoading] = useState(false);\n\n const {\n t\n } = useTranslation();\n\n const map = useMap();\n\n const writeWfsTransaction = useWriteWfsTransaction();\n const executeWfsTransaction = useExecuteWfsTransaction();\n\n const onConfirmDelete = async () => {\n if (!map) {\n return;\n }\n\n if (!layer || !isWmsLayer(layer)) {\n return;\n }\n\n try {\n setLoading(true);\n\n const olFeature = new OlFormatGeoJSON().readFeature(feature);\n\n const transaction = await writeWfsTransaction({\n deleteFeatures: [olFeature],\n layer: layer\n });\n\n if (!transaction) {\n return;\n }\n\n await executeWfsTransaction({\n layer: layer,\n transaction: transaction\n });\n\n layer.getSource()?.refresh();\n\n onSuccess();\n } catch (error) {\n Logger.error(error);\n\n onError(error);\n } finally {\n setLoading(false);\n }\n };\n\n return (\n \n \n )}\n {...passThroughProps}\n >\n {\n t('DeleteButton.title')\n }\n \n \n );\n};\n\nexport default DeleteButton;\n","import React from 'react';\n\nimport {\n faRotateLeft\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport {\n Button,\n ButtonProps\n} from 'antd';\n\nimport {\n FormInstance\n} from 'antd/lib/form/Form';\n\nimport {\n Feature\n} from 'geojson';\n\nimport OlFormatGeoJson from 'ol/format/GeoJSON';\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\nimport { DigitizeUtil } from '@terrestris/react-geo/dist/Util/DigitizeUtil';\n\nimport useAppDispatch from '../../../hooks/useAppDispatch';\nimport {\n setFormDirty\n} from '../../../store/editFeature';\n\nexport type ResetButtonProps = Omit & {\n feature: Feature;\n form: FormInstance;\n};\n\nexport const ResetButton: React.FC = ({\n feature,\n form,\n ...passThroughProps\n}) => {\n\n const {\n t\n } = useTranslation();\n\n const map = useMap();\n\n const dispatch = useAppDispatch();\n\n const onClick = () => {\n form.resetFields();\n dispatch(setFormDirty(false));\n\n if (map) {\n const editLayer = DigitizeUtil.getDigitizeLayer(map);\n if (editLayer) {\n editLayer.getSource()?.clear();\n const format = new OlFormatGeoJson();\n const olFeat = format.readFeature(feature);\n editLayer.getSource()?.addFeature(olFeat);\n }\n }\n };\n\n return (\n \n )}\n {...passThroughProps}\n >\n {\n t('ResetButton.title')\n }\n \n );\n};\n\nexport default ResetButton;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\n\nimport './index.less';\n\nexport type FeedbackIconProps = {\n loadComplete: boolean;\n};\n\nexport const FeedbackIcon: React.FC = ({\n loadComplete = false\n}) => {\n\n return (\n
\n
\n
\n );\n};\n\nexport default FeedbackIcon;\n","import React, {\n useState\n} from 'react';\n\nimport {\n faFloppyDisk\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport {\n Button,\n ButtonProps\n} from 'antd';\n\nimport {\n FormInstance\n} from 'antd/lib/form/Form';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport {\n Logger\n} from '@terrestris/base-util';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\nimport {\n DigitizeUtil\n} from '@terrestris/react-geo/dist/Util/DigitizeUtil';\nimport {\n WmsLayer,\n isWmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport useAppDispatch from '../../../hooks/useAppDispatch';\nimport useAppSelector from '../../../hooks/useAppSelector';\nimport useExecuteWfsTransaction from '../../../hooks/useExecuteWfsTransaction';\nimport useWriteWfsTransaction from '../../../hooks/useWriteWfsTransaction';\nimport {\n setFormDirty\n} from '../../../store/editFeature';\n\nimport './index.less';\nimport FeedbackIcon from '../../FeedbackIcon';\n\nexport type SaveButtonProps = Omit & {\n form: FormInstance;\n layer: WmsLayer;\n onError?: (error: unknown) => void;\n onSuccess?: (response?: string) => void;\n};\n\nexport const SaveButton: React.FC = ({\n form,\n layer,\n onError = () => {},\n onSuccess = () => {},\n ...passThroughProps\n}) => {\n const [loading, setLoading] = useState(false);\n const [saveCompleted, setSaveCompleted] = useState(false);\n\n const map = useMap();\n\n const writeWfsTransaction = useWriteWfsTransaction();\n const executeWfsTransaction = useExecuteWfsTransaction();\n\n const dispatch = useAppDispatch();\n\n const formDirty = useAppSelector(\n state => state.editFeature.formDirty\n );\n\n const {\n t\n } = useTranslation();\n\n const onClick = async () => {\n if (!map) {\n return;\n }\n\n if (!layer || !isWmsLayer(layer)) {\n return;\n }\n\n const editLayer = DigitizeUtil.getDigitizeLayer(map);\n\n if (!editLayer) {\n Logger.error('Cannot find the digitize layer');\n return;\n }\n\n const features = editLayer.getSource()?.getFeatures();\n\n if (!features || features.length === 0) {\n Logger.error('Cannot save feature without geometry');\n return;\n };\n\n try {\n await form.validateFields();\n } catch (error) {\n Logger.warn('Validation has failed: ', error);\n return;\n }\n\n try {\n setLoading(true);\n\n const transaction = await writeWfsTransaction({\n upsertFeatures: features,\n form: form,\n layer: layer\n });\n\n if (!transaction) {\n return;\n }\n\n const result = await executeWfsTransaction({\n layer: layer,\n transaction: transaction\n });\n\n layer.getSource()?.refresh();\n\n setSaveCompleted(true);\n setTimeout(() => {\n setSaveCompleted(false);\n }, 3000);\n\n onSuccess(result);\n } catch (error) {\n Logger.error(error);\n\n onError(error);\n } finally {\n setLoading(false);\n dispatch(setFormDirty(false));\n }\n };\n\n return (\n \n )}\n {...passThroughProps}\n >\n {\n t('SaveButton.title')\n }\n \n \n );\n};\n\nexport default SaveButton;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\n\nimport {\n FormInstance\n} from 'antd';\n\nimport {\n Feature\n} from 'geojson';\n\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport useAppSelector from '../../../hooks/useAppSelector';\n\nimport DeleteButton from '../DeleteButton';\nimport ResetButton from '../ResetButton';\nimport SaveButton from '../SaveButton';\n\nimport './index.less';\n\nexport type EditFeatureToolbarProps = {\n feature: Feature;\n layer: WmsLayer;\n form: FormInstance;\n onSaveSuccess?: (responseText?: string) => void;\n onSaveError?: (error: unknown) => void;\n onDeleteSuccess?: () => void;\n onDeleteError?: (error: unknown) => void;\n};\n\nexport const EditFeatureToolbar: React.FC = ({\n feature,\n layer,\n form,\n onSaveSuccess = () => {},\n onSaveError = () => {},\n onDeleteSuccess = () => {},\n onDeleteError = () => {}\n}) => {\n const allowedEditMode = useAppSelector(state => state.editFeature.userEditMode);\n\n return (\n \n {\n allowedEditMode.includes('CREATE') ||\n allowedEditMode.includes('UPDATE') ?\n <>\n \n \n : <>\n }\n {\n allowedEditMode.includes('DELETE') &&\n \n }\n
\n );\n};\n\nexport default EditFeatureToolbar;\n","import React, {\n useCallback,\n useEffect,\n useState\n} from 'react';\n\nimport {\n Alert\n} from 'antd';\nimport {\n useForm\n} from 'antd/lib/form/Form';\n\nimport {\n Feature\n} from 'geojson';\n\nimport _isNil from 'lodash/isNil';\n\nimport moment from 'moment';\n\nimport {\n equalTo\n} from 'ol/format/filter';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport {\n Logger\n} from '@terrestris/base-util';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport {\n WmsLayer,\n isWmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n PropertyFormItemEditConfig,\n PropertyFormTabConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\n\nimport useAppDispatch from '../../../hooks/useAppDispatch';\nimport useAppSelector from '../../../hooks/useAppSelector';\nimport useConvertImageUrl from '../../../hooks/useConvertImageUrl';\nimport useExecuteGetFeature from '../../../hooks/useExecuteGetFeature';\nimport useSHOGunAPIClient from '../../../hooks/useSHOGunAPIClient';\n\nimport {\n setFeature\n} from '../../../store/editFeature';\n\nimport EditFeatureGeometryToolbar from '../EditFeatureGeometryToolbar';\nimport EditFeatureTabs from '../EditFeatureTabs';\nimport EditFeatureToolbar from '../EditFeatureToolbar';\n\nexport type EditFeatureFullFormProps = {\n feature: Feature;\n layer: WmsLayer;\n};\n\nexport const EditFeatureFullForm: React.FC = ({\n feature,\n layer\n}) => {\n const {\n t\n } = useTranslation();\n const executeGetFeature = useExecuteGetFeature();\n const imageUrlToBase64 = useConvertImageUrl();\n\n const [tabConfig, setTabConfig] = useState[]>();\n const [initialValues, setInitialValues] = useState>();\n const [errorMsg, setErrorMsg] = useState();\n\n const allowedEditMode = useAppSelector(\n state => state.editFeature.userEditMode\n );\n\n const [form] = useForm();\n const map = useMap();\n const dispatch = useAppDispatch();\n const client = useSHOGunAPIClient();\n\n const reloadFeature = useCallback(async (id: string) => {\n if (!layer || !isWmsLayer(layer)) {\n return;\n }\n\n const updatedFeatures = await executeGetFeature({\n layer: layer,\n filter: equalTo('id', id)\n });\n\n if (\n updatedFeatures?.features[0]\n ) {\n dispatch(setFeature(updatedFeatures?.features[0]));\n }\n }, [dispatch, executeGetFeature, layer]);\n\n const update = useCallback(async () => {\n if (!map || !client) {\n return;\n }\n\n let editFormConfig = layer.get('editFormConfig') as PropertyFormTabConfig[];\n\n if (editFormConfig?.length === 0) {\n Logger.warn(`Layer ${layer.get('name')} has no 'editFormConfig' set`);\n return;\n }\n\n const properties = structuredClone(feature?.properties) || {};\n\n const setPropertiesPromises = Object.entries(properties).map(async ([key, value]) => {\n const tabConfigs = editFormConfig?.filter(tabCfg => {\n return tabCfg.children?.find(formCfg => formCfg.propertyName === key);\n });\n\n if (tabConfigs.length > 1) {\n Logger.warn(`Property ${key} is configured in multiple tabs. Is this intended?`);\n }\n\n if (tabConfigs && tabConfigs[0]) {\n const isDate = tabConfigs[0].children?.some(cfg => {\n return cfg.propertyName === key && cfg.component === 'DATE';\n });\n\n if (isDate) {\n properties[key] = moment(value);\n }\n\n const isUpload = tabConfigs[0].children?.some(cfg => {\n return cfg.propertyName === key && cfg.component === 'UPLOAD';\n });\n\n if (isUpload) {\n if (value) {\n try {\n const fileList = JSON.parse(value);\n properties[key] = fileList;\n const filePath = fileList[0].response?.type?.startsWith('image/') ? 'imagefiles/' : 'files/';\n const fileListWithBlob = fileList.map(async (val: any) => ({\n ...val,\n url: await imageUrlToBase64(`${client.getBasePath()}${filePath}${val?.response?.fileUuid}`)\n }));\n\n const result = await Promise.all(fileListWithBlob);\n properties[key] = result;\n } catch (error) {\n Logger.error('Could not parse file list from JSON config: ', error);\n properties[key] = [];\n }\n } else {\n properties[key] = [];\n }\n }\n }\n });\n\n await Promise.all(setPropertiesPromises);\n\n form.resetFields();\n form.setFieldsValue(properties);\n\n setTabConfig(editFormConfig);\n setInitialValues(properties);\n }, [map, client, layer, feature?.properties, form, imageUrlToBase64]);\n\n useEffect(() => {\n update();\n }, [update]);\n\n const onSaveSuccess = (responseText?: string) => {\n if (!responseText) {\n return;\n }\n setErrorMsg(undefined);\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(responseText, 'text/xml');\n\n // get feature id from response\n const featureId = xmlDoc.getElementsByTagName('ogc:FeatureId');\n const idString = featureId.item(0)?.getAttribute('fid');\n const id = idString?.split('.')[1];\n if (id) {\n reloadFeature(id);\n }\n };\n\n const onSaveError = () => {\n setErrorMsg(t('EditFeatureFullForm.saveErrorMsg'));\n };\n\n const onDeleteSuccess = () => {\n setErrorMsg(undefined);\n dispatch(setFeature(null));\n };\n\n const onDeleteError = () => {\n setErrorMsg(t('EditFeatureFullForm.deleteErrorMsg'));\n };\n\n return (\n <>\n \n {\n errorMsg && (\n \n )\n }\n \n \n \n );\n};\n\nexport default EditFeatureFullForm;\n","import {\n useCallback\n} from 'react';\n\nimport {\n Feature\n} from 'geojson';\n\nimport OlSourceImageWMS from 'ol/source/ImageWMS';\nimport OlSourceTileWMS from 'ol/source/TileWMS';\n\nimport Logger from '@terrestris/base-util/dist/Logger';\n\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport type ExecuteWfsLockOpts = {\n layer: WmsLayer;\n feature: Feature;\n};\n\nexport const useExecuteWfsLockFeature = () => {\n const client = useSHOGunAPIClient();\n\n const writeWfsLockFeature = (opts: ExecuteWfsLockOpts) => {\n const featureId = opts.feature.id;\n const featureProperties = opts.feature.properties;\n\n if (!featureId || !featureProperties) {\n Logger.warn('Either the id of the feature or its properties (or even both) aren\\'t available');\n return;\n }\n\n let id: number;\n if (typeof featureId === 'number') {\n id = featureId;\n } else {\n id = parseInt(featureId.split('.')[1], 10);\n }\n\n const match = Object.entries(featureProperties).find(([, value]) => (value === id || value === id.toString()));\n\n if (!match) {\n Logger.warn('Count not detect the id property');\n return;\n }\n\n const idProperty = match[0];\n\n const typeName = opts.layer.getSource()?.getParams().LAYERS;\n\n const lockFeatureDoc = document.createElementNS('http://www.opengis.net/wfs/2.0', 'LockFeature');\n\n lockFeatureDoc.setAttribute('service', 'WFS');\n lockFeatureDoc.setAttribute('version', '2.0.0');\n // Expiry in seconds.\n lockFeatureDoc.setAttribute('expiry', '300');\n lockFeatureDoc.setAttribute('lockAction', 'SOME');\n\n const queryElement = document.createElementNS('http://www.opengis.net/wfs/2.0', 'Query');\n queryElement.setAttribute('typeNames', typeName);\n\n const filterElement = document.createElementNS('http://www.opengis.net/fes/2.0', 'Filter');\n const isEqualToElement = document.createElementNS('http://www.opengis.net/fes/2.0', 'PropertyIsEqualTo');\n\n const valueReferenceElement = document.createElementNS('http://www.opengis.net/fes/2.0', 'ValueReference');\n const valueReferenceValue = document.createTextNode(idProperty);\n valueReferenceElement.appendChild(valueReferenceValue);\n\n const literalElement = document.createElementNS('http://www.opengis.net/fes/2.0', 'Literal');\n const literalValue = document.createTextNode(id.toString());\n literalElement.appendChild(literalValue);\n\n isEqualToElement.appendChild(valueReferenceElement);\n isEqualToElement.appendChild(literalElement);\n\n filterElement.appendChild(isEqualToElement);\n\n queryElement.appendChild(filterElement);\n\n lockFeatureDoc.appendChild(queryElement);\n\n return lockFeatureDoc;\n };\n\n const executeWfsLockFeature = useCallback(async (opts: ExecuteWfsLockOpts) => {\n let url;\n\n const source = opts.layer.getSource();\n if (source instanceof OlSourceImageWMS) {\n url = (source as OlSourceImageWMS).getUrl();\n }\n if (source instanceof OlSourceTileWMS) {\n const urls = (source as OlSourceTileWMS).getUrls();\n url = urls ? urls[0] : undefined;\n }\n\n if (!url) {\n return;\n }\n\n if (url.endsWith('?')) {\n url = url.slice(0, -1);\n }\n\n const lockFeatureDoc = writeWfsLockFeature({\n layer: opts.layer,\n feature: opts.feature\n });\n\n if (!lockFeatureDoc) {\n return;\n }\n\n const defaultHeaders = {\n 'Content-Type': 'application/xml'\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers: opts.layer?.get('useBearerToken') ? {\n ...defaultHeaders,\n ...getBearerTokenHeader(client?.getKeycloak())\n } : defaultHeaders,\n body: new XMLSerializer().serializeToString(lockFeatureDoc)\n });\n\n if (!response.ok) {\n throw new Error('No successful response while executing a WFS-LockFeature');\n }\n\n const responseText = await response.text();\n\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(responseText, 'text/xml');\n\n // TODO Make detection more robust\n const transactionLockFailed = xmlDoc.getElementsByTagName('wfs:FeaturesNotLocked');\n\n if (transactionLockFailed.length > 0) {\n throw new Error(`Error while locking a feature: ${responseText}`);\n }\n\n return responseText;\n }, [client]);\n\n return executeWfsLockFeature;\n};\n\nexport default useExecuteWfsLockFeature;\n","import {\n useCallback,\n useEffect\n} from 'react';\n\nimport {\n FeatureCollection\n} from 'geojson';\n\nimport MapBrowserEvent from 'ol/MapBrowserEvent';\n\nimport {\n Logger\n} from '@terrestris/base-util';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useSHOGunAPIClient from './useSHOGunAPIClient';\n\nexport const useGetFeatureInfo = (layer?: WmsLayer, onSuccess?: (featureCollection: FeatureCollection) => void, onFailure?: () => void) => {\n const map = useMap();\n const client = useSHOGunAPIClient();\n\n const onSingleClick = useCallback(async (evt: MapBrowserEvent) => {\n if (!map || !layer) {\n return;\n }\n\n const coords = evt.coordinate;\n\n const viewResolution = map.getView().getResolution();\n\n if (!viewResolution) {\n return;\n }\n\n const source = layer.getSource();\n const url = source?.getFeatureInfoUrl(\n coords,\n viewResolution,\n map.getView().getProjection(),\n {\n INFO_FORMAT: 'application/json',\n BUFFER: 10\n }\n );\n\n const defaultHeaders = {\n 'Content-Type': 'application/json'\n };\n\n if (!url) {\n return;\n }\n\n try {\n map.getTargetElement().style.cursor = 'wait';\n\n const response = await fetch(url, {\n method: 'GET',\n headers: layer.get('useBearerToken') ? {\n ...defaultHeaders,\n ...getBearerTokenHeader(client?.getKeycloak())\n } : defaultHeaders\n });\n\n if (!response.ok) {\n throw new Error('No successful response');\n }\n\n const featureCollection: FeatureCollection = await response.json();\n\n if (onSuccess) {\n onSuccess(featureCollection);\n }\n } catch (error) {\n Logger.error('Error: ', error);\n\n if (onFailure) {\n onFailure();\n }\n } finally {\n map.getTargetElement().style.cursor = '';\n }\n }, [client, layer, map, onSuccess, onFailure]);\n\n const onPointerMove = useCallback((evt: MapBrowserEvent) => {\n if (!map || !layer) {\n return;\n }\n\n if (evt.dragging) {\n return;\n }\n\n const data = layer.getData(evt.pixel);\n\n if (!(data instanceof Uint8ClampedArray)) {\n return;\n }\n\n const hit = data && data[3] > 0;\n\n map.getTargetElement().style.cursor = hit ? 'pointer' : '';\n }, [layer, map]);\n\n useEffect(() => {\n if (!map) {\n return;\n }\n\n map.on('pointermove', onPointerMove);\n map.on('singleclick', onSingleClick);\n\n return () => {\n map.un('pointermove', onPointerMove);\n map.un('singleclick', onSingleClick);\n };\n }, [map, onPointerMove, onSingleClick]);\n};\n\nexport default useGetFeatureInfo;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState\n} from 'react';\n\nimport {\n Button\n} from 'antd';\n\nimport ClientConfiguration from 'clientConfig';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport Logger from '@terrestris/base-util/dist/Logger';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\nimport {\n WmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport useAppDispatch from '../../../hooks/useAppDispatch';\nimport useAppSelector from '../../../hooks/useAppSelector';\nimport useExecuteWfsDescribeFeatureType, {\n isGeometryType\n} from '../../../hooks/useExecuteWfsDescribeFeatureType';\nimport useExecuteWfsLockFeature from '../../../hooks/useExecuteWfsTransactionLock';\nimport useGetFeatureInfo from '../../../hooks/useGetFeatureInfo';\n\nimport {\n setFeature\n} from '../../../store/editFeature';\n\nimport './index.less';\n\nexport type EditFeatureSwitchProps = {\n layer: WmsLayer;\n onLockSuccess?: (responseText: string) => void;\n onLockError?: (error: unknown) => void;\n onCreate?: () => void;\n};\n\nexport const EditFeatureSwitch: React.FC = ({\n layer,\n onLockSuccess = () => {},\n onLockError = () => {},\n onCreate = () => {}\n}) => {\n const [loading, setLoading] = useState(false);\n\n const executeWfsDescribeFeatureType = useExecuteWfsDescribeFeatureType();\n const executeWfsLockFeature = useExecuteWfsLockFeature();\n const dispatch = useAppDispatch();\n const map = useMap();\n const {\n t\n } = useTranslation();\n\n const allowedEditMode = useAppSelector(\n state => state.editFeature.userEditMode\n );\n\n useGetFeatureInfo(layer, async (featureCollection) => {\n if (\n featureCollection.features.length &&\n (allowedEditMode.includes('UPDATE') || allowedEditMode.includes('DELETE'))\n ) {\n\n const feature = featureCollection.features[0];\n\n if (!layer || !feature) {\n return;\n }\n\n if (ClientConfiguration.wfsLockFeatureEnabled) {\n try {\n const response = await executeWfsLockFeature({\n layer: layer,\n feature: feature\n });\n\n if (!response) {\n return;\n }\n\n dispatch(setFeature(feature));\n\n onLockSuccess(response);\n } catch (error) {\n onLockError(error);\n }\n } else {\n dispatch(setFeature(feature));\n }\n }\n });\n\n const getGeometryType = async () => {\n if (!map || !layer) {\n return;\n }\n\n try {\n setLoading(true);\n\n const describeFeatureType = await executeWfsDescribeFeatureType(layer);\n\n if (!describeFeatureType) {\n return;\n }\n\n // We expect a single featureType here.\n const geomProperty = describeFeatureType.featureTypes[0]?.properties\n ?.find(property => isGeometryType(property.type));\n\n switch (geomProperty?.type) {\n case 'gml:MultiPoint':\n return 'MultiPoint';\n case 'gml:Point':\n return 'Point';\n case 'gml:MultiLineString':\n return 'MultiLineString';\n case 'gml:LineString':\n return 'LineString';\n case 'gml:MultiPolygon':\n return 'MultiPolygon';\n case 'gml:Polygon':\n return 'Polygon';\n default:\n break;\n }\n } catch (error) {\n Logger.error(error);\n } finally {\n setLoading(false);\n }\n };\n\n const onCreateClick = async () => {\n const geomType = await getGeometryType();\n\n if (!geomType) {\n return;\n }\n\n dispatch(setFeature({\n type: 'Feature',\n properties: {},\n geometry: {\n type: geomType,\n coordinates: []\n }\n }));\n\n onCreate();\n };\n\n return (\n
\n {allowedEditMode.includes('CREATE') && (\n <>\n {\n allowedEditMode.includes('UPDATE') &&\n
{t('EditFeatureSwitch.usageHint')}
\n }\n \n {t('EditFeatureSwitch.createFeature')}\n \n \n )}\n {!allowedEditMode.includes('CREATE') &&\n (allowedEditMode.includes('UPDATE') ||\n allowedEditMode.includes('DELETE')) && (\n
{t('EditFeatureSwitch.limitedUsageHint')}
\n )}\n
\n );\n};\n\nexport default EditFeatureSwitch;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useEffect,\n useState\n} from 'react';\n\nimport {\n Alert, Modal\n} from 'antd';\n\nimport ClientConfiguration from 'clientConfig';\n\nimport OlFeature from 'ol/Feature';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport {\n Logger\n} from '@terrestris/base-util';\n\nimport MapUtil from '@terrestris/ol-util/dist/MapUtil/MapUtil';\n\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport {\n WmsLayer,\n isWmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport useAppDispatch from '../../hooks/useAppDispatch';\nimport useAppSelector from '../../hooks/useAppSelector';\nimport useExecuteWfsTransaction from '../../hooks/useExecuteWfsTransaction';\nimport useWriteWfsTransaction from '../../hooks/useWriteWfsTransaction';\n\nimport {\n reset\n} from '../../store/editFeature';\nimport {\n hide as hideEditFeatureDrawer\n} from '../../store/editFeatureDrawerOpen';\n\nimport MapDrawer, {\n MapDrawerProps\n} from '../MapDrawer';\n\nimport EditFeatureFullForm from './EditFeatureFullForm';\nimport EditFeatureSwitch from './EditFeatureSwitch';\n\nimport './index.less';\n\nexport type EditFeatureDrawerProps = MapDrawerProps & {};\n\nexport const EditFeatureDrawer: React.FC = ({\n ...passThroughProps\n}) => {\n const {\n t\n } = useTranslation();\n\n const [layer, setLayer] = useState();\n const [isFeatureLocked, setIsFeatureLocked] = useState(false);\n const [drawerTitle, setDrawerTitle] = useState(t('EditFeatureDrawer.featureEditor'));\n\n const isDrawerOpen = useAppSelector(state => state.editFeatureDrawerOpen);\n const layerId = useAppSelector(state => state.editFeature.layerId);\n const feature = useAppSelector(state => state.editFeature.feature);\n const formDirty = useAppSelector(state => state.editFeature.formDirty);\n\n const map = useMap();\n const dispatch = useAppDispatch();\n const writeWfsTransaction = useWriteWfsTransaction();\n const executeWfsTransaction = useExecuteWfsTransaction();\n\n useEffect(() => {\n if (!map || !layerId) {\n return;\n }\n\n const olLayer = MapUtil.getLayerByOlUid(map, layerId);\n\n if (!olLayer || !isWmsLayer(olLayer)) {\n Logger.warn(`Could not find layer with id ${layerId}`);\n return;\n }\n\n setDrawerTitle(`${t('EditFeatureDrawer.featureEditor')} - ${olLayer.get('name')}`);\n setLayer(olLayer);\n }, [map, layerId, t]);\n\n const releaseLock = async () => {\n if (!layer || !feature || !feature.id || !ClientConfiguration.wfsLockFeatureEnabled) {\n return;\n }\n\n try {\n const feat = new OlFeature();\n feat.setId(feature.id);\n\n const transaction = await writeWfsTransaction({\n layer: layer,\n deleteFeatures: [],\n upsertFeatures: [feat]\n });\n\n if (!transaction) {\n return;\n }\n\n await executeWfsTransaction({\n layer: layer,\n transaction: transaction\n });\n } catch (error) {\n Logger.error('Error while releasing the lock on the feature');\n }\n };\n\n const closeDrawer = async () => {\n await releaseLock();\n\n dispatch(hideEditFeatureDrawer());\n dispatch(reset());\n setIsFeatureLocked(false);\n };\n\n const onDrawerClose = () => {\n if (layer && feature && formDirty) {\n Modal.confirm({\n maskClosable: false,\n title: t('EditFeatureDrawer.closeDrawerWarnTitle'),\n content: t('EditFeatureDrawer.closeDrawerWarnContent'),\n okType: 'danger',\n onOk: closeDrawer\n });\n } else {\n closeDrawer();\n }\n };\n\n const onLockSuccess = () => {\n setIsFeatureLocked(false);\n };\n\n const onLockError = () => {\n setIsFeatureLocked(true);\n };\n\n const onCreate = () => {\n setIsFeatureLocked(false);\n };\n\n return (\n \n {\n !layer && (\n \n )\n }\n {\n isFeatureLocked && (\n \n )\n }\n {\n layer && layerId && !feature &&\n \n }\n {\n layer && feature &&\n \n }\n \n );\n};\n\nexport default EditFeatureDrawer;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect } from 'react';\n\nimport {\n Button, Divider\n} from 'antd';\n\nimport OlControlMousePosition from 'ol/control/MousePosition';\nimport OlControlScaleLine from 'ol/control/ScaleLine';\nimport { createStringXY } from 'ol/coordinate';\n\nimport { useTranslation } from 'react-i18next';\n\nimport ScaleCombo from '@terrestris/react-geo/dist/Field/ScaleCombo/ScaleCombo';\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport './index.less';\nimport useAppSelector from '../../hooks/useAppSelector';\nimport { usePlugins } from '../../hooks/usePlugins';\n\nimport {\n FooterPlacementOrientation,\n isFooterIntegration\n} from '../../plugin';\nimport { Legal } from '../../store/legal';\n\nexport interface FooterProps extends React.ComponentProps<'div'> { }\n\nexport const Footer: React.FC = ({\n ...restProps\n}): JSX.Element => {\n const plugins = usePlugins();\n const { t } = useTranslation();\n\n const legalInformation: Legal = useAppSelector(state => state.legal);\n const map = useMap();\n\n const insertPlugins = (itemPosition: FooterPlacementOrientation, items: JSX.Element[]) => {\n plugins.forEach(plugin => {\n if (isFooterIntegration(plugin.integration) && plugin.integration?.placementOrientation === itemPosition) {\n const {\n key,\n wrappedComponent: WrappedPluginComponent\n } = plugin;\n\n items.splice(plugin.integration?.insertionIndex || 0, 0,\n \n );\n }\n });\n };\n\n useEffect(() => {\n if (!map) {\n return;\n }\n\n const existingControl = map\n .getControls()\n .getArray()\n .find(control => control instanceof OlControlScaleLine);\n\n if (existingControl) {\n return;\n }\n\n map.addControl(\n new OlControlScaleLine({\n target: 'scale-line-container'\n })\n );\n }, [map]);\n\n useEffect(() => {\n if (!map) {\n return;\n }\n\n const existingControl = map\n .getControls()\n .getArray()\n .find(control => control instanceof OlControlMousePosition);\n\n if (existingControl) {\n return;\n }\n\n map.addControl(\n new OlControlMousePosition({\n coordinateFormat: createStringXY(2),\n projection: map.getView().getProjection(),\n target: 'mouse-position'\n })\n );\n }, [map]);\n\n if (!map) {\n return <>;\n }\n\n const getLeftItems = () => {\n const items = [\n ,\n ,\n \n {t('Footer.scale')}: \n \n \n ,\n \n {t('Footer.refSystem')}: {map.getView().getProjection().getCode()}\n \n ,\n \n {t('Footer.mousePosition')}: \n \n \n ];\n\n insertPlugins('left', items);\n\n return items;\n };\n\n const getRightItems = () => {\n const items = [\n \n {t('Footer.contact')}\n ,\n \n {t('Footer.imprint')}\n ,\n \n {t('Footer.privacypolicy')}\n \n ];\n\n if (plugins.length > 0) {\n insertPlugins('right', items);\n }\n\n return items;\n };\n\n const openContactModal = (): void => {\n window.open(legalInformation.contact, '_blank');\n };\n\n const openImprintModal = (): void => {\n window.open(legalInformation.imprint, '_blank');\n };\n\n const openPrivacyModal = (): void => {\n window.open(legalInformation.privacy, '_blank');\n };\n\n return (\n \n \n {\n getLeftItems()\n }\n \n \n {\n getRightItems()\n }\n \n \n );\n};\n\nexport default Footer;\n","import React, {\n useEffect, useState\n} from 'react';\n\nimport {\n Extent as OlExtent\n} from 'ol/extent';\nimport {\n transformExtent\n} from 'ol/proj';\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport NominatimSearch, {\n NominatimSearchProps\n} from '@terrestris/react-geo/dist/Field/NominatimSearch/NominatimSearch';\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\n\nexport const BasicNominatimSearch: React.FC> = ({\n ...restProps\n}): JSX.Element => {\n const map = useMap();\n const {\n t\n } = useTranslation();\n const [viewBox, setViewBox] = useState();\n\n useEffect(() => {\n const mapViewProjection = map?.getView().getProjection();\n const extent: OlExtent = map?.getView()?.get('extent');\n if (extent) {\n const transformedExtent = transformExtent(extent, mapViewProjection, 'EPSG:4326');\n setViewBox(transformedExtent.toString());\n }\n }, [map]);\n\n if (!map) {\n return <>;\n }\n\n return (\n \n );\n};\n\nexport default BasicNominatimSearch;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import Map from 'ol/Map';\n\nimport { isWmsLayer } from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n SearchConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\n\nexport interface SolrQueryProps {\n searchValue: string;\n map: Map;\n}\n\ntype SolrQuery = {\n query: string;\n fieldList?: string;\n};\n\n/**\n * Generates a solr search query based on the `searchConfiguration` and `searchable` properties of each layer. This\n * currently considers all layers which are part of the layer tree / map.\n */\nexport const generateSolrQuery = ({\n searchValue,\n map\n}: SolrQueryProps): SolrQuery[] => {\n // parse searchValue into an array of search terms,\n // removing special characters and white spaces\n let parts = searchValue.trim()\n .replaceAll(/[()\\\\\\-_./\\/]/g, ' ')\n .split(' ')\n .map(s => s.trim())\n .filter(s => s !== '');\n\n const subQueriesPerLayer: SolrQuery[] = [];\n const layers = map.getAllLayers();\n layers.forEach(layer => {\n if (layer.get('searchable') && isWmsLayer(layer)) {\n const searchConfig = layer.get('searchConfig') as SearchConfig;\n const fullLayerName = layer.getSource()?.getParams().LAYERS;\n if (searchConfig?.attributes) {\n // search only configured attributes\n subQueriesPerLayer.push({\n query: `(featureType:\"${fullLayerName}\" AND (${generateFuzzySearchQuery(parts)}))`,\n fieldList: searchConfig.attributes.join(' ')\n });\n } else {\n // search all attributes of this layer\n subQueriesPerLayer.push({\n query: `(featureType:\"${fullLayerName}\" AND (${generateFuzzySearchQuery(parts)}))`\n });\n }\n }\n });\n return subQueriesPerLayer;\n};\n\n/**\n * Applies operators for wildcard and fuzzy search to a solr (sub)query for multiple search terms.\n * @param searchParts The search input which may consist of multiple search terms, e.g. [\"foo\", \"bar\"]\n */\nconst generateFuzzySearchQuery = (\n searchParts: string[]\n): string => {\n const subQueries = searchParts.map(part => {\n return `(${part.trim()}*^3 OR *${part.trim()}*^2 OR ${part.trim()}~1)`;\n });\n return subQueries.join(' AND ');\n};\n\nexport default generateSolrQuery;\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\n\nimport {\n LoadingOutlined,\n SearchOutlined,\n SettingOutlined\n} from '@ant-design/icons';\nimport {\n Checkbox,\n Dropdown,\n Empty,\n Input,\n InputProps\n} from 'antd';\n\nimport ClientConfiguration, {\n SolrConfig\n} from 'clientConfig';\n\nimport _groupBy from 'lodash/groupBy';\nimport _isNil from 'lodash/isNil';\n\nimport { getUid } from 'ol';\nimport {\n Extent as OlExtent\n} from 'ol/extent';\nimport OlFeature from 'ol/Feature';\nimport OlFormatGeoJSON from 'ol/format/GeoJSON';\nimport OlFormatWKT from 'ol/format/WKT';\nimport OlGeometry from 'ol/geom/Geometry';\nimport { transformExtent } from 'ol/proj';\nimport OlStyleCircle from 'ol/style/Circle';\nimport OlStyleFill from 'ol/style/Fill';\nimport OlStyleStroke from 'ol/style/Stroke';\nimport OlStyle from 'ol/style/Style';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport logger from '@terrestris/base-util/dist/Logger';\n\nimport MapUtil from '@terrestris/ol-util/dist/MapUtil/MapUtil';\nimport { NominatimPlace } from '@terrestris/react-geo/dist/Field/NominatimSearch/NominatimSearch';\nimport useMap from '@terrestris/react-geo/dist/Hook/useMap';\nimport SearchResultsPanel, {\n Category as ResultCategory\n} from '@terrestris/react-geo/dist/Panel/SearchResultsPanel/SearchResultsPanel';\n\nimport {\n SearchConfig\n} from '@terrestris/shogun-util/dist/model/Layer';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport './index.less';\n\nimport useAppDispatch from '../../hooks/useAppDispatch';\nimport useAppSelector from '../../hooks/useAppSelector';\nimport useSHOGunAPIClient from '../../hooks/useSHOGunAPIClient';\n\nimport {\n setLayerId\n} from '../../store/editFeature';\n\nimport {\n show as showEditFeatureDrawer\n} from '../../store/editFeatureDrawerOpen';\n\nimport generateSolrQuery from '../../utils/generateSolrQuery';\n\ninterface MultiSearchProps extends InputProps {\n useNominatim: boolean;\n};\n\nexport type DataSearchResult = {\n [key: string]: string | string[] | number[];\n};\n\nexport type HighlightingResult = {\n [key: string]: string;\n};\n\nexport type HighlightingResults = {\n [key: string]: HighlightingResult;\n};\n\nconst isFulfilled = (p: PromiseSettledResult): p is PromiseFulfilledResult => p.status === 'fulfilled';\n\nexport type SolrQueryConfig = {\n q: string;\n fq?: string;\n defType?: 'lucene' | 'dismax' | 'edismax';\n qf?: string;\n rows?: number;\n hl?: boolean;\n 'hl.fl'?: string;\n 'hl.tag.pre'?: string;\n 'hl.tag.post'?: string;\n 'hl.requireFieldMatch'?: boolean;\n};\n\nexport const MultiSearch: React.FC = ({\n useNominatim\n}): JSX.Element => {\n\n const client = useSHOGunAPIClient();\n const map = useMap();\n const {\n t\n } = useTranslation();\n const dispatch = useAppDispatch();\n\n const clickAwayRef = useRef(null);\n\n const [searchNominatim, setSearchNominatim] = useState(useNominatim);\n const [searchData, setSearchData] = useState(true);\n const [useViewBox, setUseViewBox] = useState(ClientConfiguration.search?.defaultUseViewBox ?? true);\n const [searchValue, setSearchValue] = useState('');\n const [loading, setLoading] = useState(false);\n const [resultsVisible, setResultsVisible] = useState(false);\n const [settingsVisible, setSettingsVisible] = useState(false);\n const [dataSearchResults, setDataSearchResults] = useState([]);\n const [highlightingResults, setHighlightingResults] = useState({});\n const [nominatimResults, setNominatimResults] = useState([]);\n const [searchResults, setSearchResults] = useState([]);\n\n const allowedEditMode = useAppSelector(\n state => state.editFeature.userEditMode\n );\n\n useEffect(() => {\n window.addEventListener('mousedown', handleClickAway);\n\n return () => {\n window.removeEventListener('mousedown', handleClickAway);\n };\n }, []);\n\n const handleClickAway = (e: Event) => {\n const parents = [];\n let target = e.target;\n while (target) {\n parents.unshift(target);\n target = (target as Node).parentNode;\n }\n\n if ((clickAwayRef.current && ((clickAwayRef.current as Element).contains(e.target as Node)))) {\n return;\n }\n\n setResultsVisible(false);\n };\n\n const settingsMenu = useMemo(() => {\n return {\n items: [{\n label: (\n setUseViewBox(e.target.checked)}\n >\n {t('MultiSearch.searchInViewBox')}\n \n ),\n key: 'viewbox'\n }, {\n label: (\n setSearchData(e.target.checked)}\n >\n {t('MultiSearch.searchData')}\n \n ),\n key: 'data'\n }, {\n label: (\n setSearchNominatim(e.target.checked)}\n >\n {t('MultiSearch.searchNominatim')}\n \n ),\n key: 'nominatim'\n }]\n };\n }, [searchData, searchNominatim, useViewBox, t]);\n\n const performSearch = useCallback(async () => {\n const minChars = ClientConfiguration.search?.minChars ?? 3;\n if (searchValue.length < minChars) {\n resetSearch();\n return;\n }\n\n if (!searchData && !searchNominatim) {\n return;\n }\n\n setLoading(true);\n setNominatimResults([]);\n setDataSearchResults([]);\n setHighlightingResults({});\n\n let response;\n let viewBox: OlExtent | null = null;\n\n if (useViewBox) {\n const mapViewProjection = map?.getView().getProjection();\n const extent = map?.getView()?.calculateExtent();\n if (extent) {\n viewBox = transformExtent(extent, mapViewProjection, 'EPSG:4326');\n }\n }\n\n if (searchData && map) {\n try {\n const solrBasePath = ClientConfiguration.search?.solrBasePath ?? '/search/query';\n const searchUrl = new URL(`${window.location.origin}${solrBasePath}`);\n const queriesPerLayer = generateSolrQuery({\n searchValue,\n map\n });\n\n const promises = queriesPerLayer.map(q => {\n const solrQueryConfig: SolrQueryConfig = {\n q: q.query,\n rows: ClientConfiguration.search?.solrQueryConfig?.rowsPerQuery ?? 100,\n defType: ClientConfiguration.search?.solrQueryConfig?.queryParser ?? 'edismax'\n };\n\n if (q.fieldList) {\n solrQueryConfig.qf = q.fieldList;\n } else {\n solrQueryConfig.qf = ClientConfiguration.search?.coreName ?? 'search';\n }\n\n if (useViewBox && viewBox) {\n const bboxFilter = `geometry:[${viewBox[1]},${viewBox[0]} TO ${viewBox[3]},${viewBox[2]}]`;\n solrQueryConfig.fq = bboxFilter;\n }\n\n if (ClientConfiguration.search?.useSolrHighlighting) {\n solrQueryConfig.hl = true;\n solrQueryConfig['hl.fl'] = '*';\n solrQueryConfig['hl.tag.pre'] = ClientConfiguration.search?.solrQueryConfig?.tagPre ?? '';\n solrQueryConfig['hl.tag.post'] = ClientConfiguration.search?.solrQueryConfig?.tagPost ?? '';\n solrQueryConfig['hl.requireFieldMatch'] = ClientConfiguration.search?.solrQueryConfig?.requireFieldMatch ?? true;\n }\n\n const defaultHeaders = {\n 'Content-Type': 'application/json'\n };\n\n return fetch(searchUrl.href, {\n method: 'POST',\n headers: {\n ...defaultHeaders,\n ...getBearerTokenHeader(client?.getKeycloak())\n },\n body: JSON.stringify(solrQueryConfig)\n });\n });\n\n const results = await Promise.allSettled(promises.map(async pr => {\n const res = await pr;\n return res.json();\n }));\n\n const successfulResults = results.filter(isFulfilled);\n const dataResults = successfulResults.flatMap(sR => sR.value?.response?.docs);\n const hlResults = Object.assign({}, ...successfulResults.map(sr => sr.value?.highlighting));\n\n setDataSearchResults(dataResults);\n setHighlightingResults(hlResults);\n } catch (error) {\n setDataSearchResults([]);\n setHighlightingResults({});\n logger.error('Error while fetching the layer search results: ', error);\n } finally {\n if (!searchNominatim) {\n setLoading(false);\n }\n }\n }\n\n if (searchNominatim) {\n try {\n const nominatimUrl = new URL('https://nominatim.terrestris.de/search');\n nominatimUrl.searchParams.set('q', searchValue);\n nominatimUrl.searchParams.set('format', 'json');\n nominatimUrl.searchParams.set('polygon_geojson', '1');\n\n if (useViewBox && viewBox) {\n nominatimUrl.searchParams.set('viewbox', viewBox.toString());\n nominatimUrl.searchParams.set('bounded', '1');\n }\n response = await fetch(nominatimUrl.href);\n setNominatimResults(await response.json());\n }\n catch (error) {\n setNominatimResults([]);\n logger.error('Error while fetching the nominatim results: ', error);\n } finally {\n setLoading(false);\n }\n }\n }, [searchValue, searchData, searchNominatim, useViewBox, map, client]);\n\n const replaceTemplates = (template: string, data: DataSearchResult): string => {\n const pattern = /{\\s*(\\w+?)\\s*}/g; // regex for template string with values in brackets, e.g. {name}\n return template.replace(pattern, (_, token) => data[token]?.toString() || '');\n };\n\n const getFeatureTitle = useCallback((dsResult: DataSearchResult, highlightResult?: HighlightingResult): string => {\n if (!map) {\n return '';\n }\n\n const layer = MapUtil.getLayerByNameParam(map, dsResult.featureType[0] as string);\n const searchConfig = layer?.get('searchConfig') as SearchConfig;\n\n const blacklistedAttributes = [\n 'category',\n 'id',\n 'featureType',\n 'geometry',\n 'search'\n ];\n\n let title: string = '';\n\n if (searchConfig?.displayTemplate) {\n return replaceTemplates(searchConfig.displayTemplate, dsResult);\n }\n\n if (highlightResult) {\n const filteredHighlightKeys = Object.keys(highlightResult).filter(key => !blacklistedAttributes.includes(key));\n if (filteredHighlightKeys.length > 0) {\n const highlightValue = highlightResult[filteredHighlightKeys[0]];\n return `${highlightValue} [${filteredHighlightKeys[0]}]`;\n }\n }\n\n Object.keys(dsResult)\n .filter(key => !blacklistedAttributes.includes(key))\n .forEach(propKey => {\n let propValue = dsResult[propKey]?.toString();\n if (!title && propValue.toLowerCase().indexOf(searchValue?.toLowerCase()) > -1) {\n // show matched value followed by the attribute name in square brackets (e.g. '53111 Bonn [city]')\n title = `${propValue} [${propKey}]`;\n }\n });\n\n if (!title) {\n // fallback -> should never happen after adding of the valid layer search config\n title = dsResult.id as string;\n }\n\n return title;\n }, [searchValue, map]);\n\n useEffect(() => {\n if (!map) {\n return;\n }\n\n let updatedResults: ResultCategory[] = [];\n\n if (nominatimResults.length > 0) {\n\n const geoJsonFormat = new OlFormatGeoJSON();\n const nFeats = nominatimResults.filter(f => !_isNil(f?.geojson)).map(f => {\n const olFeat = geoJsonFormat.readFeature(f.geojson, {\n dataProjection: 'EPSG:4326',\n featureProjection: map.getView().getProjection()\n });\n olFeat.set('title', f.display_name);\n return olFeat;\n });\n\n const nResults: ResultCategory = {\n title: t('MultiSearch.nominatimTitle'),\n features: nFeats\n };\n updatedResults.push(nResults);\n }\n\n if (dataSearchResults?.length > 0) {\n\n const wktFormat = new OlFormatWKT();\n // 1. group by category\n const categories = _groupBy(dataSearchResults, res => res?.category[0]);\n // 2. build features\n Object.keys(categories).forEach(category => {\n const features = categories[category].map(dsResult => {\n if (!dsResult?.geometry?.[0]) {\n return;\n }\n const id = dsResult.id as string;\n\n const geometry = wktFormat.readGeometry(dsResult.geometry[0], {\n dataProjection: 'EPSG:4326',\n featureProjection: map.getView().getProjection()\n });\n const olFeat = new OlFeature({\n geometry\n });\n olFeat.set('title', getFeatureTitle(dsResult, highlightingResults?.[id]));\n let ftName;\n if (dsResult.featureType?.[0]) {\n const layer = MapUtil.getLayerByNameParam(map, dsResult.featureType?.[0] as string);\n if (layer) {\n olFeat.set('layer', layer);\n ftName = layer.get('name');\n }\n } else {\n ftName = id.substring(0, id.lastIndexOf('_'));\n }\n olFeat.set('ftName', ftName);\n return olFeat;\n }).filter(f => f) as OlFeature[];\n const resultCategory: ResultCategory = {\n title: category,\n features\n };\n updatedResults.push(resultCategory);\n });\n }\n\n setResultsVisible(true);\n setSearchResults(updatedResults);\n\n }, [dataSearchResults, highlightingResults, nominatimResults, map, getFeatureTitle, t]);\n\n useEffect(() => {\n const delay = ClientConfiguration.search?.delay ?? 1000;\n const timeout = setTimeout(() => {\n performSearch();\n }, delay);\n\n return () => clearTimeout(timeout);\n\n }, [performSearch]);\n\n const resetSearch = () => {\n setDataSearchResults([]);\n setNominatimResults([]);\n };\n\n const actionsCreator = (item: any) => {\n const feat = item.feature;\n const layer = feat.get('layer');\n\n if (!layer?.get('editable')) {\n return;\n }\n\n const onEditFeatureBtnClick = () => {\n dispatch(setLayerId(getUid(layer)));\n dispatch(showEditFeatureDrawer());\n setResultsVisible(false);\n };\n\n // button is temporarily disabled\n return [<>];\n // if (\n // allowedEditMode.includes('CREATE') ||\n // allowedEditMode.includes('DELETE') ||\n // allowedEditMode.includes('UPDATE')\n // ) {\n // return [\n // \n // }\n // />\n // \n // ];\n // } else {\n // return [<>];\n // }\n };\n\n const layerStyle = useMemo(() => (\n new OlStyle({\n stroke: new OlStyleStroke({\n color: 'rgb(255,0,0)',\n width: 2\n }),\n fill: new OlStyleFill({\n color: 'rgba(255,255,255, 0.5)'\n }),\n image: new OlStyleCircle({\n radius: 10,\n fill: new OlStyleFill({\n color: 'rgba(255,255,255, 0.5)'\n }),\n stroke: new OlStyleStroke({\n color: 'rgb(255,0,0)',\n width: 3\n })\n })\n })\n ), []);\n\n const resultRenderer = () => {\n if (searchValue.length < 2 || !resultsVisible || loading || !dataSearchResults) {\n return null;\n }\n\n const numTotal = nominatimResults.length + dataSearchResults.length;\n\n if (numTotal === 0) {\n return (\n \n \n \n );\n }\n\n return (\n \n );\n };\n\n if (!map) {\n return <>;\n }\n\n return (\n
\n {\n setLoading(event.target.value !== '');\n setSearchValue(event.target.value);\n }}\n allowClear\n addonAfter={\n \n \n \n }\n onFocus={() => setResultsVisible(true)}\n placeholder={t('MultiSearch.searchPlaceholder')}\n prefix={}\n suffix={loading ? : null}\n />\n {resultRenderer()}\n
\n );\n};\n\nexport default MultiSearch;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\n\nimport {\n InputProps\n} from 'antd/lib/input';\n\nimport logger from '@terrestris/base-util/dist/Logger';\n\nimport useAppSelector from '../../hooks/useAppSelector';\nimport BasicNominatimSearch from '../BasicNominatimSearch';\nimport MultiSearch from '../MultiSearch';\n\nimport './index.less';\n\ninterface SearchFieldProps extends InputProps { };\n\nexport const SearchField: React.FC = (): JSX.Element => {\n\n const useNominatim = useAppSelector((state) => state.searchEngines.includes('nominatim'));\n const useSolr = useAppSelector((state) => state.searchEngines.includes('solr'));\n\n if (!useNominatim && !useSolr) {\n logger.warn('Neither nominatim nor solr search is configured.');\n return <>;\n }\n\n return (\n \n {\n useSolr ?\n :\n \n }\n \n );\n};\n\nexport default SearchField;\n","import md5 from 'js-md5';\n\nexport interface GravatarProps {\n email: string;\n size?: number;\n rating?: 'g' | 'pg' | 'r' | 'x';\n defaultImage?: '404' | 'mp' | 'identicon' | 'monsterid' | 'wavatar' | 'retro' | 'robohash' | 'blank';\n force?: boolean;\n}\n\nconst GRAVATAR_BASE_URL = 'https://www.gravatar.com/avatar/';\n\n/**\n * https://de.gravatar.com/site/implement/images/\n */\nexport const getGravatarUrl = ({\n email = '',\n size = 80,\n rating = 'g',\n defaultImage = 'identicon',\n force = false\n}: GravatarProps): string => {\n const lowerCaseEmail = email.toLowerCase();\n const hash = md5(lowerCaseEmail);\n\n let url = `${GRAVATAR_BASE_URL}${hash}?s=${size}&r=${rating}&d=${defaultImage}`;\n\n if (force) {\n url = `${url}&f=y`;\n }\n\n return url;\n};\n\nexport default getGravatarUrl;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState\n} from 'react';\n\nimport {\n Modal,\n Statistic\n} from 'antd';\n\nimport {\n ModalProps\n} from 'antd/lib/modal';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport useAppSelector from '../../hooks/useAppSelector';\n\nimport {\n useClientVersion\n} from '../../hooks/useVersion';\n\nimport './index.less';\n\ninterface ApplicationInfoProps extends ModalProps {\n opener?: JSX.Element;\n}\n\nexport const ApplicationInfo: React.FC = ({\n opener,\n ...restProps\n}) => {\n const {\n t\n } = useTranslation();\n\n const appInfo = useAppSelector(state => state.appInfo);\n const logoPath = useAppSelector(state => state.logoPath);\n const appDescription = useAppSelector(state => state.description);\n\n const [isVisible, setVisible] = useState(false);\n\n const toggleVisibility = () => {\n setVisible(!isVisible);\n };\n\n let Opener;\n if (opener) {\n Opener = React.cloneElement(\n opener,\n {\n onClick: toggleVisibility\n }\n );\n } else {\n Opener = ;\n }\n\n return (\n <>\n {\n Opener\n }\n \n \n \n {appDescription}\n \n \n {\n (appInfo.version && appInfo.buildTime) &&\n \n }\n \n \n );\n};\n\nexport default ApplicationInfo;\n","export const useClientVersion = () => {\n return PROJECT_VERSION;\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\n\nimport {\n faInfo,\n faUserCog,\n faSignOut,\n faSignIn,\n faAngleDown\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n FontAwesomeIcon\n} from '@fortawesome/react-fontawesome';\n\nimport {\n ItemType\n} from 'antd/lib/menu/hooks/useItems';\n\nimport ClientConfiguration from 'clientConfig';\n\nimport _isEmpty from 'lodash/isEmpty';\n\nimport {\n MenuInfo\n} from 'rc-menu/lib/interface';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport UserChip from '@terrestris/react-geo/dist/UserChip/UserChip';\n\nimport useAppSelector from '../../hooks/useAppSelector';\nimport useSHOGunAPIClient from '../../hooks/useSHOGunAPIClient';\nimport {\n getGravatarUrl\n} from '../../utils/getGravatarUrl';\n\nimport ApplicationInfo from '../ApplicationInfo';\n\nimport './index.less';\n\ninterface OwnProps { }\n\ntype UserProps = OwnProps;\n\nexport const UserMenu: React.FC = (): JSX.Element => {\n const {\n t\n } = useTranslation();\n\n const client = useSHOGunAPIClient();\n const keycloak = client?.getKeycloak();\n\n const user = useAppSelector((state) => state.user);\n\n const onMenuClick = (evt: MenuInfo) => {\n switch (evt.key) {\n case 'settings':\n if (keycloak) {\n keycloak.accountManagement();\n }\n break;\n case 'info':\n // Don't do anything, visible state will be handled by the menu itself.\n break;\n case 'login':\n if (keycloak) {\n keycloak.login();\n }\n break;\n case 'logout':\n if (keycloak) {\n keycloak.logout();\n }\n break;\n default:\n break;\n }\n };\n\n const getMenu = () => {\n const login: ItemType = {\n key: 'login',\n icon: (\n \n ),\n label: t('UserMenu.loginMenuTitle')\n };\n\n const username: ItemType = {\n key: 'username',\n label: (\n \n \n {\n user.providerDetails?.email\n }\n \n \n )\n };\n\n const divider: ItemType = {\n type: 'divider'\n };\n\n const settings: ItemType = {\n key: 'settings',\n icon: (\n \n ),\n label: t('UserMenu.settingsMenuTitle')\n };\n\n const info: ItemType = {\n key: 'info',\n icon: (\n \n ),\n label: (\n \n {t('UserMenu.infoMenuTitle')}\n
\n }\n />\n )\n };\n\n const logout: ItemType = {\n key: 'logout',\n icon: (\n \n ),\n label: (\n \n {t('UserMenu.logoutMenuTitle')}\n \n )\n };\n\n const items: ItemType[] = [];\n\n if (_isEmpty(user)) {\n if (ClientConfiguration.keycloak?.enabled) {\n items.push(login);\n }\n items.push(info);\n } else {\n const accountRoles = keycloak?.tokenParsed?.resource_access?.account?.roles;\n const hasUserManagementAccess = Array.isArray(accountRoles) && accountRoles.indexOf('manage-account') > -1;\n const itemsForLoggedInUser = hasUserManagementAccess ? [\n username,\n divider,\n settings,\n info,\n divider,\n logout\n ] : [\n username,\n divider,\n info,\n divider,\n logout\n ];\n\n items.push(...itemsForLoggedInUser);\n }\n\n return {\n items,\n onClick: onMenuClick\n };\n };\n\n return (\n \n }\n userMenu={getMenu()}\n />\n );\n};\n\nexport default UserMenu;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\n\nimport {\n useAppSelector\n} from '../../hooks/useAppSelector';\nimport {\n usePlugins\n} from '../../hooks/usePlugins';\n\nimport {\n HeaderPlacementOrientation,\n isHeaderIntegration\n} from '../../plugin';\nimport SearchField from '../SearchField';\n\nimport UserMenu from '../UserMenu';\n\nimport './index.less';\n\nexport interface HeaderProps extends React.ComponentProps<'div'> { };\n\nexport const Header: React.FC = ({\n ...restProps\n}): JSX.Element => {\n const title = useAppSelector((state) => state.title);\n const logoPath = useAppSelector((state) => state.logoPath);\n const plugins = usePlugins();\n\n const insertPlugins = (itemPosition: HeaderPlacementOrientation, items: JSX.Element[]) => {\n plugins.forEach(plugin => {\n if (isHeaderIntegration(plugin.integration) && plugin.integration?.placementOrientation === itemPosition) {\n const {\n key,\n wrappedComponent: WrappedPluginComponent\n } = plugin;\n\n items.splice(plugin.integration?.insertionIndex || 0, 0,\n \n );\n }\n });\n };\n\n const getLeftItems = () => {\n const items = [(\n \n ), (\n \n {title}\n \n )];\n\n insertPlugins('left', items);\n\n return items;\n };\n\n const getCenterItems = () => {\n const items = [\n \n ];\n\n insertPlugins('center', items);\n\n return items;\n };\n\n const getRightItems = () => {\n const items = [\n \n \n \n ];\n\n insertPlugins('right', items);\n\n return items;\n };\n\n return (\n \n \n {\n getLeftItems()\n }\n \n \n {\n getCenterItems()\n }\n \n \n {\n getRightItems()\n }\n \n \n );\n};\n\nexport default Header;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState,\n useEffect,\n useCallback\n} from 'react';\n\nimport {\n Alert,\n Spin\n} from 'antd';\n\nimport OlLayer from 'ol/layer/Layer';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport Logger from '@terrestris/base-util/dist/Logger';\n\nimport Layer from '@terrestris/shogun-util/dist/model/Layer';\n\nimport useSHOGunAPIClient from '../../../hooks/useSHOGunAPIClient';\n\nimport './index.less';\n\nexport type LayerConfigurationProps = React.ComponentProps<'pre'> & {\n layer?: OlLayer;\n};\n\nexport const LayerConfiguration: React.FC = ({\n layer,\n ...restProps\n}): JSX.Element => {\n const [loading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState();\n const [layerConfiguration, setLayerConfiguration] = useState();\n\n const client = useSHOGunAPIClient();\n\n const {\n t\n } = useTranslation();\n\n const getLayerConfiguration = useCallback(async () => {\n try {\n setLoading(true);\n setErrorMessage('');\n\n if (!layer || !layer.get('shogunId')) {\n throw new Error('No layer provided or the layer has no shogunId set');\n }\n\n const conf = await client?.layer().findOne(layer.get('shogunId'));\n\n setLayerConfiguration(conf);\n } catch (error) {\n Logger.error(error);\n setErrorMessage(t('LayerConfiguration.errorMessage'));\n } finally {\n setLoading(false);\n }\n }, [t, client, layer]);\n\n useEffect(() => {\n getLayerConfiguration();\n }, [getLayerConfiguration]);\n\n if (errorMessage) {\n return (\n \n );\n }\n\n return (\n \n \n \n {\n JSON.stringify(layerConfiguration, null, ' ')\n }\n \n \n \n );\n};\n\nexport default LayerConfiguration;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState,\n useEffect,\n useCallback\n} from 'react';\n\nimport {\n Alert,\n Form,\n FormProps,\n Spin\n} from 'antd';\n\nimport OlLayerImage from 'ol/layer/Image';\nimport OlLayer from 'ol/layer/Layer';\nimport OlLayerTile from 'ol/layer/Tile';\nimport OlSourceImageWMS from 'ol/source/ImageWMS';\nimport OlSourceTileWMS from 'ol/source/TileWMS';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport Logger from '@terrestris/base-util/dist/Logger';\nimport UrlUtil from '@terrestris/base-util/dist/UrlUtil/UrlUtil';\n\nimport CapabilitiesUtil from '@terrestris/ol-util/dist/CapabilitiesUtil/CapabilitiesUtil';\n\nimport {\n isWmsLayer\n} from '@terrestris/react-geo/dist/Util/typeUtils';\n\nimport {\n getBearerTokenHeader\n} from '@terrestris/shogun-util/dist/security/getBearerTokenHeader';\n\nimport useSHOGunAPIClient from '../../../hooks/useSHOGunAPIClient';\n\nimport './index.less';\n\nexport type LayerDetailsProps = Partial & {\n layer?: OlLayer;\n};\n\nexport const LayerDetails: React.FC = ({\n layer,\n ...restProps\n}): JSX.Element => {\n const [loading, setLoading] = useState(false);\n const [capabilities, setCapabilities] = useState();\n const [errorMessage, setErrorMessage] = useState();\n\n const client = useSHOGunAPIClient();\n\n const {\n t\n } = useTranslation();\n\n const getCapabilities = useCallback(async () => {\n if (!layer || !isWmsLayer(layer)) {\n return;\n }\n\n try {\n setLoading(true);\n setErrorMessage('');\n setCapabilities(undefined);\n\n const capa = await CapabilitiesUtil.getWmsCapabilitiesByLayer(\n (layer as OlLayerImage | OlLayerTile), {\n headers: {\n ...layer.get('useBearerToken') ? {\n ...getBearerTokenHeader(client?.getKeycloak())\n } : undefined\n }\n });\n\n setCapabilities(capa);\n } catch (error) {\n Logger.error(error);\n setErrorMessage(t('LayerDetails.errorMessage'));\n } finally {\n setLoading(false);\n }\n }, [t, client, layer]);\n\n useEffect(() => {\n getCapabilities();\n }, [getCapabilities]);\n\n const getLayerName = () => {\n if (!layer || !isWmsLayer(layer)) {\n return;\n }\n\n return layer.getSource()?.getParams().LAYERS;\n };\n\n const getCapabilitiesUrl = () => {\n if (!layer || !isWmsLayer(layer)) {\n return;\n }\n\n let layerUrl;\n if (layer.getSource() instanceof OlSourceImageWMS) {\n layerUrl = (layer.getSource() as OlSourceImageWMS).getUrl();\n }\n if (layer.getSource() instanceof OlSourceTileWMS) {\n const urls = (layer.getSource() as OlSourceTileWMS).getUrls();\n layerUrl = urls ? urls[0] : undefined;\n }\n\n if (layerUrl) {\n return UrlUtil.createValidGetCapabilitiesRequest(layerUrl, 'WMS', '1.3.0');\n }\n };\n\n const getCapabilitiesLayer = () => {\n const layers: any[] = capabilities?.Capability?.Layer?.Layer;\n const layerName = getLayerName();\n\n const lay = layers?.find(l => l.Name === layerName);\n\n return lay;\n };\n\n const getBBox = () => {\n const lay = getCapabilitiesLayer();\n\n if (!lay || !lay.EX_GeographicBoundingBox) {\n return;\n }\n\n return [\n lay.EX_GeographicBoundingBox.westBoundLongitude,\n lay.EX_GeographicBoundingBox.southBoundLatitude,\n lay.EX_GeographicBoundingBox.eastBoundLongitude,\n lay.EX_GeographicBoundingBox.northBoundLatitude\n ].join(', ');\n };\n\n const getMinScale = () => {\n const lay = getCapabilitiesLayer();\n\n if (!lay) {\n return;\n }\n\n return lay.MinScaleDenominator;\n };\n\n const getMaxScale = () => {\n const lay = getCapabilitiesLayer();\n\n if (!lay) {\n return;\n }\n\n return lay.MaxScaleDenominator;\n };\n\n const getAbstract = () => {\n const lay = getCapabilitiesLayer();\n\n if (!lay) {\n return;\n }\n\n return lay.Abstract;\n };\n\n const getServiceAbstract = () => {\n return capabilities?.Service?.Abstract;\n };\n\n const getContact = () => {\n return capabilities?.Service?.ContactInformation?.ContactElectronicMailAddress;\n };\n\n const getLayerTitle = () => {\n const lay = getCapabilitiesLayer();\n\n if (!lay) {\n return;\n }\n\n return lay.Title;\n };\n\n const getAccessConstraints = () => {\n return capabilities?.Service?.AccessConstraints;\n };\n\n if (errorMessage) {\n return (\n \n );\n }\n\n return (\n \n \n \n {getLayerName() ? getLayerName() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getLayerTitle() ? getLayerTitle() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getServiceAbstract() ? getServiceAbstract() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getAbstract() ? getAbstract() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getAccessConstraints() ? getAccessConstraints() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getCapabilitiesUrl()}\n \n \n {getContact() ? {getContact()} : {t('LayerDetails.noDataPlaceholder')}}\n \n \n {getMinScale() ? getMinScale() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getMaxScale() ? getMaxScale() : t('LayerDetails.noDataPlaceholder')}\n \n \n {getBBox() ? getBBox() : t('LayerDetails.noDataPlaceholder')}\n \n \n \n );\n};\n\nexport default LayerDetails;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useState,\n useEffect\n} from 'react';\n\nimport {\n FileTextOutlined\n} from '@ant-design/icons';\n\nimport {\n Button,\n Modal,\n ModalProps,\n Tooltip\n} from 'antd';\n\nimport OlLayer from 'ol/layer/Layer';\n\nimport {\n useTranslation\n} from 'react-i18next';\n\nimport MapUtil from '@terrestris/ol-util/dist/MapUtil/MapUtil';\n\nimport {\n useMap\n} from '@terrestris/react-geo/dist/Hook/useMap';\n\nimport useAppDispatch from '../../hooks/useAppDispatch';\nimport useAppSelector from '../../hooks/useAppSelector';\n\nimport {\n hide as hideLayerDetailsModal,\n setLayer as setDetailsLayer\n} from '../../store/layerDetailsModal';\n\nimport LayerConfiguration from './LayerConfiguration';\nimport LayerDetails from './LayerDetails';\n\nimport './index.less';\n\nexport type LayerDetailsModalProps = {} & Partial;\n\nexport const LayerDetailsModal: React.FC = ({\n ...restProps\n}): JSX.Element => {\n const [layer, setLayer] = useState();\n const [configurationVisible, setConfigurationVisible] = useState(false);\n\n const isModalVisible = useAppSelector(state => state.layerDetailsModal.visible);\n const layerId = useAppSelector(state => state.layerDetailsModal.layerId);\n\n const dispatch = useAppDispatch();\n\n const map = useMap();\n\n const {\n t\n } = useTranslation();\n\n useEffect(() => {\n if (!map) {\n return;\n }\n\n if (!layerId) {\n setLayer(undefined);\n return;\n }\n\n const l = MapUtil.getLayerByOlUid(map, layerId);\n\n if (!(l instanceof OlLayer)) {\n return;\n }\n\n setLayer(l);\n }, [map, layerId]);\n\n const closeModal = () => {\n dispatch(hideLayerDetailsModal());\n dispatch(setDetailsLayer(undefined));\n };\n\n const onShowConfigurationClick = () => {\n setConfigurationVisible(!configurationVisible);\n };\n\n return (\n \n {t('LayerDetailsModal.title', {\n layerName: layer?.get('name')\n })}\n \n {\n layer?.get('shogunId') && (\n \n }\n onClick={onShowConfigurationClick}\n />\n \n )\n }\n \n )}\n open={isModalVisible}\n onCancel={closeModal}\n width={800}\n footer={false}\n {...restProps}\n >\n