From 4e9b34d82d310fd2502d960aeecdcaa3ab8ef020 Mon Sep 17 00:00:00 2001 From: volterra79 Date: Mon, 18 Nov 2024 10:46:19 +0100 Subject: [PATCH] :arrow_up: Client https://github.com/g3w-suite/g3w-client/pull/681/commits/ff03caa4cf6441f6014abd548c5e9ba2bfed065a --- g3w-admin/client/static/client/js/app.min.js | 2 +- g3w-admin/client/static/client/js/app.min.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/g3w-admin/client/static/client/js/app.min.js b/g3w-admin/client/static/client/js/app.min.js index 2933fc741..d6b933b3d 100644 --- a/g3w-admin/client/static/client/js/app.min.js +++ b/g3w-admin/client/static/client/js/app.min.js @@ -1,2 +1,2 @@ -!function i(n,r,o){function s(t,e){if(!r[t]){if(!n[t]){var a="function"==typeof require&&require;if(!e&&a)return a(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}a=r[t]={exports:{}},n[t][0].call(a.exports,function(e){return s(n[t][1][e]||e)},a,a.exports,i,n,r,o)}return r[t].exports}for(var l="function"==typeof require&&require,e=0;e{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputCheckbox.vue"));e=Vue.extend(e);t.exports=e},{"components/InputCheckbox.vue":63}],7:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputColor.vue"));e=Vue.extend(e);t.exports=e},{"components/InputColor.vue":64}],8:[function(e,t,a){var n=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),e};function i(e,t){for(var a=0;a{var e=i,t=o;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e))).validatorOptions={},t;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),n(i,[{key:"getLocale",value:function(){return window.initConfig.user.i18n||"en"}},{key:"convertQGISDateTimeFormatToMoment",value:function(e){return(0,r.convertQGISDateTimeFormatToMoment)(e)}},{key:"setValidatorOptions",value:function(){this.validatorOptions=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputDateTimePicker.vue"));e=Vue.extend(e);t.exports=e},{"components/InputDateTimePicker.vue":65}],10:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputFloat.vue"));e=Vue.extend(e);t.exports=e},{"components/InputFloat.vue":66}],12:[function(e,t,a){var i=o(e("store/application")),n=o(e("components/InputBase.vue")),r=e("mixins");function o(e){return e&&e.__esModule?e:{default:e}}function s(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}var l=e("./services"),e={props:["state"],mixins:[r.baseInputMixin],components:{baseinput:n.default},watch:{notvalid:function(e){e&&this.service.setErrorMessage()},"state.value":function(){var e=this;void 0!==this.state.input.options.default_expression&&setTimeout(function(){return e.change()})}},created:function(){var e=this;this.service=new l[this.state.input.type]({state:this.state}),this.$watch(function(){return i.default.language},s(function*(){e.state.visible&&(e.state.visible=!1,e.service.setErrorMessage(),yield e.$nextTick(),e.state.visible=!0)})),this.state.editable&&this.state.validate.required&&this.service.validate(),this.$emit("addinput",this.state),this.state.value_from_default_value&&this.$emit("changeinput",this.state)},destroyed:function(){this.$emit("removeinput",this.state)}};t.exports=e},{"./services":28,"components/InputBase.vue":62,mixins:166,"store/application":178}],13:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputInteger.vue"));e=Vue.extend(e);t.exports=e},{"components/InputInteger.vue":69}],15:[function(e,t,a){var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var a=t,i=[],n=!0,t=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(i.push(o.value),!a||i.length!==a);n=!0);}catch(e){t=!0,r=e}finally{try{!n&&s.return&&s.return()}finally{if(t)throw r}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var e=n,t=l;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function n(){var t,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e))).coordinatebutton,t.mapService=s.default.getService("map"),t.mapEpsg=t.mapService.getCrs(),t.mapControlToggleEventHandler=function(e){e.target.isToggled()&&e.target.isClickMap()&&t.coordinatebutton.active&&t.toggleGetCoordinate()},t.map=t.mapService.getMap(),t.outputEpsg=t.state.epsg||t.mapEpsg,t.eventMapKey,t;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),r(n,[{key:"setCoordinateButtonReactiveObject",value:function(e){this.coordinatebutton=e}},{key:"validate",value:function(){this.state.values.lon<-180?this.state.values.lon=-180:180{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputLonLat.vue"));e=Vue.extend(e);t.exports=e},{"components/InputLonLat.vue":70}],17:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputMedia.vue"));e=Vue.extend(e);t.exports=e},{"components/InputMedia.vue":71}],19:[function(e,t,a){var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputPickLayer.vue"));e=Vue.extend(e);t.exports=e},{"components/InputPickLayer.vue":72}],21:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputRadio.vue"));e=Vue.extend(e);t.exports=e},{"components/InputRadio.vue":73}],23:[function(e,t,a){var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var e=r,t=o;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function r(){var t,a,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e))).setValidator({validate:function(e){return+t<=(e=+e)&&e<=+a}}),n;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),i(r,[{key:"isValueInRange",value:function(e,t,a){return e<=a&&t<=e}}]),r})()},{"gui/inputs/service":27}],24:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputRange.vue"));e=Vue.extend(e);t.exports=e},{"components/InputRange.vue":74}],25:[function(e,t,a){var n=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),e};function i(e,t){for(var a=0;a{var e=i,t=o;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e))).layer=null,t;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),n(i,[{key:"_getLayerById",value:function(e){return(0,r.getCatalogLayerById)(e)}},{key:"addValue",value:function(e){this.state.input.options.values.push(e)}},{key:"sortValues",value:function(){var a=this.state.input.options.orderbyvalue;this.state.input.options.values.sort(function(e,t){e=e[a?"value":"key"],t=t[a?"value":"key"];return e{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputSelect.vue"));e=Vue.extend(e);t.exports=e},{"components/InputSelect.vue":75}],27:[function(e,t,a){var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a\n "+this.state.info+"\n \n "),this.state.validate.message=this.state.info||e):this.state.validate.message=this.state.info||o("sdk.form.inputs.input_validation_error_type")+" ( "+o("sdk.form.inputs."+this.state.type)+" )")}},{key:"setUpdate",value:function(){var e=this.state,t=e.value,e=e._value;"media"===this.state.input.type&&"Object"!==(0,r.toRawType)(t)&&"Object"!==(0,r.toRawType)(e)?this.state.update=t.value!=e.value:"datetimepicker"===this.state.input.type?this.state.update=(null!==t?t.toUpperCase():t)!=(e&&e.toUpperCase()):this.state.update=t!=e}}]),l)},{"g3w-i18n":129,"utils/toRawType":242}],28:[function(e,t,a){e={text:e("./service"),textarea:e("./service"),texthtml:e("./service"),integer:e("./integer/service"),string:e("./service"),float:e("./float/service"),radio:e("./radio/service"),check:e("./checkbox/service"),range:e("./range/service"),datetimepicker:e("./datetimepicker/service"),unique:e("./unique/service"),select:e("./select/service"),media:e("./media/service"),select_autocomplete:e("./select/service"),picklayer:e("./service"),color:e("./service"),slider:e("./sliderrange/service"),lonlat:e("./lonlat/service")};t.exports=e},{"./checkbox/service":5,"./datetimepicker/service":8,"./float/service":10,"./integer/service":13,"./lonlat/service":15,"./media/service":17,"./radio/service":21,"./range/service":23,"./select/service":25,"./service":27,"./sliderrange/service":29,"./unique/service":34}],29:[function(e,t,a){var n=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),e};function i(e,t){for(var a=0;a{var e=i,t=r;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var t=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,t))).setValidator({validate:function(e){return(e=+e)>=+t.state.input.options.min&&e<=+t.state.input.options.max}}),a;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),n(i,[{key:"validate",value:function(){this.state.value=+this.state.value,this.state.validate.valid=this.state.value>=this.state.input.options.min||this.state.value<=this.state.input.options.max}},{key:"changeInfoMessage",value:function(){this.state.info="[MIN: "+this.state.input.options.min+" - MAX: "+this.state.input.options.max+"]"}}]),i})();t.exports=e},{"gui/inputs/service":27}],30:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputSliderRange.vue"));e=Vue.extend(e);t.exports=e},{"components/InputSliderRange.vue":76}],31:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputText.vue"));e=Vue.extend(e);t.exports=e},{"components/InputText.vue":77}],32:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputTextArea.vue"));e=Vue.extend(e);t.exports=e},{"components/InputTextArea.vue":78}],33:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputTextHtml.vue"));e=Vue.extend(e);t.exports=e},{"components/InputTextHtml.vue":79}],34:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputUnique.vue"));e=Vue.extend(e);t.exports=e},{"components/InputUnique.vue":80}],36:[function(e,t,a){var s,i,n,l,u,r,o,c,d,p,f,g,h,y,v,m,_,b,w,x,k,S;e("vueify/lib/insert-css").insert("@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden;max-width:calc(100% - 150px)}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid #aaa;border-top-width:0;border-radius:0;margin-top:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}#menu-toggler[data-v-6659a6eb]{display:none}.navbar-toggler[data-v-6659a6eb]{color:#fff;margin:12px;font-size:1.3em;position:absolute;z-index:101;right:0}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-toggler[data-v-6659a6eb]{display:block;cursor:pointer;user-select:none}#menu-toggler:checked~hgroup[data-v-6659a6eb]{position:fixed;top:0;background:var(--skin-color);padding-left:8px}#menu-toggler:checked~ul[data-v-6659a6eb]{position:fixed;inset:50px 0 0 0;background:var(--skin-color);z-index:100;flex-direction:column;border-top:1px solid #fff}#menu-toggler:not(:checked)~[data-v-6659a6eb]:not(.navbar-toggler),.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none!important}.navbar-nav[data-v-6659a6eb]{flex-direction:column}.user-footer .btn-default[data-v-6659a6eb]{padding:10px}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}");function E(e){return e&&e.__esModule?e:{default:e}}function L(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}Object.defineProperty(a,"__esModule",{value:!0}),s=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var a=t,i=[],n=!0,t=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(i.push(o.value),!a||i.length!==a);n=!0);}catch(e){t=!0,r=e}finally{try{!n&&s.return&&s.return()}finally{if(t)throw r}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=E(e("vue-cookie-law")),n=E(e("vue2-teleport")),l=e("g3w-constants"),u=E(e("store/application")),r=E(e("g3w-panel")),o=E(e("g3w-component")),c=E(e("services/gui")),d=e("utils/getUniqueDomId"),p=e("utils/promisify"),f=e("utils/sameOrigin"),g=E(e("components/UserMessage.vue")),h=E(e("components/CatalogContextMenu.vue")),y=E(e("components/ModalLogin.vue")),v=E(e("components/ModalAddLayer.vue")),m=E(e("components/ModalChangeMap.vue")),_=E(e("components/ModalMetadata.vue")),S=e("g3w-i18n").t,a.default={name:"app",data:function(){var e=(window.initConfig.header_custom_links||[]).concat(u.default.navbaritems).filter(Boolean);return e.unshift({id:"credits",type:"metadata",target:"#metadata_credits",icon:"far fa-question-circle",title:"Credits"}),e.forEach(function(e){return!e.id&&(e.id=(0,d.getUniqueDomId)())}),{language:null,cookie_law_buttonText:S("cookie_law.buttonText"),app:u.default,state:u.default.viewport,updatePreviousTitle:!1,header:S("main navigation"),custom_links:e}},components:{CookieLaw:i.default,userMessage:g.default,CatalogContextMenu:h.default,ModalLogin:y.default,ModalAddlayer:v.default,ModalChangemap:m.default,ModalMetadata:_.default,Teleport:n.default},computed:{languages:function(){var e;return 1<(e=Array.isArray(this.appconfig.i18n)&&this.appconfig.i18n||[]).length&&e},dropdownParent:function(){return 768<=window.innerWidth},appconfig:function(){return window.initConfig},isIframe:function(){return window.top!==window.self},urls:function(){return this.appconfig.urls},logo_url:function(){return u.default.project.state.thumbnail||""+this.appconfig.mediaurl+window.initConfig.header_logo_img},project_title:function(){return u.default.project.getState().name},user:function(){return this.appconfig.user&&this.appconfig.user.username?this.appconfig.user:null},login_url:function(){return this.appconfig.user.login_url},has_iframe_login:function(){return this.login_url&&("/"===this.login_url[0]||(0,f.sameOrigin)(this.login_url,window.location.href))},hasRelatedMaps:function(){return 1\n \n '+e.text+" \n "):e.text},oncCustomItemClick:function(e,t){if(["modal","metadata"].includes(t.type)){if(e.preventDefault(),t.target&&"modal"===t.type&&document.querySelector(t.target))return $(t.target).modal("show");t.target&&"metadata"===t.type&&document.querySelector("#modal-metadata")?($("#modal-metadata").modal("show"),document.querySelector('#modal-metadata a[href="'+t.target+'"]').click()):($("body").append('\n \n "),$("#custom_modal").modal("show"),$("#custom_modal").on("hidden.bs.modal",function(){return $("#custom_modal").remove()}))}},showEmbedModal:function(){var e=new URL(location.href);e.searchParams.set("map_extent",c.default.getService("map").getMapExtent().toString()),$("body").append('\n \n ',mounted:(e=w(function*(){yield this.$nextTick(),this.$refs.table.click()}),function(){return e.apply(this,arguments)})}))}),push:!0,showgoback:!0,closable:!1})}),function(){return y.apply(this,arguments)}),editFeature:function(e){s.default.getService("queryresults").editFeature({layer:{id:this.table.layerId,attributes:this.table.fields},feature:this.table.features[e]})},getRowFields:function(a){var i=this;return this.table.fields.map(function(e,t){return e.value=a[t],e.query=!0,e.input={type:""+i.getFieldType(e)},e})},reloadLayout:function(){this.relationDataTable&&this.relationDataTable.columns.adjust()},back:function(){this.$parent.setRelationsList()},fieldIs:function(e,t){return this.getFieldType(t)===e},is:function(e,t){return this.fieldIs(e,t)},wrapMoveFnc:function(e){this.moveFnc(e)},resizeStart:function(){document.getElementById("g3w-view-content").addEventListener("mousemove",this.wrapMoveFnc),document.getElementById("g3w-view-content").addEventListener("mouseup",this.resizeStop,{once:!0})},resizeStop:(h=w(function*(){document.getElementById("g3w-view-content").removeEventListener("mousemove",this.wrapMoveFnc),yield this.$nextTick(),s.default.emit("resize")}),function(){return h.apply(this,arguments)}),moveFnc:function(e){var t=$(".sidebar-collapse").length?0:_,e=e.pageX+2-t;this.$refs.tablecontent.style.width=e+"px",this.$refs.chartcontent.style.width=$(this.$refs.relationwrapper).width()-e-10+"px"}},watch:{table:{immediate:!0,handler:function(e){e&&e.rows.length&&this.createTable()}},chart:(g=w(function*(){yield this.$nextTick(),this.resize()}),function(){return g.apply(this,arguments)}),headercomponent:(f=w(function*(){yield this.$nextTick(),this.resize()}),function(){return f.apply(this,arguments)})},beforeCreate:function(){this.delayType="debounce"},beforeDestroy:(p=w(function*(){this.relationDataTable&&(this.relationDataTable.destroy(),this.relationDataTable=null,this.chartContainer&&this.$emit("hide-chart",this.chartContainer),this.chartContainer=null,this.tableHeaderHeight=null,s.default.off("pop-content",this.resize))}),function(){return p.apply(this,arguments)})},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var i=this,e=i.$createElement,n=i._self._c||e;return i.table?n("div",{ref:"query_relation",staticClass:"query-relation",class:i.isMobile()?"mobile":null},[n("div",{ref:"relation-header",staticClass:"header skin-background-color lighten"},[n("div",{staticClass:"g3w-long-text"},[i.showrelationslist?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.relations.back_to_relations",expression:"'sdk.relations.back_to_relations'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button-icon action-button back-button",class:i.$fa("exit"),on:{click:function(e){return e.stopPropagation(),i.back(e)}}}):i._e(),i._v(" "),n("b",{staticClass:"relation-tile skin-color"},[i._v(" "+i._s(i.relation.name)+" ")])]),i._v(" "),i.table.rows.length?n("div",{staticClass:"relations-table-tools"},[i.downloadButton?n("span",{directives:[{name:"download",rawName:"v-download"},{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:i.downloadButton.tooltip,expression:"downloadButton.tooltip",arg:"left",modifiers:{create:!0}}],staticClass:"action-button-icon action-button",class:[i.$fa("download"),{"toggled-white":i.downloadButton.toggled}],on:{click:function(e){return e.stopPropagation(),i.downloadButton.handler(e)}}}):i._e(),i._v(" "),i.showChartButton?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"sdk.tooltips.show_chart",expression:"'sdk.tooltips.show_chart'",arg:"bottom",modifiers:{create:!0}}],staticClass:"action-button-icon action-button",class:[i.$fa("chart"),i.chart?"toggled-white":""],on:{click:function(e){return e.stopPropagation(),i.showChart(e)}}}):i._e()]):i._e()]),i._v(" "),i.table.rows.length?n("div",{ref:"relationwrapper",staticClass:"relation-wrapper"},[n("div",{ref:"tablecontent",style:{width:i.chart?"70%":"100%",marginRight:i.chart?"8px":"3px",position:"relative"},attrs:{id:"table_content"}},[i.headercomponent?n("div",{staticClass:"header-component"},[n(i.headercomponent,{tag:"component",attrs:{layer:i.downloadLayer.state,config:i.downloadLayer.config}})],1):i._e(),i._v(" "),n("table",{ref:"relationtable",staticClass:"hover relationtable table table-striped row-border compact nowrap"},[n("thead",[n("tr",{staticStyle:{height:"0! important"}},[i.showTools?n("th",{style:{minWidth:30*this.showTools+"px",padding:"0 !important"}}):i._e(),i._v(" "),i._l(i.table.columns,function(e){return n("th",[i._v(i._s(e))])})],2)]),i._v(" "),n("tbody",i._l(i.table.rows,function(t,a){return n("tr",{key:i.table.rows_fid[a],class:{selected:i.table.rowFormStructure===t}},[i.showTools?n("td",{staticClass:"table-tools"},[i.table.features[a].geometry?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.tooltips.relations.zoomtogeometry",expression:"'sdk.tooltips.relations.zoomtogeometry'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:i.$fa("marker"),on:{click:function(e){return e.stopPropagation(),i.zoomToGeometry(i.table.features[a].geometry)}}}):i._e(),i._v(" "),i.table.formStructure?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.tooltips.relations.row_to_form",expression:"`sdk.tooltips.relations.row_to_form`",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:i.$fa("table"),on:{click:function(e){e.stopPropagation(),i.showFormStructureRow({layerid:i.table.layerId,feature:i.table.features[a],fields:i.getRowFields(t),tabs:i.table.formStructure})}}}):i._e(),i._v(" "),i.isEditable?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"Edit",expression:"'Edit'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:i.$fa("pencil"),on:{click:function(e){return e.stopPropagation(),i.editFeature(a)}}}):i._e()]):i._e(),i._v(" "),i._l(t,function(e){return n("td",[n("field",{attrs:{state:{value:e}}})],1)})],2)}),0)])]),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.chart,expression:"chart"}],staticClass:"skin-border-color lighten",staticStyle:{"border-style":"solid","border-width":"0 1px 0 1px"},style:{minWidth:"5px",backgroundColor:"#dddddd",cursor:"col-resize"},on:{mousedown:function(e){return e.stopPropagation(),i.resizeStart(e)}}}),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.chart,expression:"chart"}],ref:"chartcontent",style:{width:i.chart?"30%":"0"},attrs:{id:"chart_content"}})]):n("div",{staticClass:"dataTables_scrollBody"},[n("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.relations.no_relations_found",expression:"'sdk.relations.no_relations_found'"}]})])]):i._e()},e.staticRenderFns=[],e._scopeId="data-v-20ddbb22"},{"components/FieldG3W.vue":43,"components/QueryResultsActionDownloadFormats.vue":95,"g3w-component":125,"g3w-constants":126,"g3w-eventbus":127,mixins:166,"services/gui":173,"utils/getCatalogLayerById":203,"utils/throttle":241,"vueify/lib/insert-css":2}],103:[function(e,t,a){var i,n,r;e("vueify/lib/insert-css").insert(".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}");function o(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}Object.defineProperty(a,"__esModule",{value:!0}),r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var a=t,i=[],n=!0,t=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(i.push(o.value),!a||i.length!==a);n=!0);}catch(e){t=!0,r=e}finally{try{!n&&s.return&&s.return()}finally{if(t)throw r}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},a.default={name:"relations",props:["relations","feature","loading"],methods:{showRelation:(n=o(function*(e){yield this.$parent.showRelation(e)}),function(e){return n.apply(this,arguments)}),featureInfo:function(){return Object.entries(this.feature.attributes).filter(function(e){e=r(e,2),e[0],e=e[1];return e&&"string"==typeof e&&!e.includes("/")}).map(function(e){e=r(e,2);return{key:e[0],value:e[1]}}).slice(0,3)}},mounted:(i=o(function*(){1===this.relations.length&&(this.relations[0].noback=!0,yield this.showRelation(this.relations[0]))}),function(){return i.apply(this,arguments)}),beforeDestroy:function(){1===this.relations.length&&delete this.relations[0].noback}},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var a=this,e=a.$createElement,i=a._self._c||e;return i("div",{staticClass:"query-relations"},[i("div",{staticClass:"header skin-background-color lighten"},[i("div",{staticClass:"skin-color-dark"},[i("span",{directives:[{name:"t",rawName:"v-t:pre",value:"sdk.relations.list_of_relations_feature",expression:"'sdk.relations.list_of_relations_feature'",arg:"pre"}],staticStyle:{"font-size":"1.1em"}}),a._v(" "),a._l(a.featureInfo(),function(e){return i("div",[a._v(" - "),i("b",[a._v(a._s(e.key))]),a._v(": "+a._s(e.value))])})],2)]),a._v(" "),i("div",{staticClass:"query-relations-content"},a._l(a.relations,function(t){return i("div",{staticClass:"skin-border-color relation-grid-item",on:{click:function(e){return e.stopPropagation(),a.showRelation(t)}}},[i("span",{staticClass:"skin-color g3w-long-text"},[a._v(a._s(t.name))])])}),0)])},e.staticRenderFns=[],e._scopeId="data-v-02f56b7e"},{"vueify/lib/insert-css":2}],104:[function(e,t,a){function i(e){return e&&e.__esModule?e:{default:e}}function n(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function l(e,t){var e=(e=0span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}");function h(e){return e&&e.__esModule?e:{default:e}}function y(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}Object.defineProperty(a,"__esModule",{value:!0}),i=h(e("g3w-panel")),o=h(e("store/application")),n=h(e("services/data")),s=h(e("services/gui")),r=e("utils/createFilterFromString"),l=e("utils/getCatalogLayerById"),u=h(e("components/Tool.vue")),c=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/QueryBuilder.vue")),g=e("g3w-i18n").t,a.default={name:"search",data:function(){return{state:this.state||{}}},components:{"g3w-tool":u.default},computed:{show:function(){return 0=e.children.length?$(e).append(this.$el):Array.from(e.children).forEach(function(e,t){t!==i.position&&e.id!==i.position||e.insertAdjacentElement(i.before||void 0===i.before?"beforebegin":"afterend",a.$el)}),this.component.mount(this.$refs["component-placeholder"]),this.component.click=function(){var e=(0tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\n#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}");function C(e){return e&&e.__esModule?e:{default:e}}function P(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function O(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tlip',lengthMenu:l.PAGELENGTHS,order:[1,"asc"],pageLength:this.layer.getAttributeTablePageLength()||l.PAGELENGTHS[1],processing:!1,responsive:!0,scrollCollapse:!0,scrollX:!0,serverSide:!0,sSearch:!1}),e=(this.changeColumn=(0,d.debounce)((i=P(function*(e,t){var a=e.target.value.trim();s.one("draw",P(function*(){o[t]=a,n.disableSelectAll=0===n.state.features.length,n.filter=Object.values(o).find(function(e){return e})?yield new Promise(function(e){return r=e}):[]})),s.columns(t).search(a).draw()}),function(e,t){return i.apply(this,arguments)})),document.createDocumentFragment());e.appendChild(this.$refs.table_toolbar),document.getElementById("g3w-table-toolbar").appendChild(e),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_info")),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_filter")),document.getElementById("table_body_attributes").remove(),s.ajax.reload()}),function(){return v.apply(this,arguments)}),beforeDestroy:(y=P(function*(){var e=this;this.last_map_control&&!this.last_map_control.control.isToggled()&&this.last_map_control.control.toggle(),this.last_map_control=null,this.layer.off("unselectionall",this.unSelectAll),this.layer.off("filtertokenchange",this.filterChangeHandler),ol.Observable.unByKey(this.map_bbox.key),this.map_bbox.key=null,this.map_bbox.cb=null,this.highlight(),this.has_map||setTimeout(function(){e.async_highlight(),e.has_map=!0,e.async_highlight=function(){}}),u.default.un("setContent",this.setContentKey),document.querySelector("#g3w-view-content .dataTables_info").remove(),document.querySelector("#g3w-view-content .dataTables_filter").remove(),$(this.$refs.attribute_table).DataTable().destroy(!0)}),function(){return y.apply(this,arguments)})},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var i=this,e=i.$createElement,n=i._self._c||e;return n("div",{attrs:{id:"open_attribute_table"}},[n("div",{ref:"table_toolbar",staticStyle:{display:"flex","justify-content":"space-between",padding:"1px"}},[i.layer.isGeoLayer()?n("div",{directives:[{name:"disabled",rawName:"v-disabled",value:i.state.geolayer.active&&i.current_layout.rightpanel.height_100,expression:"state.geolayer.active && current_layout.rightpanel.height_100"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.show_features_on_map",expression:"'layer_selection_filter.tools.show_features_on_map'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[i.$fa("map"),i.state.geolayer.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.getDataFromBBOX(e)}}}):i._e(),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.clear",expression:"'layer_selection_filter.tools.clear'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:i.$fa("clear"),attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.layer.clearSelectionFids()}}}),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.invert",expression:"'layer_selection_filter.tools.invert'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[i.$fa("invert"),i.layer.state.filter.active?"g3w-disabled":""],attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.inverseSelection(e)}}}),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.filter",expression:"'layer_selection_filter.tools.filter'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[i.$fa("filter"),i.layer.state.filter.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.toggleFilterToken(i.layer)}}})]),i._v(" "),i.state.headers.length?n("table",{ref:"attribute_table",staticClass:"table table-striped row-border compact nowrap",attrs:{id:"layer_attribute_table"}},[n("thead",[n("tr",[n("th"),i._v(" "),i._l(i.state.headers,function(e,t){return 0span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}");function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(a,"__esModule",{value:!0}),i=r(e("store/application")),n=r(e("services/gui")),a.default={name:"g3w-tool",props:["tool"],methods:{showToolStateMessage:function(){n.default.showModalDialog({title:this.tool.state.type.toUpperCase(),message:this.tool.state.message})}},computed:{disabled:function(){return!this.tool.offline&&!i.default.online||this.tool.loading||this.tool.disabled},sidebarOpen:function(){return i.default.gui.sidebar.open}}},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var r=this,e=r.$createElement,e=r._self._c||e;return e("div",["checkbox"===r.tool.type?e("div",{staticClass:"checkbox"},[e("label",[e("input",{directives:[{name:"model",rawName:"v-model",value:r.tool.isCheck,expression:"tool.isCheck"}],staticStyle:{cursor:"pointer"},attrs:{id:r.tool.layerName,type:"checkbox"},domProps:{value:r.tool.layerName,checked:Array.isArray(r.tool.isCheck)?-1{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/Form.vue")),d=g(e("components/FormBody.vue")),p=e("utils/getDefaultExpression"),f=e("utils/getFilterExpression");function g(e){return e&&e.__esModule?e:{default:e}}function h(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function y(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t+this.state.tovalidate[e.validate.min_field].value:this.state.tovalidate[e.validate.max_field].validate.empty||+e.value<+this.state.tovalidate[e.validate.max_field].value,e.validate.valid&&(this.state.tovalidate[t].validate.valid=!0))}this.state.valid=Object.values(this.state.tovalidate).reduce(function(e,t){return e&&t.validate.valid},!0)&&Object.values(this.state.componentstovalidate).reduce(function(e,t){return e&&t},!0)}},{key:"addComponents",value:function(){var e=0{var e=x(function*(){for(var e=0;e<=o.forminputs.length-1;e++){var t=o.forminputs[e],a="autocompletefield"===t.type;t.values=[].concat(k("selectfield"===t.type?[y.SEARCH_ALLVALUE]:[]),k(t.dependance_strict||a?t.values:yield(0,p.getDataForSearchInput)({state:o,field:t.attribute}))).map(function(e){return"Object"===(0,d.toRawType)(e)?e:{key:e,value:e}}),t.dependance&&(o.loading[t.dependance]=!1,t.disabled=t.dependance_strict),t._values=[].concat(k(t.values)),t.loading=!1}});return function(){return e.apply(this,arguments)}})(),t=(o.mounted=t(),a.service||Object.assign(new r.default,{state:o,doSearch:i,setInputs:t,run:(0,f.debounce)(function(){for(var e=arguments.length,t=Array(e),a=0;a{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/SearchPanel.vue"));function o(e){return e&&e.__esModule?e:{default:e}}function x(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function k(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("vue-color"));var n=window.initConfig;if(n.baseurl)try{new URL(n.baseurl)}catch(e){n.baseurl=new URL(n.baseurl,window.location).toString()}n.group=Object.assign(n.group||{},new Proxy(Object.fromEntries(Object.keys(n).filter(function(e){return!["i18n","staticurl","client","mediaurl","user","baseurl","vectorurl","proxyurl","rasterurl","interfaceowsurl","main_map_title","main_map_title","g3wsuite_logo_img","credits","version","group","frontendurl"].includes(e)}).map(function(e){return[e,n[e]]})),{get:function(e,t,a){return Reflect.get.apply(Reflect,arguments)}})),n.overviewproject=n.overviewproject?n.overviewproject.gid:null,window.VueColor=i,window.VueCookie=e("vue-cookie")},{"vue-color":"vue-color","vue-cookie":"vue-cookie"}],115:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.trigger=a.unwatch=a.watch=void 0;var r=e("utils/getUniqueDomId"),o=new Vue,s={};a.watch=function(){var e=0{var t=r;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function r(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,{setters:{setOpen:function(e){this.state.open=e,this._setOpen&&this._setOpen(e)},setVisible:function(e){this.state.visible=e,this._setVisible&&this._setVisible(e)},setLoading:function(){this.state.loading=0=",lte:"<=",NOT:"!=",eq:"=",gt:">",lt:"<",IN:"IN",LIKE:"LIKE",ILIKE:"ILIKE",AND:"AND",OR:"OR"}),i=a.FILTER_EXPRESSION_OPERATORS=i({lte:"<=",ltgt:"!=",ilike:"ILIKE",like:"LIKE"},r),o=a.GEOMETRY_FIELDS=["geometryProperty","boundedBy","geom","the_geom","geometry","bbox","GEOMETRY","geoemtria","geometria"],s=a.GEOMETRY_TYPES={POINT:"Point",POINTZ:"PointZ",POINTM:"PointM",POINTZM:"PointZM",POINT25D:"Point25D",MULTIPOINT:"MultiPoint",MULTIPOINTZ:"MultiPointZ",MULTIPOINTM:"MutliPointM",MULTIPOINTZM:"MultiPointZM",MULTIPOINT25D:"MultiPoint25D",LINESTRING:"LineString",LINESTRINGZ:"LineStringZ",LINESTRINGM:"LineStringM",LINESTRINGZM:"LineStringZM",LINESTRING25D:"LineString25D",LINE:"Line",LINEZ:"LineZ",LINEM:"LineM",LINEZM:"LineZM",LINE25D:"Line25D",MULTILINESTRING:"MultiLineString",MULTILINESTRINGZ:"MultiLineStringZ",MULTILINESTRINGM:"MultiLineStringM",MULTILINESTRINGZM:"MultiLineStringZM",MULTILINESTRING25D:"MultiLineString25D",MULTILINE:"MultiLine",MULTILINEZ:"MultiLineZ",MULTILINEM:"MultiLineM",MULTILINEZM:"MultiLineZM",MULTILINE25D:"MultiLine25D",POLYGON:"Polygon",POLYGONZ:"PolygonZ",POLYGONM:"PolygonM",POLYGONZM:"PolygonZM",POLYGON25D:"Polygon25D",MULTIPOLYGON:"MultiPolygon",MULTIPOLYGONZ:"MultiPolygonZ",MULTIPOLYGONM:"MultiPolygonM",MULTIPOLYGONZM:"MultiPolygonZM",MULTIPOLYGON25D:"MultiPolygon25D",GEOMETRYCOLLECTION:"GeometryCollection",GEOMETRYCOLLECTIONZ:"GeometryCollectionZ",GEOMETRYCOLLECTIONM:"GeometryCollectionM",GEOMETRYCOLLECTIONZM:"GeometryCollectionZM",GEOMETRYCOLLECTION25D:"GeometryCollection25D"},l=a.PRINT_SCALES=[{value:100,label:"1:100"},{value:200,label:"1:200"},{value:500,label:"1:500"},{value:1e3,label:"1:1.000"},{value:2e3,label:"1:2.000"},{value:2500,label:"1:2.500"},{value:5e3,label:"1:5.000"},{value:1e4,label:"1:10.000"},{value:2e4,label:"1:20.000"},{value:25e3,label:"1:25.000"},{value:5e4,label:"1:50.000"},{value:1e5,label:"1:100.000"},{value:25e4,label:"1:250.000"},{value:5e5,label:"1:500.000"},{value:1e6,label:"1:1.000.000"},{value:25e5,label:"1:2.500.000"},{value:5e6,label:"1:5.000.000"},{value:1e7,label:"1:10.000.000"},{value:2e7,label:"1:20.000.000"},{value:5e7,label:"1:50.000.000"},{value:1e8,label:"1:100.000.000"},{value:25e7,label:"1:250.000.000"},{value:5e8,label:"1:500.000.000"}],u=a.QUERY_POINT_TOLERANCE={unit:"pixel",value:10},c=(a.SEARCH_ALLVALUE="__G3W_ALL__",a.TIMEOUT=6e4,a.VIEWPORT={resize:{map:{min:200},content:{min:200}}}),d=a.FONT_AWESOME_ICONS={"change-map":"fas fa-map-signs",map:"far fa-map",file:"fas fa-file-code",marker:"fas fa-map-marker-alt",relation:"fas fa-sitemap",tools:"fas fa-cogs",tool:"fas fa-cog",search:"fas fa-search",print:"fas fa-print",info:"fas fa-info-circle","info-circle":"fas fa-info-circle",globe:"fas fa-globe",mail:"fas fa-envelope",mobile:"fas fa-mobile",fax:"fas fa-fax",user:"fas fa-user",bars:"fas fa-bars",uncheck:"far fa-square",check:"far fa-check-square",checkmark:"fa fa-check",filluncheck:"fas fa-square",table:"fas fa-table",trash:"fas fa-trash","trash-o":"far fa-trash-alt",pencil:"fas fa-pencil-alt","ellips-h":"fas fa-ellipsis-h","ellips-v":"fas fa-ellipsis-v","arrow-up":"fas fa-chevron-up","arrow-down":"fas fa-chevron-down","arrow-left":"fas fa-chevron-left","arrow-right":"fas fa-chevron-right","resize-h":"fas fa-arrows-alt-h","resize-v":"fas fa-arrows-alt-v","resize-default":"fas fa-compress","caret-up":"fas fa-caret-up","caret-down":"fas fa-caret-down","caret-left":"fas fa-caret-left","caret-right":"fas fa-caret-right","empty-circle":"far fa-circle","cloud-upload":"fas fa-cloud-upload-alt",spinner:"fas fa-spinner",minus:"fas fa-minus","minus-square":"far fa-minus-square",plus:"fas fa-plus","plus-circle":"fas fa-plus-circle","plus-square":"far fa-plus-square",grid:"fas fa-th",home:"fas fa-home",folder:"fas fa-folder","sign-out":"fas fa-sign-out-alt",close:"fas fa-times",time:"far fa-clock",calendar:"fas fa-calendar-alt",list:"fas fa-list-alt",link:"fas fa-link",unlink:"fas fa-unlink",eye:"far fa-eye","eye-close":"far fa-eye-slash",save:"far fa-save",pdf:"fas fa-file-pdf",image:"far fa-image",video:"far fa-file-video",unknow:"far fa-question-circle",zip:"far fa-file-archive",text:"far fa-file-alt",excel:"far fa-file-excel",xls:"far fa-file-excel",gpx:"fas fa-location-arrow",gpkg:"fas fa-box-open",shapefile:"fas fa-file-archive",csv:"fas fa-file-csv",geotiff:"fas fa-th",ppt:"far fa-file-powerpoint",circle:"fas fa-circle",calculator:"fas fa-calculator",picture:"far fa-image",keyboard:"far fa-keyboard","file-download":"fas fa-file-download",copy:"far fa-copy",draw:"fas fa-draw-polygon",chart:"fas fa-chart-bar","chart-line":"fas fa-chart-line","chart-area":"fas fa-chart-area","chart-pie":"fas fa-chart-pie",run:"fas fa-play",warning:"fas fa-exclamation-circle",alert:"fas fa-exclamation-triangle",crosshairs:"fas fa-crosshairs",success:"far fa-check-circle",back:"fas fa-chevron-circle-left","file-upload":"fas fa-file-upload",wifi:"fas fa-wifi",mouse:"fas fa-mouse","copy-paste":"far fa-copy","vector-square":"fas fa-vector-square",download:"fas fa-download",credits:"fas fa-euro-sign",filter:"fas fa-filter",plugin:"fas fa-plug",invert:"fas fa-exchange-alt",clear:"fas fa-broom",palette:"fas fa-palette",layers:"fas fa-layer-group","sign-in":"fas fa-sign-in-alt",language:"fas fa-language",target:"fas fa-bullseye",pin:"fas fa-map-pin",square:"far fa-square",move:"fas fa-arrows-alt",moon:"fas fa-moon",sun:"fas fa-sun",refresh:"fas fa-sync-alt",pause:"fas fa-pause","step-backward":"fas fa-step-backward","fast-backward":"fas fa-fast-backward","step-forward":"fas fa-step-forward","fast-forward":"fas fa-fast-forward",crop:"fas fa-crop-alt",exit:"fas fa-door-open",slider:"fas fa-sliders-h",bookmark:"fas fa-bookmark",reply:"fas fa-reply",share:"fas fa-share","share-alt":"fa fa-share-alt","external-link":"fa fa-external-link-alt",pointer:"fa fa-hand-pointer",camera:"fas fa-camera-retro",measure:"fas fa-ruler-horizontal",tint:"fa fa-tint",sort:"fa fa-sort",copyright:"fa fa-copyright",forward:"fas fa-angle-double-right",backward:"fas fa-angle-double-left"},p=a.LOCAL_ITEM_IDS={MESSAGES:{id:"MESSAGES",value:{}},SPATIALBOOKMARKS:{id:"SPATIALBOOKMARKS",value:{}}},f=a.SPATIAL_METHODS=["intersects","within"],g=(a.DOTS_PER_INCH=96,a.INCHES_PER_UNIT={m:39.37,degrees:4374754}),h=(a.SELECTION={ALL:"__ALL__",EXCLUDE:"__EXCLUDE__"},a.PAGELENGTHS=[10,25,50,100]);a.default={APP_VERSION:e,DEFAULT_EDITING_CAPABILITIES:n,DOTS_PER_INCH:96,FILTER_OPERATORS:r,FILTER_EXPRESSION_OPERATORS:i,FONT_AWESOME_ICONS:d,G3W_FID:"g3w_fid",GEOMETRY_FIELDS:o,GEOMETRY_TYPES:s,INCHES_PER_UNIT:g,LOCAL_ITEM_IDS:p,PRINT_SCALES:l,QUERY_POINT_TOLERANCE:u,SEARCH_ALLVALUE:"__G3W_ALL__",SPATIAL_METHODS:f,TIMEOUT:6e4,VIEWPORT:c,PAGELENGTHS:h}},{"./version":245}],127:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});a.VM=new Vue},{}],128:[function(Pe,e,t){!function(e){!function(){var a=Object.assign||function(e){for(var t=1;t{var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function a(e){var t;if(this instanceof a)return l(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e)),"setters",t._setupListenersChain,(e=e||{}).setters||t.setters),l(t,"throttles",t._setupThrottles,e.throttles||t.throttles),l(t,"debounces",t._setupDebounces,e.debounces||t.debounces),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(a,[{key:"onafter",value:function(e,t,a){return this._onsetter("after",e,t,!1,a)}},{key:"onceafter",value:function(e,t,a){return this._onsetter("after",e,t,!1,a,!0)}},{key:"onbefore",value:function(e,t,a){return this._onsetter("before",e,t,!1,a)}},{key:"oncebefore",value:function(e,t,a){return this._onsetter("before",e,t,!1,a,!0)}},{key:"onbeforeasync",value:function(e,t,a){return this._onsetter("before",e,t,!0,a)}},{key:"un",value:function(i,n){Object.entries(this.settersListeners).forEach(function(e){var e=r(e,2),a=(e[0],e[1]);void 0===n?a[i].splice(0):a[i].forEach(function(e,t){e.key===n&&a[i].splice(t,1)})})}},{key:"_onsetter",value:function(e,t,a,i){var n=4{t.settersListeners.after[l]=[],t.settersListeners.before[l]=[],t[l]=function(){for(var o=this,e=arguments.length,s=Array(e),t=0;t{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this))).id=e.id||null,t.title=e.title||"",t.service=e.service,e.vueComponentObject?t.internalPanel=new(Vue.extend(e.vueComponentObject))({service:t.service}):t.internalPanel=e.panel||e.internalPanel||null,!0===e.show&&t.internalPanel&&t.show(),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),n(i,[{key:"getId",value:function(){return this.id}},{key:"getTitle",value:function(){return this.title}},{key:"getService",value:function(){return this.service}},{key:"setService",value:function(e){this.service=e}},{key:"getInternalPanel",value:function(){return this.internalPanel}},{key:"setInternalPanel",value:function(e){this.internalPanel=e}},{key:"show",value:function(){r.default.showPanel(this)}},{key:"close",value:function(){r.default.closePanel()}},{key:"mount",value:function(e){var t=this.internalPanel,a=t.$mount();return $(e).append(a.$el),a.$nextTick(function(){$(e).localize(),t.onShow&&t.onShow()}),(0,s.$promisify)(Promise.resolve(!0))}},{key:"unmount",value:function(){var e=this.internalPanel;return e.$destroy(!0),$(e.$el).remove(),e.onClose&&e.onClose(),this.internalComponent=null,this.service&&this.service.clear&&this.service.clear(),(0,s.$promisify)(Promise.resolve())}}]),i})(o.default);a.default=e},{"g3w-object":130,"services/gui":173,"utils/promisify":232}],132:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.PluginService=a.Plugin=void 0;var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a
'),{}),O={};function M(){$.extend($.fn.dataTableExt.oStdClasses,{sFilterInput:"form-control search"}),$.extend(!0,$.fn.dataTable.defaults,{language:{sSearch:"",searchPlaceholder:C("dosearch"),sLengthMenu:C("dataTable.lengthMenu"),paginate:{previous:"«",next:"»"},info:C("dataTable.info"),zeroRecords:C("dataTable.nodatafilterd"),infoFiltered:""}})}function I(i){return new Promise(function(e,t){var a=document.createElement("script");a.onload=e,a.onerror=function(e){t(new Error("Failed to load script: "+i))},a.src=i,document.head.appendChild(a)})}var F,j=window.initConfig,R=(u.default.user=j.user,p.default.emit("initconfig",j),j.vendorkeys||{});j.baselayers.forEach(function(e){e.apikey&&(R[e.servertype?e.servertype.toLowerCase():null]=e.apikey)}),Object.keys(R).forEach(function(e){return u.default.keys.vendorkeys[e]=R[e]}),Object.assign(j,{urls:Object.assign(j.urls||{},{ows:"ows",api:"api",initconfig:"api/initconfig",config:"api/config",baseurl:j.baseurl,frontendurl:j.frontendurl,staticurl:j.staticurl,clienturl:j.staticurl+j.client,mediaurl:j.mediaurl,vectorurl:j.vectorurl,proxyurl:j.proxyurl,rasterurl:j.rasterurl,interfaceowsurl:j.interfaceowsurl}),layout:j.layout||{},plugins:j.plugins||{},tools:j.tools||{tools:[]},views:j.views||{},user:j.user||null}),j.layout.iframe=window.top!==window.self,u.default.lng=j.user.i18n||"en",u.default.language=j.user.i18n||"en",(j.i18n||[]).map(function(e){return e[0]}).forEach(function(e){return u.default.i18n.plugins[e]={plugins:{}}}),i18next.use(i18nextXHRBackend).init({lng:j.user.i18n,ns:"app",fallbackLng:"en",resources:e.default}),jqueryI18next.init(i18next,$,{tName:"t",i18nName:"i18n",handleName:"localize",selectorAttr:"data-i18n",targetAttr:"data-i18n-target",optionsAttr:"data-i18n-options",useOptionsAttr:!1,parseDefaultValueFromContent:!0}),Y(u.default.i18n.plugins),$.ajaxSetup({beforeSend:function(e){e.setRequestHeader("Accept-Language",j.user.i18n||"en")}}),new Promise((F=L(function*(i,t){try{j.macrogroups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/macrogroup/"})}catch(e){}try{j.groups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/group/nomacrogroup/"})}catch(e){}j.layout.rightpanel=Object.assign(j.layout.rightpanel||{},{width:j.layout.rightpanel.width||50,height:j.layout.rightpanel.height||50,width_100:!1,height_100:!1}),u.default.gui.layout.app=j.layout,j.projects.forEach(function(e){return Object.assign(e,{baselayers:j.baselayers,minscale:j.minscale,maxscale:j.maxscale,crs:j.crs,vectorurl:j.vectorurl,rasterurl:j.rasterurl})});var n=setTimeout(function(){t("Timeout")},l.TIMEOUT);(0,B.getProject)(j.initproject,{map_theme:new URLSearchParams(location.search).get("map_theme")}).then(function(e){clearTimeout(n);var t=o("services/map").default.MapLayersStoresRegistry,a=(Object.assign(u.default.project,e),e.getLayersStore());u.default.catalog[a.getId()]=a,t.addLayersStore(a),g3wsdk.core.project.ProjectsRegistry.setCurrentProject(e),window.addEventListener("online",function(){u.default.online=!0,p.default.online()}),window.addEventListener("offline",function(){u.default.online=!1,p.default.offline()}),p.default.emit("ready"),u.default.map.epsg=e.state.crs.epsg,u.default.iframe&&o("services/iframe").default.init({project:e}),Object.keys(l.LOCAL_ITEM_IDS).forEach(function(e){try{void 0===(window.localStorage.getItem(e)?JSON.parse(window.localStorage.getItem(e)):void 0)&&window.localStorage.setItem(e,JSON.stringify(l.LOCAL_ITEM_IDS[e].value))}catch(e){}}),i(!0)}).catch(function(e){t(e)})}),function(e,t){return F.apply(this,arguments)})).then(function(){var e;M(),(isMobile.any||(window.initConfig.layout||{}).iframe)&&$("body").addClass("sidebar-collapse"),new Vue({el:"#app",created:function(){var e,t;Vue.component("app",i.default),Object.assign(O,{sidebar:[new function(){var e=new d.default({id:"spatialbookmarks",icon:f.default.getFontClass("bookmark"),iconColor:"#00bcd4",title:"sdk.spatialbookmarks.title",vueComponentObject:o("components/SpatialBookMarks.vue")});return f.default.on("closecontent",function(){e.state.open=!1}),e},Object.assign(new d.default({id:"print",visible:window.initConfig.user.is_staff||0<(u.default.project.getPrint()||[]).length,icon:f.default.getFontClass("print"),iconColor:"#FF9B21",title:"print",service:{},internalComponent:new(Vue.extend(o("components/Print.vue")))}),{_setOpen:function(e){this.getInternalComponent().showPrintArea(e)}}),new d.default({id:"search",visible:!0,icon:f.default.getFontClass("search"),iconColor:"#8dc3e3",title:u.default.project.state.search_title||"search",service:Object.assign(new c.default,{state:{searches:(u.default.project.state.search||[]).sort(function(e,t){return(""+e.name).localeCompare(t.name)}),tools:[],querybuildersearches:(e=u.default.querybuilder.searches,t=u.default.project.getId(),e[t]=e[t]||[],e[t])},title:u.default.project.state.search_title||"search",addTool:function(e){this.state.tools.push(e)},addTools:function(e){var t=!0,a=!1,i=void 0;try{for(var n,r=e[Symbol.iterator]();!(t=(n=r.next()).done);t=!0){var o=n.value;this.addTool(o)}}catch(e){a=!0,i=e}finally{try{!t&&r.return&&r.return()}finally{if(a)throw i}}},showPanel:function(e){return new(o("components/g3w-search").SearchPanel)(e,!0)},getTitle:function(){return this.title},removeTools:function(){this.state.tools.splice(0)},stop:function(e){return(0,V.$promisify)(Promise.resolve(e))},removeTool:function(){}}),actions:[{id:"querybuilder",class:f.default.getFontClass("calculator")+" sidebar-button sidebar-button-icon",tooltip:C("sdk.querybuilder.title"),fnc:function(){return f.default.closeContent(),f.default.closeSideBar(),new a.default({title:C("sdk.querybuilder.title"),show:!0,vueComponentObject:o("components/QueryBuilder.vue")})},style:{color:"#8DC3E3",padding:"6px",fontSize:"1.2em",borderRadius:"3px",marginRight:"5px"}}],vueComponentObject:o("components/Search.vue")}),new function(){var e,n={id:"tools",icon:f.default.getFontClass("tools"),iconColor:"#FFE721",toolsGroups:[],visible:!1,loading:!1},a=new c.default({setters:{addTool:function(e,t){var a=t.title,t=t.position,i=n.toolsGroups.find(function(e){return e.name===a});return i||n.toolsGroups.splice(t,0,i={name:a,tools:[]}),i.tools.push(Object.assign(e,{state:e.state||{type:null,message:null},action:e.action||(P[e.type]||U.noop).bind(null,e.options)}))},addToolGroup:function(e,t){var a=n.toolsGroups.find(function(e){return e.name===t});return a||n.toolsGroups.splice(e,0,a={name:t,tools:[]}),a},addTools:function(e,t){var a=this;e.forEach(function(e){return a.addTool(e,t)})},removeToolGroup:function(t){n.toolsGroups=n.toolsGroups.filter(function(e){return e.name!==t})},removeTools:function(){n.toolsGroups.splice(0)}}}),i=(a.state=n,a.config=null,a.getState=function(){return n},a.reload=function(){a.removeTools()},a.setLoading=function(){n.loading=0{a.addToolGroup(0,t.toUpperCase()),a.addTools(i[t].map(function(e){return{name:e.name,action:P[t].bind(null,e)}}),{position:0,title:t.toUpperCase()})})(e);var t,r=new d.default({id:"tools",icon:f.default.getFontClass("tools"),iconColor:"#FFE721",title:"tools",service:a,internalComponent:new(Vue.extend({template:'\n
    \n \n
  • \n
    {{ g.name }}
    \n
    \n
  • \n
',components:{G3wTool:o("components/Tool.vue")},data:function(){return{state:null}},watch:{"state.toolsGroups":(t=L(function*(e){r.setVisible(0'}}),{parent:null,contentsdata:u.default.contentsdata,getComponentById:function(t){return(u.default.contentsdata.find(function(e){return t==e.content.id})||{}).content}})}),this.$watch(function(){return u.default.language},M)},mounted:(e=L(function*(){yield this.$nextTick(),O.sidebar.forEach(function(e){isMobile.any&&!1===e.mobile||(u.default.sidebar.components.push(e),new(Vue.extend(o("components/SidebarItem.vue")))({component:e}).$mount())}),O.sidebar.forEach(function(e){return f.default.addComponent(e)}),f.default.addComponent(O.queryresults),$(document).localize(),O.map.mount("#g3w-view-map",!0),O.content.mount("#g3w-view-content",!0),f.default.addComponent(O.map),f.default.addComponent(O.content),yield this.$nextTick(),u.default.sizes.sidebar.width=$(".main-sidebar").width(),f.default.ready();try{var e,t=u.default.project.getGid(),a={},i=(Object.entries(window.initConfig.plugins).filter(function(e){return s(e,2)[1].gid===t}).forEach(function(e){var e=s(e,2),t=e[0];return a[t]=e[1]}),Object.assign(u.default.pluginsConfigs,a),Object.keys(u.default.pluginsConfigs).forEach(function(e){return u.default.configurationPlugins.push(e)}),Object.keys(u.default.pluginsConfigs).forEach(function(e){return u.default.plugins.push(e)}),u.default.project.getState()||{});for(e in i&&i.law&&i.law.length?(u.default.pluginsConfigs.law=i.law,u.default.pluginsConfigs.law.gid=i.gid):delete u.default.pluginsConfigs.law,u.default.pluginsConfigs)Object.entries(u.default.pluginsConfigs[e].plugins||{}).forEach(function(e){var e=s(e,2),t=e[0];return u.default.pluginsConfigs[t]=r({},u.default.pluginsConfigs[t],e[1])});yield Promise.allSettled(Object.entries(u.default.pluginsConfigs).map((n=L(function*(e){var e=s(e,2),t=e[0],e=e[1];if(e){e.baseUrl=window.initConfig.urls.staticurl;try{yield Promise.all((e.jsscripts||[]).map(I)),yield I(""+window.initConfig.urls.staticurl+t+"/js/plugin.js?"+Date.now())}catch(e){return u.default.plugins=u.default.plugins.filter(function(e){return t!==e}),Promise.reject()}}}),function(e){return n.apply(this,arguments)})))}catch(e){}var n;p.default.complete=!0,p.default.emit("complete")}),function(){return e.apply(this,arguments)})})}).catch(function(e){e&&(e.responseJSON&&e.responseJSON.error.data?e=e.responseJSON.error.data:e.statusText&&(e=e.statusText)),$("#startingspinner").remove(),new Vue(r({el:"#app"},Vue.compile('
\n \n \n
")))})},{"./deprecated":114,"./g3w-globals":128,"components/App.vue":36,"components/Catalog.vue":37,"components/GlobalBarLoader.vue":54,"components/GlobalDateTime.vue":55,"components/GlobalDivider.vue":56,"components/GlobalHelpDiv.vue":57,"components/GlobalProgressBar.vue":58,"components/GlobalRange.vue":59,"components/GlobalTabs.vue":60,"components/Map.vue":81,"components/Print.vue":88,"components/QueryBuilder.vue":91,"components/QueryResults.vue":92,"components/Search.vue":105,"components/SidebarItem.vue":107,"components/SpatialBookMarks.vue":108,"components/Tool.vue":110,"components/g3w-search":113,"directives/v-checked":116,"directives/v-disabled":117,"directives/v-download":118,"directives/v-select2":119,"directives/v-t":124,"directives/v-t-html":120,"directives/v-t-plugin":121,"directives/v-t-title":122,"directives/v-t-tooltip":123,"g3w-component":125,"g3w-constants":126,"g3w-i18n":129,"g3w-object":130,"g3w-panel":131,locales:138,"services/application":171,"services/gui":173,"services/iframe":174,"services/map":175,"services/queryresults":176,"store/application":178,"utils/XHR":181,"utils/getProject":212,"utils/noop":227,"utils/promisify":232}],134:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Verbindungsfehler",at_moment:"Karte anzeigen ist im Moment nicht möglich",f5:"Drücken Sie Strg+F5"},cookie_law:{message:"Diese Website verwendet Cookies, um Ihnen die bestmögliche Erfahrung auf unserer Website zu bieten.",buttonText:"Verstanden!"},default:"default",sign_in:"Anmelden",layer_selection_filter:{tools:{filter:"Filter aktivieren/deaktivieren",nofilter:"Filter entfernen",invert:"Auswahl umkehren",clear:"Auswahl löschen",show_features_on_map:"Aktualisieren Sie die Ergebnisse beim Verschieben der Karte",savefilter:"Filter speichern",filterName:"Filtername"}},warning:{not_supported_format:"Nicht unterstütztes Format"},layer_position:{top:"OBEN",bottom:"UNTEN",message:"Position relativ zu den Layern im TOC"},sdk:{atlas:{template_dialog:{title:"Template auswählen"}},spatialbookmarks:{title:"Räumliche Lesezeichen",helptext:"Bewegen Sie sich auf der Kartenausdehnung, fügen Sie den Namen ein und klicken Sie auf Hinzufügen",input:{name:"Name"},sections:{project:{title:"Projekt-Lesezeichen"},user:{title:"Benutzer-Lesezeichen"}}},search:{all:"ALLE",no_results:"Keine Ergebnisse",searching:"Suchen ...",error_loading:"Fehler beim Datenladen",layer_not_searchable:"Layer ist nicht durchsuchbar",layer_not_querable:"Layer ist nicht abfragbar",autocomplete:{inputshort:{pre:"Bitte",post:"oder mehrere Zeichen eingeben"}},help_filter:"Suchwerte werden basierend auf dem aktiven Filter begrenzt. Entfernen Sie den Filter, um nach allen Daten zu suchen.",autofilter:"Filtern Sie die Ergebnisse"},print:{no_layers:"Kein Layer zu drucken",template:"Template",labels:"Labels",scale:"Skala",format:"Format",rotation:"Drehung",download_image:"Bild herunterladen",fids_instruction:"Akzeptierte Werte: von 1 bis [max]. Es ist möglich, ein Intervall einzugeben, z. B. 4-6",fids_example:"Bsp. 1,4-6 druckt id 1,4,5,6",help:"Die im Druck angezeigten Layer können die im Projekt definierten sein und nicht die auf der Karte angezeigten"},querybuilder:{search:{run:"Ausführen",info:"Information",delete:"Löschen",edit:"Bearbeiten"},messages:{changed:"Gespeichert",number_of_features:"Anzahl der Features"},panel:{button:{all:"ALLE",save:"SPEICHERN",test:"TEST",clear:"LÖSCHEN",run:"AUSFÜHREN",manual:"MANUELL"},layers:"LAYERS",fields:"FELDER",values:"WERTE",operators:"OPERATOREN",expression:"AUSDRUCK"},error_run:"Es ist ein Fehler aufgetreten. Bitte überprüfen Sie die Abfrage",error_test:"Während der Ausführung der Abfrage ist ein Fehler aufgetreten",delete:"Soll es gelöscht werden?",additem:"Geben Sie den Namen der neuen Suche ein"},errors:{layers:{load:"Einige Layer sind nicht verfügbar"},unsupported_format:"Nicht unterstütztes Format",add_external_layer:"Fehler im Ladevorgang des Layers"},metadata:{title:"Metadaten",groups:{general:{title:"ALLGEMEIN",fields:{title:"TITEL",name:"NAME",description:"BESCHREIBUNG",abstract:"ABASTRACT",keywords:"SCHLÜSSELWÖRTER",fees:"GEBÜHREN",accessconstraints:"ZUGRIFFSBESCHRÄNKUNG",contactinformation:"KONTAKTE",subfields:{contactinformation:{contactelectronicmailaddress:"Email",personprimary:"Referenzen",contactvoicetelephone:"Telefon",contactorganization:"Firma",ContactOrganization:"Firma",contactposition:"Position",ContactPosition:"Position",contactperson:"Person",ContactPerson:"Person"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"LAYERS",fields:{layers:"LAYERS",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITEL",name:"NAME",geometrytype:"GEOMETRIE",source:"QUELLE",attributes:"ATTRIBUTE",abstract:"ABSTRACT",attribution:"ATRIBUTION",keywords:"SCHLÜSSELWÖRTER",metadataurl:"METADATEN URL",dataurl:"DATEN URL"}},groups:{general:"ALLGEMEIN",spatial:"SPATIAL"}}}},tooltips:{relations:{form_to_row:"Zeilenansicht",row_to_form:"Formularansicht",zoomtogeometry:"Auf Geometrie zoomen"},copy_map_extent_url:"Link zur Kartenansicht kopieren",download_shapefile:"Shapefile herunterladen",download_gpx:"DGPX herunterladen",download_gpkg:"GPKG herunterladen",download_csv:"CSV herunterladen",download_xls:"XLS herunterladen",download_pdf:"PDF herunterladen",show_chart:"Diagramm anzeigen",atlas:"Atlas drucken",editing:"Editing"},mapcontrols:{query:{tooltip:"Query layer",actions:{add_selection:{hint:"Auswahl hinzufügen/entfernen"},zoom_to_features_extent:{hint:"Zoom auf Feature-Ausdehnung"},add_features_to_results:{hint:"Hinzufügen/Entfernen von Features zu den Ergebnissen"},remove_feature_from_results:{hint:"Feature aus den Ergebnissen entfernen"},zoom_to_feature:{hint:"Zum Feature zoomen"},relations:{hint:"Relationen anzeigen"},relations_charts:{hint:"Relationship-Diagramm anzeigen"},download_features_shapefile:{hint:"Features Shapefile herunterladen"},download_shapefile:{hint:"Feature Shapefile herunterladen"},download_features_gpx:{hint:"Feature GPX herunterladen"},download_features_gpkg:{hint:"Feature GPKG herunterladen"},download_gpx:{hint:"Feature GPX herunterladen"},download_gpkg:{hint:"Feature GPKG herunterladen"},download_features_csv:{hint:"Features CSV herunterladen"},download_csv:{hint:"Feature CSV herunterladen"},download_features_xls:{hint:"Features XLS herunterladen"},download_xls:{hint:"Feature XLS herunterladen"},download_pdf:{hint:"Feature PDF herunterladen"},atlas:{hint:"Atlas drucken"},copy_zoom_to_fid_url:{hint:"Kopieren der Karten-URL mit dieser Geometrie-Feature-Erweiterung",hint_change:"Kopiert"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attribute herunterladen",choiches:{feature:{label:"Nur Features"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Query nach Polygon",no_geometry:"Keine Geometrie in der Antwort",help:{message:"
  • Wählen Sie einen Polygon Layer auf TOC.
  • Stellen Sie sicher, dass der Layer sichtbar ist.
  • Klicken Sie auf ein Feature des ausgewählten Layers.
"}},querybydrawpolygon:{tooltip:"Abfrage durch Polygon zeichnen"},querybbox:{tooltip:"BBox Layer abfragen",nolayers_visible:"Es sind keine abfragbaren Layer sichtbar. Bitte setzen Sie mindestens einen sichtbaren wfs Layer, um die Abfrage zu starten",help:{message:"
  • Ein Quadrat auf der Karte ziehen, um unterstrichene Layer im TOC abzufragen
"}},addlayer:{messages:{csv:{warning:"Das Ergebnis in der Karte ist unvollständig, da die unten stehende Liste fehlerhafter Einträge enthält:"}},tooltip:"Layer hinzufügen"},geolocation:{tooltip:"Geolokalisierung"},measures:{length:{tooltip:"Länge",help:"Klicken Sie auf die Karte, um die Linie zu zeichnen. Drücken Sie
CANC, wenn Sie den letzten Eckpunkt löschen möchten."},area:{tooltip:"Fläche",help:"Drücken Sie
CANC, wenn Sie den letzten Eckpunkt löschen wollen."}},scale:{no_valid_scale:"Ungültige Skala"},scaleline:{units:{metric:"Meter",nautical:"Nautische Meile"}},zoomhistory:{zoom_last:"Zoom Vorheriger",zoom_next:"Zoom Nächster"}},relations:{relation_data:"Daten zur Relation",no_relations_found:"Keine Relationen gefunden",back_to_relations:"Zurück zu den Relationen",list_of_relations_feature:"Liste der Relationen des Features",error_missing_father_field:"Ein Feld fehlt",field:"Relation key field"},form:{loading:"Laden ...",inputs:{messages:{errors:{picklayer:"Kein Feature ausgewählt. Prüfen, ob der Layer in Bearbeitung oder im aktuellen Maßstab sichtbar ist"}},tooltips:{picklayer:"Wert aus dem Layer abrufen",lonlat:"Zum Abrufen der Koordinaten auf die Karte klicken"},input_validation_mutually_exclusive:"Feld schließt sich gegenseitig aus mit ",input_validation_error:"Obligatorisches Feld oder falscher Datentyp",input_validation_error_type:"Falscher Datentyp",input_validation_min_field:"Der Wert muss größer/gleich sein als der Feldwert ",input_validation_max_field:"Der Wert muss kleiner/gleich sein als der Feldwert ",input_validation_exclude_values:"Wert muss einmalig sein",integer:"integer",bigint:"integer",text:"text",varchar:"text",textarea:"text",string:"string",date:"date",datetime:"date",float:"float",table:"table"},footer:{required_fields:"Erforderliche Felder"},messages:{qgis_input_widget_relation:"Spezifisches Relations-Formular verwenden, um mit Relationen zu arbeiten"}},catalog:{current_map_theme_prefix:"THEMA",choose_map_theme:"THEMA AUSWÄHLEN",choose_map_theme_input_label:"Name des neuen Themes",project_map_theme:"Projekt Themes",user_map_theme:"Benutzer Themes",question_delete_map_theme:"Möchten Sie das Thema löschen??",delete_map_theme:"Theme erfolgreich gelöscht",saved_map_theme:"Thema erfolgreich gespeichert",updated_map_theme:"Thema aktualisieren gespeichert",invalid_map_theme_name:"Der Name ist bereits vorhanden oder falsch",menu:{layerposition:"Position der Ebenen",setwmsopacity:"Opazität einstellen",wms:{title:"",copy:"Klicken Sie hier, um die Url zu kopieren",copied:"Kopiert"},download:{unknow:"Herunterladen",shp:"Shapefile herunterladen",gpx:"GPX herunterladen",gpkg:"GPKG herunterladen",csv:"CSV herunterladen",xls:"XLS herunterladen",geotiff:"GEOTIFF herunterladen",geotiff_map_extent:"GEOTIFF herunterladen (aktueller Ansichtsumfang)"}}},wps:{list_process:"Liste der Prozesse",tooltip:"Karte anklicken"}},credits:{g3wSuiteFramework:"Applikation basiert auf OS-Framework",g3wSuiteDescription:"Veröffentlichen und verwalten Sie Ihre QGIS-Projekte im Internet",productOf:"Framework entwickelt von"},toggle_color_scheme:"Farbschema umschalten",logout:"Logout",no_other_projects:"Kein weiteres Projekt für diese Gruppe",no_other_groups:"Keine weiteren Gruppen für diese Makrogruppe",yes:"Ja",no:"No",back:"Zurück",backto:"Zurück zu ",changemap:"Karte ändern",change_session:"Sitzung ändern",component:"Allgemeine Komponente",search:"Suche",no_results:"Keine Ergebnisse gefunden",print:"Drucken",create_print:"Drucken erstellen",dosearch:"Suche",catalog:"Karte",data:"Daten",externalwms:"WMS",baselayers:"Base",tools:"Tools",tree:"Layers",legend:"Legende",nobaselayer:"Keine Basemap",street_search:"Adresse finden",show:"Anzeigen",hide:"Ausblenden",copy_form_data:"Daten kopieren",paste_form_data:"Einfügen",copy_form_data_from_feature:"Daten von der Karte kopieren",error_map_loading:"Fehler beim Laden der Karte",check_internet_connection_or_server_admin:"Internetverbindung prüfen oder Admin kontaktieren",could_not_load_vector_layers:"Verbindungsfehler: Layers können geladen werden",server_saver_error:"Fehler beim Speichern auf dem Server",server_error:"Server-Verbindungsfehler",save:"Speichern",cancel:"Abbrechen",update:"Aktualisieren",close:"Schließen",dont_show_again:"Diese Meldung nicht mehr anzeigen",enlange_reduce:"Vergrößern / Verkleinern",add:"Hinzufügen",exitnosave:"Beenden ohne Speichern",annul:"Abbrechen",layer_is_added:"Layer mit gleichem Namen bereits hinzugefügt",sidebar:{wms:{panel:{title:"WMS Layer hinzufügen",label:{position:"Kartenposition",name:"Name",projections:"Projektion",layers:"Layers"}},add_wms_layer:"WMS Layer hinzufügen",delete_wms_url:"WMS Url löschen",layer_id_already_added:"WMS Layer bereits hinzugefügt",url_already_added:"WMS URL/Name bereits hinzugefügt",layer_add_error:"WMS Layer nicht hinzugefügt. Bitte überprüfen Sie alle WMS-Parameter oder Url"}},info:{title:"Ergebnisse",list_of_relations:"List of Relations",open_link:"Beigefügtes Dokument öffnen",server_error:"Auf dem Server ist ein Fehler aufgetreten",no_results:"Keine Ergebnisse für diese Anfrage/Suche gefunden",link_button:"Öffnen"},mapcontrols:{geolocation:{error:"Position kann nicht bestimmt werden"},geocoding:{choose_layer:"Wählen Sie eine Ebene aus, auf der Sie diese Funktion hinzufügen möchten",placeholder:"Addresse ...",nolayers:"Für dieses Projekt wurden keine bearbeitbaren Punktebenen gefunden",noresults:"Keine Ergebnisse",notresponseserver:"Keine Antwort vom Server"},add_layer_control:{header:"Layer hinzufügen",select_projection:"Layer Projektion auswählen",select_field_to_show:"Feld auswählen, das auf der Karte angezeigt werden soll",select_csv_separator:"Begrenzer auswählen",select_csv_x_field:"X-Feld auswählen",select_csv_y_field:"Y-Feld auswählen",select_color:"Layer Farbe auswählen",drag_layer:"Layer hierher ziehen und ablegen"},query:{input_relation:"Klicken, um Relationen anzuzeigen"},length:{tooltip:"Länge"},area:{tooltip:"Area"},screenshot:{error:"Screenshot Fehlererstellung",securityError:' \n

Sicherheitsfehler: Eine externe Ebene verhindert, dass die Karte gedruckt wird. Gehen Sie zur Überprüfung wie folgt vor:

\n
    \n
  1. Entfernen Sie alle manuell hinzugefügten externen Ebenen (z. B. WMS-Ebenen)
  2. \n
  3. Neuladen der Seite erzwingen: STRG + F5
  4. \n
  5. Drucken Sie die Karte erneut
  6. \n
\n

Für weitere Informationen wenden Sie sich bitte an den Serveradministrator zu: ℹ️ Sicherheit und befleckte Leinwände

\n '}},catalog_items:{helptext:"Klicken Sie mit der rechten Maustaste auf einen einzelnen Layer, um auf zusätzliche Funktionen zuzugreifen",contextmenu:{zoomtolayer:"Zoom auf Layer",open_attribute_table:"Attributtabelle öffnen",show_metadata:"Metadaten",styles:"Stile",vector_color_menu:"Farbe einstellen/ändern",layer_opacity:"Opazität",filters:"Filters"}},dataTable:{previous:"Vorherige",next:"Weiter",lengthMenu:"Zeigen Sie _MENU_ Werte pro Seite an",info:"_TOTAL_ Ergebnissen",no_data:"Keine Daten",nodatafilterd:"Keine passenden Datensätze gefunden",infoFiltered:"(gefiltert aus _MAX_ Gesamtsätzen)"}}}},{}],135:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Connection error",at_moment:"At the moment is not possible show map",f5:"Press Ctrl+F5"},cookie_law:{message:"This website uses cookies to ensure you get the best experience on our website.",buttonText:"Got It!"},default:"default",sign_in:"Sign in",layer_selection_filter:{tools:{filter:"Enable/Disable filter",nofilter:"Remove Filter",invert:"Invert Selection",clear:"Clear Selection",show_features_on_map:"Update results when map moves",savefilter:"Save Filter",filterName:"Filter Name"}},warning:{not_supported_format:"Not supported format"},layer_position:{top:"top",bottom:"bottom",message:"Position"},sdk:{atlas:{template_dialog:{title:"Select Template"}},spatialbookmarks:{title:"Bookmarks",helptext:"Move on map extent, insert name and click Add",input:{name:"Name"},sections:{project:{title:"Project Bookmarks"},user:{title:"User Bookmarks"}}},search:{all:"ALL",no_results:"No results",searching:"Searching ...",error_loading:"Error Loading Data",layer_not_searchable:"Layer is not searchable",layer_not_querable:"Layer is not querable",autocomplete:{inputshort:{pre:"Please enter",post:"or more characters"}},help_filter:"Search values are limited based on the active filter. Remove the filter to search all data.",autofilter:"Filter results"},print:{no_layers:"No Layer to print",template:"Template",labels:"Labels",scale:"Scale",format:"Format",rotation:"Rotation",download_image:"Download Image",fids_instruction:"Values accepted: from 1 to value of [max]. Is possible to insert a range ex. 4-6",fids_example:"Ex. 1,4-6 will be printed id 1,4,5,6",help:"Exported layers are defined by the administrator"},querybuilder:{title:"Advanced search",search:{run:"Run",info:"Information",delete:"Delete",edit:"Edit"},messages:{changed:"Saved",number_of_features:"Features found:"},panel:{button:{all:"SEARCH A VALUE",save:"SAVE",test:"TEST",clear:"CLEAR",run:"RUN",manual:"MANUAL"},layers:"LAYERS",fields:"FIELDS",values:"VALUES",operators:"OPERATORS",expression:"EXPRESSION"},error_run:"An error occurs. Please check the query",error_test:"An error occur during query execution",delete:"Do you want delete it?",additem:"Insert the name of the new search"},errors:{layers:{load:"Some layers are not available"},unsupported_format:"Not supported format",add_external_layer:"Load layer error"},metadata:{title:"Metadata",groups:{general:{title:"GENERAL",fields:{title:"TITLE",name:"NAME",description:"DESCRIPTION",abstract:"ABSTRACT",keywords:"KEYWORDS",fees:"FEES",accessconstraints:"ACCESS CONSTRAINT",contactinformation:"CONTACTS",subfields:{contactinformation:{contactelectronicmailaddress:"Email",personprimary:"References",contactvoicetelephone:"Phone",contactorganization:"Organization",ContactOrganization:"Organization",contactposition:"Position",ContactPosition:"Position",contactperson:"Person",ContactPerson:"Person"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"LAYERS",fields:{layers:"LAYERS",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITLE",name:"NAME",geometrytype:"GEOMETRY",source:"SOURCE",attributes:"ATTRIBUTES",abstract:"ABSTRACT",attribution:"ATTRIBUTION",keywords:"PAROLE CHIAVE",metadataurl:"METADATA URL",dataurl:"DATA URL"}},groups:{general:"GENERAL",spatial:"SPATIAL"}},credits:{title:"Credits"}}},tooltips:{relations:{form_to_row:"Row View",row_to_form:"Form View",zoomtogeometry:"Zoom to Geometry"},copy_map_extent_url:"Copy share URL",download_shapefile:"Download Shapefile",download_gpx:"Download GPX",download_gpkg:"Download GPKG",download_csv:"Download CSV",download_xls:"Download XLS",download_pdf:"Download PDF",show_chart:"Show Chart",atlas:"Print Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Query layer",actions:{add_selection:{hint:"Add/Remove Selection"},zoom_to_features_extent:{hint:"Zoom to features extent"},add_features_to_results:{hint:"Add/Remove features to results"},remove_feature_from_results:{hint:"Remove feature from results"},zoom_to_feature:{hint:"Zoom to feature"},relations:{hint:"Show Relations"},relations_charts:{hint:"Show relations chart"},download_features_shapefile:{hint:"Download features Shapefile"},download_shapefile:{hint:"Download feature Shapefile"},download_features_gpx:{hint:"Download feature GPX"},download_features_gpkg:{hint:"Download features GPKG"},download_gpx:{hint:"Download feature GPX"},download_gpkg:{hint:"Download feature GPKG"},download_features_csv:{hint:"Download features CSV"},download_csv:{hint:"Download feature CSV"},download_features_xls:{hint:"Download features XLS"},download_xls:{hint:"Download feature XLS"},download_pdf:{hint:"Download feature PDF"},atlas:{hint:"Print Atlas"},copy_zoom_to_fid_url:{hint:"Share via link",hint_change:"Copied"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attributes download",choiches:{feature:{label:"Features only"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Query By Polygon",no_geometry:"No geometry on response",help:{message:"
  • Select a (visible) layer.
  • Click on a geometry within map.
"}},querybydrawpolygon:{tooltip:"Query by Draw Polygon ",help:{message:"
  • Click on map to add a new vertex
  • Double click to finish and query layers (underlined in yellow in legend)
"}},querybbox:{tooltip:"Query BBox layer",nolayers_visible:"No querable layers are visible. Please set at least one visible wfs layer to run query",help:{message:"
  • Drag the mouse to draw a rectangle and query layers (underlined in yellow in legend)
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"The result in the map is partial due to the presence of the below incorrect records list:"}},tooltip:"Add Layer"},geolocation:{tooltip:"Geolocation"},measures:{title:"Measure",length:{tooltip:"Length",help:"Click on map to draw the line. Press
CANC if you want delete last vertex"},area:{tooltip:"Area",help:"Click to draw poligon.Press
CANC if you want delete last vertex"}},screenshot:{title:"Screen capture",screenshot:"PNG",geoscreenshot:"GeoTIFF",download:"Generate"},scale:{no_valid_scale:"Invalid Scale"},scaleline:{units:{metric:"Meters",nautical:"Nautical Mile"}},zoomhistory:{zoom_last:"Zoom Last",zoom_next:"Zoom Next"}},relations:{relation_data:"Relation data",no_relations_found:"No relations found",back_to_relations:"Back to relations",list_of_relations_feature:"List of relations of feature",error_missing_father_field:"Field is missing",field:"Relation key field"},form:{loading:"Loading ...",inputs:{messages:{errors:{picklayer:"No feature selected. Check if layer is on editing or visible at current scale"}},tooltips:{picklayer:"Get value from ma layer",lonlat:"Click on map to get coordinates"},input_validation_mutually_exclusive:"Field mutually exclusive with ",input_validation_error:"Mandatory Field or wrong data type",input_validation_error_type:"Wrong data type",input_validation_min_field:"Value has to be more/equal to field value ",input_validation_max_field:"Value has to be less/equal to field value ",input_validation_exclude_values:"Value has to be unique",integer:"integer",bigint:"integer",text:"text",varchar:"text",textarea:"text",string:"string",date:"date",datetime:"date",float:"float",table:"table"},footer:{required_fields:"Required fields"},messages:{qgis_input_widget_relation:"Use relation specific form to work with relation"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"CHOOSE THEME",choose_map_theme_input_label:"Name of new map theme",project_map_theme:"Project Themes",user_map_theme:"User Themes",question_delete_map_theme:"Do you want delete the theme?",delete_map_theme:"Theme deleted successfully",saved_map_theme:"Theme saved successfully",updated_map_theme:"Theme updated successfully",invalid_map_theme_name:"Invalid or exiting name",menu:{layerposition:"Layer Position",setwmsopacity:"Set Opacity",wms:{title:"",copy:"Click here to copy url",copied:"Copied"},download:{unknow:"Download",geotiff_map_extent:"GeoTiff (current view)"}}},wps:{list_process:"List of process",tooltip:"Click on map"}},credits:{g3wSuiteFramework:"Application based on OS framework",g3wSuiteDescription:"Publish and manage your QGIS projects on the web",productOf:"Framework developed by"},toggle_color_scheme:"Toggle color scheme",logout:"Logout",no_other_projects:"No more project for this group",no_other_groups:"No more groups for this Macrogroup",yes:"Yes",no:"No",back:"Back",backto:"Back to ",changemap:"Change map",change_session:"Change Session",component:"Generic Component",search:"Search",no_results:"No results found",print:"Print",create_print:"Create Print",dosearch:"Search",catalog:"Map",data:"Data",externalwms:"WMS",baselayers:"Base",tools:"Tools",tree:"Layers",legend:"Legend",nobaselayer:"No basemap",street_search:"Find Address",show:"Show",hide:"Hide",copy_form_data:"Copy data",paste_form_data:"Paste",copy_form_data_from_feature:"Copy data from map",error_map_loading:"Error occurs loading map",check_internet_connection_or_server_admin:"Check internet connection or contact admin",could_not_load_vector_layers:"Connection error: Layers can be loaded",server_saver_error:"Error in server saving",server_error:"Server connection error",save:"Save",cancel:"Cancel",update:"Update",close:"Close",dont_show_again:"Don't show again",enlange_reduce:"Enlarge / Reduce",add:"Add",exitnosave:"Exit without save",annul:"Cancel",layer_is_added:"Layer with same name already added",sidebar:{wms:{panel:{title:"Add WMS Layer",label:{position:"Map Position",name:"Name",projections:"Projection",layers:"Layers"}},add_wms_layer:"Add WMS layer",delete_wms_url:"Remove",layer_id_already_added:"A WMS connection with this name already exists",url_already_added:"WMS URL/Name already added",layer_add_error:"WMS Layer not added. Please check all wms parameter or url"}},info:{title:"Results",list_of_relations:"List of Relations",open_link:"Open attached document",server_error:"An error occurred from server",no_results:"No results found for this query/search",link_button:"Open"},mapcontrols:{geolocation:{error:"Can't get your position"},geocoding:{choose_layer:"Choose a layer where to add this feature",placeholder:"Address ...",nolayers:"No editable point layers found on this project",noresults:"No results",notresponseserver:"No response from server"},add_layer_control:{header:"Add Layer",select_projection:"Projection",select_field_to_show:"field shown on map",select_csv_separator:"Delimiter",select_csv_x_field:"X field",select_csv_y_field:"Y field",select_color:"Layer Color",drag_layer:"Add your file here",persistent_data:"Persistent data",persistent_help:"save layer into browser storage"},query:{input_relation:"Click to show relations"},length:{tooltip:"Length"},area:{tooltip:"Area"},screenshot:{error:"Screenshot error creation",securityError:' \n

Security Error: an external layer is preventing map from being printed. To check, proceed as follows:

\n
    \n
  1. remove any manually added external layers (eg. WMS layers)
  2. \n
  3. force page reload: CTRL + F5
  4. \n
  5. print again the map
  6. \n
\n

For more info please contact server administrator about: ℹ️ security and tainted canvases

\n '}},catalog_items:{helptext:"Open menu",contextmenu:{zoomtolayer:"Zoom to Layer",open_attribute_table:"Open Attribute Table",show_metadata:"Metadata",styles:"Style",vector_color_menu:"Color",layer_opacity:"Opacity",filters:"Filters",download:"Save as",ogc_services:"OGC Services",edit:"Edit Layer"}},dataTable:{previous:"Previous",next:"Next",lengthMenu:"Show _MENU_ values per page",info:"_TOTAL_ entries",no_data:"No data",nodatafilterd:"No matching records found",infoFiltered:"(filtered from _MAX_ total records)"},no_geometry:"This item has no geometry",query_filter:"Filter by:",sidebar_menu:"Sidebar menu",layer_type:"Layer type",choose_type:"Choose type",remote_wms_url:"WMS (URL)",local_file:"Local file",embed_map:"Embed map",homepage:"Home",wms_server:"WMS Server",connect_to_wms:"Connect",disconnect_from_wms:"Disconnect",add_new_wms_url_help:"Search through saved connections or add a new server",label:"Label",no_csv_field:"No valid fields"}}},{}],136:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Yhteysvirhe",at_moment:"Tällä hetkellä ei ole mahdollista näyttää karttaa",f5:"Paina Ctrl+F5"},cookie_law:{message:"This website uses cookies to ensure you get the best experience on our website.",buttonText:"Got It!"},default:"oletuksena",sign_in:"Kirjaudu sisään",layer_selection_filter:{tools:{filter:"Ota suodatin käyttöön/poista käytöstä",nofilter:"Poista Suodattaa",invert:"Käänteinen Valinta",clear:"Peruuttaa Valinta",show_features_on_map:"Päivitä tulokset karttaa siirtäessäsi",savefilter:"Tallenna suodatin",filterName:"Suodattimen Nimi"}},warning:{not_supported_format:"Not supported format"},layer_position:{top:"TOP",bottom:"BOTTOM",message:"Position relative to layers on TOC"},sdk:{atlas:{template_dialog:{title:"Valitse Template"}},spatialbookmarks:{title:"Tilalliset kirjanmerkit",helptext:"Siirry kartan laajuuteen, lisää nimi ja napsauta Lisää",input:{name:"Nimi"},sections:{project:{title:"Projektin kirjanmerkit"},user:{title:"Käyttäjän kirjanmerkit"}}},search:{all:"KAIKKI",no_results:"Ei tuloksia",searching:"Haetaan ...",error_loading:"Virhe ladattaessa tietoja.",layer_not_searchable:"Taso ei ole haettavissa.",layer_not_querable:"Tasolle ei voi suorittaa kyselyitä.",autocomplete:{inputshort:{pre:"Syötä",post:"tai useampi merkki"}},help_filter:"Hakuarvot ovat rajoitettuja aktiivisen suodattimen perusteella. Poista suodatin etsiäksesi kaikista tiedoista.",autofilter:"Suodata tulokset"},print:{no_layers:"Ei tulostettavia tasoja",template:"Template",labels:"Labels",scale:"Mittakaava",format:"Formaatti",rotation:"Kierto",download_image:"Lataa kuva",fids_instruction:"Hyväksytyt arvot: yhdestä arvoon [max]. Salittua syöttää myös väli, esim. 4-6.",fids_example:"Esimerkiksi 1,4-6 tulostuu id 1,4,5,6.",help:"Tulosteessa esiintyvät tasot voivat olla projektissa määriteltyjä ei kartalla esiintyviä."},querybuilder:{search:{run:"Suorita",info:"Informaatio",delete:"Poista",edit:"Muokkaa"},messages:{changed:"Tallennettu",number_of_features:"Ominaisuuksien lukumäärä"},panel:{button:{all:"KAIKKI",save:"TALLENNA",test:"TESTI",clear:"TYHJENNÄ",run:"SUORITA",manual:"MANUAALINEN"},layers:"TASOT",fields:"KENTÄT",values:"ARVOT",operators:"OPERAATTORIT",expression:"LAUSEKE"},error_run:"Tapahtui virhe. Tarkista kysely.",error_test:"Kyselyä suorittaessa tapahtui virhe.",delete:"Haluatko poistaa sen?",additem:"Anna nimi uudelle haulle."},errors:{layers:{load:"Jotkin tasot eivät ole saatavilla."},unsupported_format:"Ei tuettu formaatti",add_external_layer:"Tason latausvirhe"},metadata:{title:"Metatiedot",groups:{general:{title:"YLEINEN",fields:{title:"OTSIKKO",name:"NIMI",description:"KUVAUS",abstract:"TIIVISTELMÄ",keywords:"AVAINSANAT",fees:"MAKSUT",accessconstraints:"PÄÄSYRAJOITUKSET",contactinformation:"YHTEYSTIEDOT",subfields:{contactinformation:{contactelectronicmailaddress:"Sähköposti",personprimary:"Viitteet",contactvoicetelephone:"Puhelin",contactorganization:"Organisaatio",ContactOrganization:"Organisaatio",contactposition:"Asema",ContactPosition:"Asema",contactperson:"Yhteyshenkilö",ContactPerson:"Yhteyshenkilö"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"TASOT",fields:{layers:"TASOT",subfields:{crs:"EPSG",bbox:"BBOX",title:"OTSIKKO",name:"NIMI",geometrytype:"GEOMETRIA",source:"LÄHDE",attributes:"ATTRIBUUTIT",abstract:"TIIVISTELMÄ",attribution:"ATTRIBUUTIO",keywords:"AVAINSANAT",metadataurl:"METATIEDON URL",dataurl:"DATA URL"}},groups:{general:"YLEINEN",spatial:"SPATIAL"}}}},tooltips:{relations:{form_to_row:"Rivinäkymä",row_to_form:"Taulukkonäkymä",zoomtogeometry:"Zoomaa geometriaan"},copy_map_extent_url:"Kopioi kartan katselulinkki",download_shapefile:"Lataa SHP-tiedosto",download_gpx:"Lataa GPX-tiedosto",download_gpkg:"Lataa GPKG-tiedosto",download_csv:"Lataa CSV-tiedosto",download_xls:"Lataa XLS-tiedosto",download_pdf:"Lataa PDF-tiedosto",show_chart:"Näytä kaavio",atlas:"Tulosta Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Kyselytaso",actions:{add_selection:{hint:"Lisää/Poista valinta"},zoom_to_features_extent:{hint:"Tarkenna ominaisuuden laajuuteen"},add_features_to_results:{hint:"Add/Remove features to results"},remove_feature_from_results:{hint:"Remove feature from results"},zoom_to_feature:{hint:"Tarkenna ominaisuuteen"},relations:{hint:"Näytä relaatiot"},relations_charts:{hint:"Näytä relaatiokaavio"},download_features_shapefile:{hint:"Lataa ominaisuuden SHP-tiedosto"},download_shapefile:{hint:"Lataa ominaisuuden SHP-tiedosto"},download_features_gpx:{hint:"Lataa ominaisuuden GPX-tiedosto"},download_features_gpkg:{hint:"Lataa ominaisuuden GPKG-tiedosto"},download_gpx:{hint:"Lataa ominaisuuden GPX-tiedosto"},download_gpkg:{hint:"Lataa ominaisuuden GPKG-tiedosto"},download_features_csv:{hint:"Lataa ominaisuuden CSV-tiedosto"},download_csv:{hint:"Lataa ominaisuuden CSV-tiedosto"},download_features_xls:{hint:"Lataa ominaisuuden XLS-tiedosto"},download_xls:{hint:"Lataa ominaisuuden XLS-tiedosto"},download_pdf:{hint:"Lataa ominaisuuden PDF-tiedosto"},atlas:{hint:"Tulosta Atlas"},copy_zoom_to_fid_url:{hint:"Copy map URL with this geometry feature extension",hint_change:"Copied"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attributes download",choiches:{feature:{label:"Features only"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Kysely monikulmiolla",no_geometry:"No geometry on response",help:{message:"
  • Valitse monikulmiotaso luettelosta.
  • Tarkista, että taso on näkyvillä.
  • Valitse ominaisuus valitulla tasolla.
"}},querybydrawpolygon:{tooltip:"Kysely piirtopolygonin mukaan"},querybbox:{tooltip:"Tasoon kohdituva BBox-kysely",nolayers_visible:"Ei kyseltäviä tasoja näkyvillä. Aseta vähintään yksi WFS-taso näkyväksi suorittaaksesi haun.",help:{message:"
  • Piirrä suorakulmio kartalle suorittaaksesi kyselyn luettelossa alleviivatuille tasoille.
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"The result in the map is partial due to the presence of the below incorrect records list:"}},tooltip:"Lisää taso"},geolocation:{tooltip:"Maantieteellinen sijainti"},measures:{length:{tooltip:"Pituus",help:"Piirrä murtoviiva kartalle. Paina
CANC, mikäli haluat poistaa edellisen pisteen."},area:{tooltip:"Alue",help:"Piirrä monikulmio kartalle. Paina
CANC, mikäli haluat poistaa edellisen pisteen."}},scale:{no_valid_scale:"Väärä mittakaava"},scaleline:{units:{metric:"Meters",nautical:"Nautical Mile"}},zoomhistory:{zoom_last:"Zoom Edellinen",zoom_next:"Zoom Seurata"}},relations:{relation_data:"Relaation tiedot",no_relations_found:"Relaatiota ei löytynyt.",back_to_relations:"Takaisin relaatioihin",list_of_relations_feature:"Lista ominaisuuden relaatioista",error_missing_father_field:"Kenttä puuttu",field:"Relation key field"},form:{loading:"Ladataan...",inputs:{messages:{errors:{picklayer:"Ominaisuuksia ei valiitu. Tarkista, että taso on muokattavissa tai näkyvissä nykyisellä mittakaavalla."}},tooltips:{picklayer:"Valitse arvo karttatasolta",lonlat:"Click on map to get coordinates"},input_validation_mutually_exclusive:"Kenttä toisensa poissulkeva.",input_validation_error:"Pakollinen kenttä tai väärä tietotyyppi.",input_validation_error_type:"Väärä tietotyyppi.",input_validation_min_field:"Arvon tulee olla suurempi tai yhtäsuuri kuin kentän arvo.",input_validation_max_field:"Arvon tulee olla pienempi tai yhtäsuuri kuin kentän arvo.",input_validation_exclude_values:"Arvon tulee olla uniikki.",integer:"kokonaisluku",bigint:"kokonaisluku",text:"teksti",varchar:"teksti",textarea:"teksti",string:"merkkijono",date:"päiväys",datetime:"päiväys",float:"liukuluku",table:"taulukko"},footer:{required_fields:"Vaaditut kentät"},messages:{qgis_input_widget_relation:"Käytä relaatioiden määrittämiseen tähän tarkoitettua toimintoa"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"CHOOSE THEME",choose_map_theme_input_label:"Uuden teeman nimi",project_map_theme:"Projektin Themes",user_map_theme:"Käyttäjä Themes",question_delete_map_theme:"Haluatko poistaa teeman?",delete_map_theme:"Teeman poistaminen onnistui",saved_map_theme:"Teeman tallennus onnistui",updated_map_theme:"Teeman päivittää onnistui",invalid_map_theme_name:"Nimi on jo olemassa tai se on virheellinen",menu:{layerposition:"Kerroksen sijainti",setwmsopacity:"Aseta Opacity",wms:{title:"",copy:"Paina tästä kopioidaksesi url:n.",copied:"Kopioitu."},download:{unknow:"Lataa",shp:"Lataa SHP-tiedosto",gpx:"Lataa GPX-tiedosto",gpkg:"Lataa GPKG-tiedosto",csv:"Lataa CSV-tiedosto",xls:"Lataa XLS-tiedosto",geotiff:"Lataa GEOTIFF-tiedosto",geotiff_map_extent:"Lataa GEOTIFF-tiedosto(current view extent)"}}},wps:{list_process:"Lista prosesseista",tooltip:"Valitse kartalta"}},credits:{g3wSuiteFramework:"Sovellus perustuu OS framework",g3wSuiteDescription:"Julkaise ja hallinnoi QGIS-projekteja verkossa.",productOf:"Frameworkin on kehittänyt"},toggle_color_scheme:"Toggle color scheme",logout:"Kirjaudu ulos",no_other_projects:"Ei projekteja tälle ryhmälle",no_other_groups:"Ei enää ryhmiä tälle makroryhmälle",yes:"Kyllä",no:"Ei",back:"Palaa",backto:"Takaisin ",changemap:"Vaihda karttaa",change_session:"Vaihda istuntoa",component:"Yleinen komponentti",search:"Hae",no_results:"Ei hakutuloksia",print:"Tulosta",create_print:"Luo tuloste",dosearch:"Hae",catalog:"Kartta",data:"Data",externalwms:"WMS",baselayers:"Taustakartta",tools:"Työkalut",tree:"Tasot",legend:"Merkintöjen selite",nobaselayer:"Ei taustakarttaa",street_search:"Hae osoite",show:"Näytä",hide:"Piilota",copy_form_data:"Kopioi tiedot",paste_form_data:"Liitä",copy_form_data_from_feature:"Kopioi tiedot kartalta",error_map_loading:"Virhe ladattessa karttaa",check_internet_connection_or_server_admin:"Tarkista internetyhteys tai ota yhteyttä ylläpitäjään.",could_not_load_vector_layers:"Yhteysvirhe, tasoja ei voida ladata.",server_saver_error:"Virhe tallentaessa palvelimelle.",server_error:"Yhteysvirhe palvelimeen",save:"Tallenna",cancel:"Peruuta",update:"Päivittää",close:"Sulje",dont_show_again:"Älä näytä viestiä uudelleen",enlange_reduce:"Suurenna / Pienennä",add:"Lisää",exitnosave:"Poistu tallentamatta",annul:"Peruuta",layer_is_added:"Samanniminen taso on jo lisätty.",sidebar:{wms:{panel:{title:"Add WMS Layer",label:{position:"Map Position",name:"Name",projections:"Projection",layers:"Layers"}},add_wms_layer:"Aggiungi WMS layer",delete_wms_url:"Delete WMS url",layer_id_already_added:"WMS Taso on jo lisätty.",url_already_added:"WMS URL/Nimi on jo lisätty.",layer_add_error:"WMS Layer not added. Please check all wms parameter or url"}},info:{title:"Tulokset",list_of_relations:"List of Relations",open_link:"Avaa liitetiedosto",server_error:"Palvelimella tapahtui virhe.",no_results:"Ei tuloksia haulle/kyselylle.",link_button:"Avaa"},mapcontrols:{geolocation:{error:"Sijaintiasi ei saada"},geocoding:{choose_layer:"Valitse kerros, johon tämä ominaisuus lisätään",placeholder:"Osoite ...",nolayers:"Tästä projektista ei löytynyt muokattavia pistetasoja",noresults:"Ei tuloksia",notresponseserver:"Ei vastausta palvelimelta"},add_layer_control:{header:"Lisää taso",select_projection:"Valitse tason projektio",select_field_to_show:"Select Field to show on map",select_csv_separator:"Select delimiter",select_csv_x_field:"Select X field",select_csv_y_field:"Select Y field",select_color:"Valitse tason väri",drag_layer:"Vedä ja pudota taso tähän"},query:{input_relation:"Paina näyttääksesi relaatiot"},length:{tooltip:"Pituus"},area:{tooltip:"Pinta-ala"},screenshot:{error:"Screenshot error creation",securityError:' \n

Turvallisuusvirhe: ulkoinen kerros estää karttaa tulostamasta. Tarkistaaksesi, toimi seuraavasti:

\n
    \n
  1. poista manuaalisesti lisätyt ulkoiset tasot (esim. WMS-tasot)
  2. \n
  3. Pakota sivun uudelleenlataus: CTRL + F5
  4. \n
  5. tulosta kartta uudelleen
  6. \n
\n

Saat lisätietoja palvelimen järjestelmänvalvojalta seuraavista aiheista: ℹ️ turvallisuus ja likaiset kankaat

\n '}},catalog_items:{helptext:"Napsauta hiiren kakkospainikkeella yksittäistä tasoa päästäksesi lisäominaisuuksiin.",contextmenu:{zoomtolayer:"Tarkenna tasoon",open_attribute_table:"Avaa attribuuttitaulu",show_metadata:"Metatiedot",styles:"Tyylejä",vector_color_menu:"Aseta/muuta väriä",layer_opacity:"Peittävyys",filters:"Filters"}},dataTable:{previous:"Edellinen",next:"Seuraava",lengthMenu:"Näytä _MENU_ arvoa sivulla",info:"tulosta _TOTA_:stä",no_data:"Ei tietoja",nodatafilterd:"Vastaavia tietueita ei löytynyt",infoFiltered:"(filtered from _MAX_ total records)"}}}},{}],137:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Erreur de connexion",at_moment:"Pour le moment, il n'est pas possible d'afficher la carte",f5:"Appuyez sur Ctrl+F5"},cookie_law:{message:"Ce site utilise des cookies pour assurer une bonne convivialité pour l'utilisateur final.",buttonText:"J’ai compris !"},default:"par défaut ",sign_in:"Se connecter ",layer_selection_filter:{tools:{filter:"Activer/Désactiver le filtre",nofilter:"Supprimer le filtre ",invert:"Sélection inversée ",clear:"Effacer la sélection ",show_features_on_map:"Mettre à jour les résultats lors du déplacement de la carte",savefilter:"Sauver le Filtre",filterName:"Nom du Filtre"}},warning:{not_supported_format:"Format non supporté"},layer_position:{top:"HAUT",bottom:"BAS",message:"Position relative des couches dans la table des matières"},sdk:{atlas:{template_dialog:{title:"Sélectionnez un modèle"}},spatialbookmarks:{title:"Signets spatiaux",helptext:"Déplacez-vous sur l'étendue de la carte, insérez le nom et cliquez sur Ajouter",input:{name:"Nom"},sections:{project:{title:"Signets du projet"},user:{title:"Signets de l'utilisateur"}}},search:{all:"TOUTES",no_results:"Aucune valeur trouvée",searching:"Je cherche...",error_loading:"Erreur de chargement des valeurs",layer_not_searchable:"La couche n’est pas recherchable",layer_not_querable:"La couche n'est pas interrogeable",autocomplete:{inputshort:{pre:"Tapez au moins",post:"caractères"}},help_filter:"Les valeurs de recherche sont limitées en fonction du filtre actif. Supprimez le filtre pour rechercher toutes les données.",autofilter:"Filtrer les résultats"},print:{no_layers:"Aucune layer visible",scale:"Échelle",format:"Format",rotation:"Rotation",download_image:"Télécharger l'image",fids_instruction:"Valeurs acceptées : de 1 à la valeur maximale indiquée par [max]. Il est également possible d'indiquer une fourchette de valeurs, par exemple 4-6",fids_example:"Par exemple 1,4-6 les ids 1,4,5,6 seront imprimés",help:"Les couches montrées dans l'impression peuvent être celles définies dans le projet et non celles montrées sur la carte"},querybuilder:{search:{run:"Lancer la recherche",info:"Information",delete:"Supprimer",edit:"Modifier"},messages:{changed:"Enregistré correctement",number_of_features:"Nombre d'entités"},panel:{button:{all:"TOUTES",save:"SAUVEGARDER",test:"TESTER",clear:"NETTOYER",run:"EXECUTER",manual:"MANUEL"},layers:"COUCHES",fields:"CHAMPS",values:"VALEURS",operators:"OPERATEURS",expression:"EXPRESSION"},error_run:"Une erreur s'est produite. Vérifiez si la requête est correcte",error_test:"Erreur d'exécution de la requête",delete:"Voulez-vous confirmer la suppression ?",additem:"Entrer le nom de la requête"},errors:{layers:{load:"Certaines couches du projet ne sont pas disponibles actuellement et n'apparaissent donc pas dans la vue actuelle"},unsupported_format:"Format non supporté",add_external_layer:"Erreur lors du chargement de la couche"},metadata:{title:"Métadonnées",groups:{general:{title:"GÉNÉRAL",fields:{title:"TITRE",name:"NOM",description:"DESCRIPTION",abstract:"ABREGE",keywords:"LISTE DE MOTS-CLÉS",fees:"DROITS D'INSCRIPTION",accessconstraints:"CONTRAINTES D'ACCÈS",contactinformation:"CONTACTS",subfields:{contactinformation:{contactelectronicmailaddress:"E-mail",personprimary:"Références",contactvoicetelephone:"Téléphone",contactorganization:"Organisation",ContactOrganization:"Organisation",contactposition:"Localisation",ContactPosition:"Localisation",contactperson:"Personne",ContactPerson:"Personne"}},wms_url:"WMS"}},spatial:{title:"INFO SPATIALE",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"COUCHES",groups:{general:"GENERALE",spatial:"INFO SPATIALE"},fields:{layers:"COUCHES",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITRE",name:"NOM",geometrytype:"GÉOMÉTRIE",source:"SOURCE",attributes:"ATTRIBUTS",abstract:"ABRÉGÉ",attribution:"ATTRIBUTION",keywords:"MOTS- CLÉS",metadataurl:"URL DE MÉTADONNÉES",dataurl:"URL DES DONNÉES"}}}}},tooltips:{relations:{form_to_row:"Afficher le format de la ligne",row_to_form:"Format du formulaire d'affichage",zoomtogeometry:"Zoom sur la géométrie"},zoom_to_features_extent:"Zoom sur les entités",copy_map_extent_url:"Copier le lien de visualisation de la carte",download_shapefile:"Télécharger le fichier Shapefile",download_gpx:"Télécharger GPX",download_gpkg:"Télécharger GPKG",download_csv:"Télécharger CSV",download_xls:"Télécharger XLS",download_pdf:"Télécharger PDF",show_chart:"Montrer le graphique",atlas:"Imprimer l'Atlas",editing:"Modifier"},mapcontrols:{query:{tooltip:"Couche Interrogée",actions:{add_selection:{hint:"Ajouter/supprimer une sélection"},zoom_to_features_extent:{hint:"Zoom sur les entités"},add_features_to_results:{hint:"Ajouter des fonctionnalités aux résultats"},remove_feature_from_results:{hint:"Supprimer l'entité des résultats"},zoom_to_feature:{hint:"Zoom sur les entités"},relations:{hint:"Voir les relations"},relations_charts:{hint:"Voir les graphiques de relations"},download_features_shapefile:{hint:"Télécharger les entités vers Shapefile"},download_shapefile:{hint:"Télécharger le Shapefile"},download_features_gpx:{hint:"Télécharger les entités vers GPX"},download_features_gpkg:{hint:"Télécharger les entités vers GPKG"},download_gpx:{hint:"Télécharger le GPX"},download_gpkg:{hint:"Télécharger le GPKG"},download_features_csv:{hint:"Télécharger les entités vers CSV"},download_csv:{hint:"Télécharger le CSV"},download_features_xls:{hint:"Télécharger les entités vers XLS"},download_xls:{hint:"Télécharger le XLS"},download_pdf:{hint:"Télécharger le PDF"},atlas:{hint:"Imprimer l'Atlas"},copy_zoom_to_fid_url:{hint:"Copier l'URL de la carte avec l'extension vers cette géométrie",hint_change:"Copié"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Téléchargement des attributs",choiches:{feature:{label:"Entités seulement"},feature_polygon:{label:"Entités+Requête Polygon "}}},tooltip:"Requête par polygone",no_geometry:"La réponse ne contient pas de géométrie",help:{message:"
  • Sélectionnez une couche de polygone dans la légende.
  • Vérifiez que la couche est visible dans la carte.
  • Cliquez sur une géométrie de la couche sélectionnée.
"}},querybydrawpolygon:{tooltip:"Requête par polygone de dessin"},querybbox:{tooltip:"Requête pour BBOX",nolayers_visible:"Aucune couche requêtable n'est visible. Assurez-vous qu'au moins une couche wfs est visible pour exécuter la requête",help:{message:"
  • Dessinez un rectangle pour interroger les couches surlignées en jaune
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"Le résultat de la carte est partiel en raison de la présence des enregistrements incorrects suivants :"}},tooltip:"Ajouter un layer"},geolocation:{tooltip:"Géolocalisation"},measures:{length:{tooltip:"Longueur",help:"Cliquez sur la carte pour continuer à dessiner la ligne.
CANC si vous voulez supprimer le dernier vertex inséré"},area:{tooltip:"Zone",help:"Cliquez pour continuer à dessiner le polygone.
CANC si vous voulez supprimer le dernier vertex inséré"}},scale:{no_valid_scale:"Échelle invalide"},scaleline:{units:{metric:"Mètre",nautical:"Mile Nautique"}},zoomhistory:{zoom_last:"Zoom Précédent",zoom_next:"Zoom Suivant"}},relations:{relation_data:"Données relationnelles",no_relations_found:"Aucune relation trouvée",back_to_relations:"Retour aux relations",list_of_relations_feature:"Liste des relations entre les entités",error_missing_father_field:"Le champ concerné n'existe pas",field:"Relation key field"},form:{loading:"Chargement...",inputs:{messages:{errors:{picklayer:"Aucune entité sélectionnée. Vérifier si la couche est en édition ou non visible à l'échelle actuelle"}},tooltips:{picklayer:"Obtenir la valeur de la carte",lonlat:"Cliquez sur la carte pour obtenir les coordonnées"},input_validation_mutually_exclusive:"Champ mutuellement exclusif avec ",input_validation_error:"Champ obligatoire ou type de valeur incorrect",input_validation_error_type:"Type de valeur incorrect",input_validation_min_field:"La valeur doit être supérieure ou égale au camp ",input_validation_max_field:"La valeur doit être inférieure ou égale au champ ",input_validation_exclude_values:"Le champ doit contenir une valeur différente",integer:"entier",bigint:"entier",text:"textuel",varchar:"textuel",textarea:"textuel",string:"chaîne",date:"date",datetime:"date",float:"décimal",table:"table"},footer:{required_fields:"Champs obligatoires"},messages:{qgis_input_widget_relation:"Gérer les relations via un formulaire dédié"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"SÉLECTIONNEZ LE THÈME",choose_map_theme_input_label:"Nom du nouveau thème",project_map_theme:"Thème du projet",user_map_theme:"Thème de l'utilisateur",question_delete_map_theme:"Voulez-vous supprimer le thème ?",delete_map_theme:"Thème supprimé avec succès",saved_map_theme:"Thème enregistré avec succès",updated_map_theme:"Thème mise à jour avec succès",invalid_map_theme_name:"Le nom existe déjà ou est incorrect",menu:{layerposition:"Position du calque",setwmsopacity:"Définir l'opacité",wms:{title:"",copy:"Cliquez ici pour copier l'url",copied:"Copié"},download:{unknow:"Télécharger",shp:"Télécharger Shapefile",gpx:"Télécharger GPX",gpkg:"Télécharger GPKG",csv:"Télécharger CSV",xls:"Télécharger XLS",geotiff:"Télécharger GEOTIFF",geotiff_map_extent:"Télécharger GEOTIFF(vue courante)"}}},wps:{list_process:"Liste des processus",tooltip:"Cliquez sur la carte"}},credits:{g3wSuiteFramework:"Application construite avec le framework OS",g3wSuiteDescription:"Publiez et gérez vos projets QGIS sur le Web",productOf:"Framework développé par"},logout:"Quitter",no_other_projects:"Il n'y a pas d'autres projets dans ce groupe de cartes",no_other_groups:"Il n'y a pas d'autres groupes dans ce macrogroupe",yes:"Oui",no:"No",back:"Retour",backto:"Retour à ",changemap:"Changer de carte",change_session:"Changer de sessuib",component:"Composant générique",search:"Recherches",no_results:"Aucun résultat trouvé",print:"Imprimer",create_print:"Créer une impression",dosearch:"Recherche",catalog:"Carte",data:"Données",externalwms:"WMS",baselayers:"Bases",tools:"Outils",tree:"Strates",legend:"Légende",nobaselayer:"Pas de carte de base",street_search:"Adresse de recherche",show:"Afficher",hide:"Cacher",copy_form_data:"Copier les données du formulaire",paste_form_data:"Coller",copy_form_data_from_feature:"Copier les données de la carte",error_map_loading:"Erreur de chargement de la nouvelle carte",check_internet_connection_or_server_admin:"Vérifiez la connexion internet ou contactez l'administrateur",could_not_load_vector_layers:"Erreur de connexion au serveur : il n'a pas été possible de charger les vecteurs demandés",server_saver_error:"Erreur de sauvegarde sur le serveur",server_error:"Une erreur s'est produite dans la requête au serveur",save:"Sauvegarder",cancel:"Supprimer",update:"Mise à jour",close:"Fermer",dont_show_again:"Ne plus afficher ce message",enlange_reduce:"Agrandir / Réduire",add:"Ajouter",exitnosave:"Quitter sans sauvegarder",annul:"Annuler",layer_is_added:"Couche avec le même nom déjà ajoutée",wms_layer_id_already_added:"Couche WMS déjà ajoutée",wms_url_already_added:"URL WMS déjà ajouté",sidebar:{wms:{panel:{title:"Ajouter une couche WMS",label:{position:"Position sur la carte",name:"Nom",projections:"Projection",layers:"Couches"}},add_wms_layer:"Ajouter une couche WMS",delete_wms_url:"Supprimer une url WMS",layer_id_already_added:"La couche est déjà présente.",url_already_added:"L'URL WMS est déjà présent.",layer_add_error:"Couche WMS non ajoutée. Veuillez vérifier tous les paramètres de l'URL"}},info:{title:"Résultats",list_of_relations:"Liste des relations",open_link:"Ouvrir le document joint",server_error:"Une erreur s'est produite dans la requête au serveur",no_results:"Aucun résultat pour cette requête/recherche",link_button:"Ouvrir"},mapcontrols:{geolocation:{error:"Votre position ne peut être calculée."},geocoding:{choose_layer:"Choisissez un calque où ajouter cette entité",placeholder:"Adresse ...",nolayers:"Aucune couche de points modifiable trouvée sur ce projet",noresults:"Aucun résultat",notresponseserver:"Le serveur ne répond pas"},add_layer_control:{header:"Ajouter une couche",select_projection:"Sélectionnez le système de projection de couches",select_field_to_show:"Sélectionnez le champ à afficher sur la carte",select_csv_separator:"Sélectionner le séparateur",select_csv_x_field:"Sélectionnez le champ X",select_csv_y_field:"Sélectionnez le champ Y",select_color:"Sélectionnez la couleur du layer",drag_layer:"Faire glisser le layer vers cette zone"},query:{input_relation:"Cliquez pour voir les relations"},length:{tooltip:"Longueur"},area:{tooltip:"Zone"},screenshot:{error:"Erreur de création de la capture d'écran",securityError:' \n

Erreur de sécurité : une couche externe empêche l\'impression de la carte. Pour vérifier, procédez comme suit :

\n
    \n
  1. supprimer toutes les couches externes ajoutées manuellement (par exemple, les couches WMS)
  2. \n
  3. forcer le rechargement de la page : CTRL + F5
  4. \n
  5. imprimer à nouveau la carte
  6. \n
\n

Pour plus d\'informations, veuillez contacter l\'administrateur du serveur à propos de : ℹ️ sécurité et toiles souillées

\n '}},catalog_items:{helptext:"Cliquez avec le bouton droit de la souris sur les différentes couches pour accéder à des fonctionnalités supplémentaires",contextmenu:{zoomtolayer:"Zoom sur le layer",open_attribute_table:"Ouvrir la table attributaire",show_metadata:"Métadonnées",styles:"Styles",vector_color_menu:"Définir/changer la couleur",layer_opacity:"Opacité",filters:"Filters"}},dataTable:{previous:"Précédent",next:"Suivant",lengthMenu:"Afficher _MENU_ valeurs par page",info:"_TOTAL_ résultats",nodatafilterd:"Aucun résultat trouvé",infoFiltered:"(Filtré par _MAX_ rangs totaux)"}}}},{}],138:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=c(e("./it")),n=c(e("./en")),r=c(e("./fi")),o=c(e("./se")),s=c(e("./fr")),l=c(e("./de")),u=c(e("./ro")),e=c(e("./pl"));function c(e){return e&&e.__esModule?e:{default:e}}i={it:i.default,en:n.default,fi:r.default,se:o.default,fr:s.default,de:l.default,ro:u.default,pl:e.default};a.default=i},{"./de":134,"./en":135,"./fi":136,"./fr":137,"./it":139,"./pl":140,"./ro":141,"./se":142}],139:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Errore di connessione",at_moment:"Al momento non è possibile caricare la mappa",f5:"Premi Ctrl+F5"},cookie_law:{message:"Questo sito utilizza i cookie per garantire una buona usabilità all'utilizzatore finale.",buttonText:"Ho capito!"},default:"predefinito",sign_in:"Accedi",layer_selection_filter:{tools:{filter:"Attiva/Disattiva Filtro",nofilter:"Rimuovi filtro",invert:"Inverti Selezione",clear:"Annulla selezione",show_features_on_map:"Aggiorna i risultati quando si sposta la mappa",savefilter:"Salva Filtro",filterName:"Nome Filtro"}},warning:{not_supported_format:"Formato non supportato"},layer_position:{top:"in cima",bottom:"in fondo",message:"Posizione"},sdk:{atlas:{template_dialog:{title:"Seleziona Template"}},spatialbookmarks:{title:"Segnalibri",helptext:"Posizionati all'estensione del tuo nuovo segnalibro, definisci il nome e clicca Aggiungi",input:{name:"Nome"},sections:{project:{title:"Segnalibri Progetto"},user:{title:"Segnalibri Utente"}}},search:{all:"TUTTE",no_results:"Nessun valore trovato",searching:"Sto cercando ..",error_loading:"Errore nel caricamento valori",layer_not_searchable:"Il layer non è ricercabile",layer_not_querable:"Il layer non è interrogabile",autocomplete:{inputshort:{pre:"Digita almeno",post:"caratteri"}},help_filter:"I valori di ricerca sono limitati sulla base del filtro attivo. Rimuovere il filtro per ricercare su tutti i dati.",autofilter:"Filtro sui risultati"},print:{no_layers:"Nessun Layer visibile",template:"Template",labels:"Etichette",scale:"Scala",format:"Formato",rotation:"Rotazione",download_image:"Scarica Immagine",fids_instruction:"Valori accettati: da 1 al valore massimo indicato da [max]. Possibile indicare anche range di valori es. 4-6",fids_example:"Es. 1,4-6 verranno stampati gli id 1,4,5,6",help:"I livelli esportati sono definiti dall'amministratore"},querybuilder:{title:"Ricerca avanzata",search:{run:"Esegui",info:"Informazioni",delete:"Rimuovi",edit:"Modifica"},messages:{changed:"Salvato correttamente",number_of_features:"Elementi trovati:"},panel:{button:{all:"TROVA UN VALORE",save:"SALVA",test:"VERIFICA",clear:"PULISCI",run:"ESEGUI",manual:"MANUALE"},layers:"LAYERS",fields:"CAMPI",values:"VALORI",operators:"OPERATORI",expression:"ESPRESSIONE"},error_run:"Si è verificato un errore. Verificare se la query è corretta",error_test:"Errore nell'esecuzione della query",delete:"Vuoi confermare la cancellazione?",additem:"Inserisci nome della ricerca"},errors:{layers:{load:"Alcuni livelli presenti nel progetto non sono attualmente disponibili e quindi non compaiono nell'attuale visualizzazione"},unsupported_format:"Formato non supportato",add_external_layer:"Errore nel caricamento del layer"},metadata:{title:"Metadati",groups:{general:{title:"GENERALE",fields:{title:"TITOLO",name:"NOME",description:"DESCRIZIONE",abstract:"ABSTRACT",keywords:"LISTA DELLE PAROLE CHIAVE",fees:"CANONI",accessconstraints:"VINCOLI DI ACCESSO",contactinformation:"CONTATTI",subfields:{contactinformation:{contactelectronicmailaddress:"E-mail",personprimary:"Riferimenti",contactvoicetelephone:"Telefono",contactorganization:"Organizzazione",ContactOrganization:"Organizzazione",contactposition:"Posizione",ContactPosition:"Posizione",contactperson:"Persona",ContactPerson:"Persona"}},wms_url:"WMS"}},spatial:{title:"INFO SPAZIALI",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"STRATI",groups:{general:"GENERALE",spatial:"INFO SPAZIALI"},fields:{layers:"STRATI",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITOLO",name:"NOME",geometrytype:"GEOMETRIA",source:"SORGENTE",attributes:"ATTRIBUTI",abstract:"ABSTRACT",attribution:"ATTRIBUTION",keywords:"PAROLE CHIAVE",metadataurl:"METADATA URL",dataurl:"DATA URL"}}}}},tooltips:{relations:{form_to_row:"Visualizza riga",row_to_form:"Visualizza modulo",zoomtogeometry:"Zoom sulla geometria"},zoom_to_features_extent:"Zoom sulle features",copy_map_extent_url:"Copia URL di condivisione",download_shapefile:"Scarica Shapefile",download_gpx:"Scarica GPX",download_gpkg:"Scarica GPKG",download_csv:"Scarica CSV",download_xls:"Scarica XLS",download_pdf:"Scarica PDF",show_chart:"Mostra Grafico",atlas:"Stampa Atlas",editing:"Modifica"},mapcontrols:{query:{tooltip:"Interroga Layer",actions:{add_selection:{hint:"Aggiungi/Rimuovi Selezione"},zoom_to_features_extent:{hint:"Zoom sulle geometrie"},add_features_to_results:{hint:"Aggiungi elementi ai risultati"},remove_feature_from_results:{hint:"Rimuovi elemento dai risultati"},zoom_to_feature:{hint:"Zoom sulla geometria"},relations:{hint:"Visualizza Relazioni"},relations_charts:{hint:"Visualizza grafici relazioni"},download_features_shapefile:{hint:"Scarica come Shapefile"},download_shapefile:{hint:"Scarica come Shapefile"},download_features_gpx:{hint:"Scarica come GPX"},download_features_gpkg:{hint:"Scarica come GPKG"},download_gpx:{hint:"Scarica come GPX"},download_gpkg:{hint:"Scarica come GPKG"},download_features_csv:{hint:"Scarica come CSV"},download_csv:{hint:"Scarica come CSV"},download_features_xls:{hint:"Scarica come XLS"},download_xls:{hint:"Scarica come XLS"},download_pdf:{hint:"Scarica come PDF"},atlas:{hint:"Stampa Atlas"},copy_zoom_to_fid_url:{hint:"Condividi tramite link",hint_change:"URL copiato negli appunti"}}},queryby:{title:"Interroga un area",layer:"Livello selezionato:",none:"NESSUNO",new:"LIVELLO TEMPORANEO",all:"TUTTI",methods:{intersects:"interseca",within:"all'interno"},querybypolygon:{tooltip:"seleziona un poligono"},querybydrawpolygon:{tooltip:"disegna un poligono"},querybbox:{tooltip:"disegna un rettangolo"},querybycircle:{tooltip:"disegna un cerchio"}},querybypolygon:{download:{title:"Download attributi",choiches:{feature:{label:"Solo features"},feature_polygon:{label:"Features+Poligono Interrogazione"}}},tooltip:"Interroga per poligono",no_geometry:"Non contiene la geometria nella risposta",help:{message:"
  • Seleziona un livello (visibile).
  • Clicca su una geometria nella mappa.
"}},querybydrawpolygon:{tooltip:"Disegna un poligono per interrogare",help:{message:"
  • Clicca sulla mappa per aggiungere un nuovo vertice
  • Doppio click per terminare ed interrogare i livelli (sottolineati in giallo nella legenda)
"}},querybbox:{tooltip:"Interroga per BBOX",nolayers_visible:"Nessun layer interrogabile è visibile. Assicurarsi che almeno un layer wfs sia visibile per eseguire l'interrogazione",help:{message:"
  • Trascina il mouse per disegnare un rettangolo ed interrogare i livelli (sottolineati in giallo nella legenda)
"}},querybycircle:{tooltip:"Disegna un cerchio per interrogare",label:"Raggio",help:{message:"
  • Clicca sulla mappa per disegnare il cerchio
"}},addlayer:{messages:{csv:{warning:"Il risultato in mappa è parziale a causa della presenza dei seguenti records non corretti:"}},tooltip:"Aggiungi livello"},geolocation:{tooltip:"Mostra la mia posizione"},measures:{title:"Misura",length:{tooltip:"Lunghezza",help:"Clicca sulla mappa per continuare a disegnare la linea.
CANC se si vuole cancellare l'ultimo vertice inserito"},area:{tooltip:"Area",help:"Clicca per continuare a disegnare il poligono.
CANC se si vuole cancellare l'ultimo vertice inserito"}},screenshot:{title:"Cattura schermata",screenshot:"PNG",geoscreenshot:"GeoTIFF",download:"Genera"},scale:{no_valid_scale:"Scala non valida"},scaleline:{units:{metric:"Metri",nautical:"Miglio Nautico"}},zoomhistory:{zoom_last:"Zoom Precedente",zoom_next:"Zoom Successivo"}},relations:{relation_data:"Dati Relazione",no_relations_found:"Nessuna relazione trovata",back_to_relations:"Ritorna alle relazioni",list_of_relations_feature:"Lista delle relazioni della feature",error_missing_father_field:"Il campo relazionato non esiste",field:"Campo chiave relazione"},form:{loading:"Caricamento ...",inputs:{messages:{errors:{picklayer:"Nessuna feature selezionata. Verificare se il layer è in editing o non visibile alla scala attuale"}},tooltips:{picklayer:"Prendi valore dalla mappa",lonlat:"Clicca sulla mappa per prendere le coordinate"},input_validation_mutually_exclusive:"Campo mutualmente esclusivo con ",input_validation_error:"Campo obbligatorio o tipo valore non corretto",input_validation_error_type:"Tipo valore non corretto",input_validation_min_field:"Valore deve essere magiore uguale a quello del camp ",input_validation_max_field:"Valore deve essere minore uguale a quello del campo ",input_validation_exclude_values:"Campo deve contenere un valore diverso",integer:"intero",bigint:"intero",text:"testuale",varchar:"testuale",textarea:"testuale",string:"stringa",date:"data",datetime:"data",float:"float",table:"table"},footer:{required_fields:"Campi obbligatori"},messages:{qgis_input_widget_relation:"Gestisci le relazioni tramite form dedicato"}},catalog:{current_map_theme_prefix:"TEMA",choose_map_theme:"SCEGLI TEMA",choose_map_theme_input_label:"Nome del nuovo tema",project_map_theme:"Temi Progetto",user_map_theme:"Temi Utente",question_delete_map_theme:"Vuoi cancellare il tema ?",delete_map_theme:"Tema cancellato con successo",saved_map_theme:"Tema salvato con successo",updated_map_theme:"Tema aggiornato con successo",invalid_map_theme_name:"Nome già esistente o non corretto",menu:{layerposition:"Posizione Layer",setwmsopacity:"Cambia opacità",wms:{title:"",copy:"Clicca qui per copiare url",copied:"Copiato"},download:{unknow:"Scarica",geotiff_map_extent:"GeoTiff (vista attuale)"}}},wps:{list_process:"Lista dei processi",tooltip:"Clicca sulla mappa"}},credits:{g3wSuiteFramework:"Applicativo realizzato con il framework OS",g3wSuiteDescription:"Pubblica e gestisci i tuoi progetti QGIS sul Web",productOf:"Framework sviluppato da"},toggle_color_scheme:"Cambia colore",logout:"Esci",no_other_projects:"Non ci sono altri progetti in questo gruppo cartografico",no_other_groups:"Non ci sono altri gruppi in questo Macrogruppo",yes:"Si",no:"No",back:"Indietro",backto:"Torna a ",changemap:"Cambia mappa",change_session:"Cambia Sessione",component:"Componente Generico",search:"Ricerche",no_results:"Nessun risultato trovato",print:"Stampa",create_print:"Crea Stampa",dosearch:"Cerca",catalog:"Mappa",data:"Dati",externalwms:"WMS",baselayers:"Basi",tools:"Strumenti",tree:"Strati",legend:"Legenda",nobaselayer:"Nessuna mappa di base",street_search:"Cerca indirizzo",show:"Mostra",hide:"Nascondi",copy_form_data:"Copia i dati del modulo",paste_form_data:"Incolla",copy_form_data_from_feature:"Copia i dati dalla mappa",error_map_loading:"Errore di caricamento della nuova mappa",check_internet_connection_or_server_admin:"Controllare la connessione internet o contattare l'amministratore",could_not_load_vector_layers:"Errore di connessione al server: non è stato possibile caricare i vettoriali richiesti",server_saver_error:"Errore nel salvataggio sul server",server_error:"Si è verificato un errore nella richiesta al server",save:"Salva",cancel:"Cancella",update:"Aggiorna",close:"Chiudi",dont_show_again:"Non mostrare più",enlange_reduce:"Allarga / Riduci",add:"Aggiungi",exitnosave:"Esci senza salvare",annul:"Annulla",layer_is_added:"Esiste già un livello con lo stesso nome",sidebar:{wms:{panel:{title:"Aggiunta livello WMS",label:{position:"Posizione su Mappa",name:"Nome",projections:"Sistema di riferimento",layers:"Livelli"}},add_wms_layer:"Aggiungi livello WMS",delete_wms_url:"Rimuovi",layer_id_already_added:"Esiste già una connessione WMS con questo nome",url_already_added:"URL/Nome WMS già aggiunto",layer_add_error:"WMS Layer non aggiunto. Verificare i parametri o l'url"}},info:{title:"Risultati",list_of_relations:"Lista delle relazioni",open_link:"Apri documento allegato",server_error:"Si è verificato un errore nella richiesta al server",no_results:"Nessun risultato per questa interrogazione/ricerca ",link_button:"Apri"},mapcontrols:{geolocation:{error:"Non è possibile ottenere la tua posizione."},geocoding:{choose_layer:"Scegli un livello in cui aggiungere questa funzionalità",placeholder:"Indirizzo ...",nolayers:"Nessun layer di punti modificabile trovato in questo progetto",noresults:"Nessun risultato",notresponseserver:"Il server non risponde"},add_layer_control:{header:"Aggiungi livello",select_projection:"Sistema di riferimento",select_field_to_show:"valore mostrato sulla mappa",select_csv_separator:"Separatore",select_csv_x_field:"Campo X",select_csv_y_field:"Campo Y",select_color:"Colore",drag_layer:"Aggiungi qui il tuo file",persistent_data:"Persistenza",persistent_help:"salva il livello nella memoria del browser"},query:{input_relation:"Clicca per consultare le relazioni"},length:{tooltip:"Lunghezza"},area:{tooltip:"Area"},screenshot:{error:"Errore nella creazione dello screenshot",securityError:' \n

Errore di sicurezza: uno strato esterno impedisce la stampa della mappa. Per verificare, procedere come segue:

\n
    \n
  1. rimuovi eventuali layer esterni aggiunti manualmente (es. layer WMS)
  2. \n
  3. forza il ricaricamento della pagina: CTRL + F5
  4. \n
  5. stampa nuovamente la mappa
  6. \n
\n

Per maggiori informazioni contattare l\'amministratore del server in merito a: ℹ️ security and tainted canvases

\n '}},catalog_items:{helptext:"Apri menu",contextmenu:{zoomtolayer:"Zoom sul livello",open_attribute_table:"Apri tabella attributi",show_metadata:"Metadati",styles:"Stile",vector_color_menu:"Colore",layer_opacity:"Opacità",filters:"Filtri",download:"Esporta come",ogc_services:"Servizi OGC",edit:"Modifica dati"}},dataTable:{previous:"Precedente",next:"Successivo",lengthMenu:"Mostra _MENU_ valori per pagina",info:"_TOTAL_ elementi",nodatafilterd:"Nessun risultato trovato",infoFiltered:"(Filtrati da _MAX_ total righe)"},no_geometry:"Questo elemento non ha geometria",query_filter:"Filtra per:",sidebar_menu:"Menu laterale",layer_type:"Tipologia livello",choose_type:"Scegli un tipo",remote_wms_url:"WMS (URL)",local_file:"File locale",embed_map:"Incorpora mappa",homepage:"Pagina iniziale",wms_server:"Server WMS",connect_to_wms:"Connetti",disconnect_from_wms:"Disconnetti",add_new_wms_url_help:"Cerca tra le connessioni salvate o aggiungi un nuovo server",label:"Etichetta",no_csv_field:"Nessun campo valido"}}},{}],140:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Błąd połączenia",at_moment:"W tej chwili nie jest możliwe mapa pokazująca",f5:"Naciśnij Ctrl+F5"},cookie_law:{message:"Ta strona internetowa korzysta z plików cookie, aby uzyskać najlepsze wrażenia na naszej stronie internetowej.",buttonText:"Rozumiem!"},default:"domyślny",sign_in:"Zalogować się",layer_selection_filter:{tools:{filter:"Włącz/wyłącz filtr",nofilter:"Usuń filtr",invert:"Odwróć wybór",clear:"Jasny wybór",show_features_on_map:"Pokaż funkcje widoczne na mapie",savefilter:"Zapisz filtr",filterName:"Nazwa filtru"}},warning:{not_supported_format:"Nie obsługiwany format"},layer_position:{top:"SZCZYT",bottom:"SPÓD",message:"Pozycja względem warstw na TOC"},sdk:{atlas:{template_dialog:{title:"Wybierz szablon"}},spatialbookmarks:{title:"Zakładki przestrzenne",helptext:"Poruszaj zasięg mapy, wstaw nazwę i kliknij Dodaj",input:{name:"Nazwa"},sections:{project:{title:"Zakładki projektu"},user:{title:"Zakładki użytkowników"}}},search:{all:"WSZYSTKO",no_results:"Brak wyników",searching:"Poszukiwanie ...",error_loading:"Błąd Dane dotyczące ładowania",layer_not_searchable:"Warstwa nie można przeszukiwać",layer_not_querable:"Warstwa nie jest zapytana",autocomplete:{inputshort:{pre:"Podaj",post:"lub więcej znaków"}},help_filter:"Wartości wyszukiwania są ograniczone w zależności od aktywnego filtra. Usuń filtr, aby przeszukać wszystkie dane.",autofilter:"Filtruj wyniki"},print:{no_layers:"Brak warstwy do wydrukowania",template:"Szablon",labels:"Etykiety",scale:"Skala",format:"Format",rotation:"Obrót",download_image:"Pobierz obraz",fids_instruction:"Zaakceptowane wartości: od 1 do wartości [maks.]. Możliwe jest wstawienie zasięgu ex. 4-6",fids_example:"Były. 1,4-6 zostanie wydrukowany 1,4,5,6",help:"Warstwy pokazane w druku mogą być warstwy zdefiniowane w projekcie, a nie wyświetlane na mapie"},querybuilder:{search:{run:"Uruchomić",info:"Informacja",delete:"Usuwać",edit:"Edytować"},messages:{changed:"Uratowany",number_of_features:"Liczba funkcji"},panel:{button:{all:"WSZYSTKO",save:"RATOWAĆ",test:"TEST",clear:"JASNE",run:"URUCHOMIĆ",manual:"PODRĘCZNIK"},layers:"Warstwy",fields:"Pola",values:"Wartości",operators:"Operatorzy",expression:"WYRAŻENIE"},error_run:"Występuje błąd. Sprawdź zapytanie",error_test:"Błąd wystąpił podczas wykonywania zapytania",delete:"Chcesz to usunąć?",additem:"Włóż nazwę nowego wyszukiwania"},errors:{layers:{load:"Niektóre warstwy nie są dostępne"},unsupported_format:"Nie obsługiwany format",add_external_layer:"Błąd warstwy ładowania"},metadata:{title:"Metadane",groups:{general:{title:"OGÓLNY",fields:{title:"TYTUŁ",name:"NAZWA",description:"OPIS",abstract:"ABSTRAKCYJNY",keywords:"SŁOWA KLUCZOWE",fees:"OPŁATY",accessconstraints:"Ograniczenie dostępu",contactinformation:"ŁĄCZNOŚĆ",subfields:{contactinformation:{contactelectronicmailaddress:"E-mail",personprimary:"Bibliografia",contactvoicetelephone:"Telefon",contactorganization:"Organizacja",ContactOrganization:"Organizacja",contactposition:"Pozycja",ContactPosition:"Pozycja",contactperson:"Osoba",ContactPerson:"Osoba"}},wms_url:"WMS"}},spatial:{title:"PRZESTRZENNY",fields:{crs:"EPSG",extent:"Bbox"}},layers:{title:"Warstwy",fields:{layers:"Warstwy",subfields:{crs:"EPSG",bbox:"Bbox",title:"TYTUŁ",name:"NAZWA",geometrytype:"GEOMETRIA",source:"ŹRÓDŁO",attributes:"Atrybuty",abstract:"ABSTRAKCYJNY",attribution:"ATRYBUCJA",keywords:"Chiave zwolnienia warunkowego",metadataurl:"URL METADATA",dataurl:"URL danych"}},groups:{general:"OGÓLNY",spatial:"PRZESTRZENNY"}}}},tooltips:{relations:{form_to_row:"Widok wiersza",row_to_form:"Widok formularza",zoomtogeometry:"Powiększ geometrię"},copy_map_extent_url:"Kopiuj link Widok Mapa",download_shapefile:"Pobierz ShapeFile",download_gpx:"Pobierz GPX",download_gpkg:"Pobierz GPKG",download_csv:"Pobierz CSV",download_xls:"Pobierz XLS",show_chart:"Wykres pokazowy",atlas:"Wydrukuj atlas"},mapcontrols:{query:{tooltip:"Warstwa zapytania",actions:{add_selection:{hint:"Dodaj/usuń wybór"},zoom_to_features_extent:{hint:"Zoom w zakresie funkcji"},add_features_to_results:{hint:"Dodaj/usuń funkcje do wyników"},remove_feature_from_results:{hint:"Usuń funkcję z wyników"},zoom_to_feature:{hint:"Zoom do funkcji"},relations:{hint:"Pokaż relacje"},relations_charts:{hint:"Pokaż wykres relacji"},download_features_shapefile:{hint:"Pobierz funkcje ShapeFile"},download_shapefile:{hint:"Pobierz funkcję kształtu plik"},download_features_gpx:{hint:"Pobierz funkcję GPX"},download_features_gpkg:{hint:"Pobierz funkcje GPKG"},download_gpx:{hint:"Pobierz funkcję GPX"},download_gpkg:{hint:"Pobierz funkcję gpkg"},download_features_csv:{hint:"Pobierz funkcje CSV"},download_csv:{hint:"Pobierz funkcję CSV"},download_features_xls:{hint:"Pobierz funkcje XLS"},download_xls:{hint:"Pobierz funkcję XLS"},atlas:{hint:"Wydrukuj atlas"},copy_zoom_to_fid_url:{hint:"Skopiuj adres URL map z tym rozszerzeniem funkcji geometrii",hint_change:"Skopiowane"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Pobieranie atrybutów",choiches:{feature:{label:"Tylko funkcje"},feature_polygon:{label:"Funkcje+Polygon zapytania"}}},tooltip:"Zapytanie według wielokąta",no_geometry:"Brak geometrii w odpowiedzi",help:{message:"
  • Wybierz warstwę wielokąta na Toc.
  • upewnij się, że warstwa jest widoczna.
  • Kliknij funkcję wybranej warstwy.
"}},querybydrawpolygon:{tooltip:"Zapytanie przez Polygon Draw"},querybbox:{tooltip:"Zapytanie warstwa Bbox",nolayers_visible:"Nie widać zapytaniach warstw. Ustaw co najmniej jedną widoczną warstwę WFS, aby uruchomić zapytanie",help:{message:"
  • Narysuj kwadrat na mapie, aby zapytają podkreślone warstwy na Toc
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"Wynik na mapie jest częściowy ze względu na obecność poniższej listy błędnych rekordów:"}},tooltip:"Dodaj warstwę"},geolocation:{tooltip:"Geolokalizację"},measures:{length:{tooltip:"Długość",help:"Kliknij mapę, aby narysować linię. Naciśnij
Canc, jeśli chcesz usunąć ostatni wierzchołek"},area:{tooltip:"Obszar",help:"Kliknij, aby narysować Poligon.press
Canc Jeśli chcesz usunąć ostatni wierzchołek"}},scale:{no_valid_scale:"Nieprawidłowa skala"},scaleline:{units:{metric:"Metry",nautical:"Mila morska"}},zoomhistory:{zoom_last:"Zoom ostatni",zoom_next:"Zoom Dalej"}},relations:{relation_data:"Dane dotyczące relacji",no_relations_found:"Nie znaleziono żadnych relacji",back_to_relations:"Powrót do relacji",list_of_relations_feature:"Lista relacji funkcji",error_missing_father_field:"Brakuje pola",field:"Relation key field"},form:{loading:"Ładowanie ...",inputs:{messages:{errors:{picklayer:"Brak wybranej funkcji. Sprawdź, czy warstwa jest w edycji lub widoczna w bieżącej skali"}},tooltips:{picklayer:"Uzyskaj wartość z warstwy MA",lonlat:"Kliknij mapę, aby uzyskać współrzędne"},input_validation_mutually_exclusive:"Pole wzajemnie wykluczające się z",input_validation_error:"Obowiązkowe pole lub niewłaściwy typ danych",input_validation_error_type:"Niewłaściwy typ danych",input_validation_min_field:"Wartość musi być większa/równa wartości pola",input_validation_max_field:"Wartość musi być mniej/równa wartości pola",input_validation_exclude_values:"Wartość musi być wyjątkowa",integer:"liczba całkowita",bigint:"liczba całkowita",text:"tekst",varchar:"tekst",textarea:"tekst",string:"strunowy",date:"data",datetime:"data",float:"platforma",table:"tabela"},footer:{required_fields:"Wymagane pola"},messages:{qgis_input_widget_relation:"Użyj relacji konkretna forma do pracy w związku z relacją"}},catalog:{current_map_theme_prefix:"TEMAT",choose_map_theme:"Wybierz motyw",menu:{layerposition:"Pozycja warstwy",setwmsopacity:"Ustaw krycie",wms:{title:"--",copy:"Kliknij tutaj, aby skopiować adres URL",copied:"Skopiowane"},download:{unknow:"Pobierać",shp:"Pobierz ShapeFile",gpx:"Pobierz GPX",gpkg:"Pobierz GPKG",csv:"Pobierz CSV",xls:"Pobierz XLS",geotiff:"Pobierz Geotiff",geotiff_map_extent:"Pobierz Geotiff (Obecny zasięg View)"}}},wps:{list_process:"Lista procesu",tooltip:"Kliknij mapę"}},credits:{g3wSuiteFramework:"Aplikacja oparta na strukturze systemu operacyjnego",g3wSuiteDescription:"Publikuj i zarządzaj projektami QGIS w Internecie",productOf:"Ramy opracowane przez"},toggle_color_scheme:"Przełącz kolorystykę",logout:"Wyloguj",no_other_projects:"Nigdy więcej projektu dla tej grupy",no_other_groups:"Nigdy więcej grup dla tej makrogrupy",yes:"Tak",no:"NIE",back:"Z powrotem",backto:"Wrócić do",changemap:"Zmień mapę",change_session:"Zmień sesję",component:"Komponent ogólny",search:"Szukaj",no_results:"Nie znaleziono wyników",print:"Wydrukować",create_print:"Utwórz druk",dosearch:"Szukaj",catalog:"Mapa",data:"Dane",externalwms:"WMS",baselayers:"Baza",tools:"Narzędzia",tree:"Warstwy",legend:"Legenda",nobaselayer:"Brak mapy bazowej",street_search:"Znajdź adres",show:"Pokazywać",hide:"Ukrywać",copy_form_data:"Skopiuj dane",paste_form_data:"Pasta",copy_form_data_from_feature:"Skopiuj dane z mapy",error_map_loading:"Występuje błąd mapy ładowania",check_internet_connection_or_server_admin:"Sprawdź połączenie internetowe lub skontaktuj się z administratorem",could_not_load_vector_layers:"Błąd połączenia: Warstwy można załadować",server_saver_error:"Błąd zapisywania serwera",server_error:"Błąd połączenia serwera",save:"Ratować",cancel:"Anulować",close:"Zamknąć",dont_show_again:"Nie pokazuj ponownie",enlange_reduce:"Powiększ / zmniejsz",add:"Dodać",exitnosave:"Wyjdź bez zapisu",annul:"Anulować",layer_is_added:"Warstwa o tej samej nazwie już dodanej",sidebar:{wms:{panel:{title:"Dodaj warstwę WMS",label:{position:"Pozycja mapy",name:"Nazwa",projections:"Występ",layers:"Warstwy"}},add_wms_layer:"Dodaj warstwę WMS",delete_wms_url:"Usuń adres URL WMS",layer_id_already_added:"Już dodana warstwa WMS",url_already_added:"WMS URL/Nazwa już dodana",layer_add_error:"Warstwa WMS nie dodano. Sprawdź wszystkich parametrów lub adresu URL WMS"}},info:{title:"Wyniki",list_of_relations:"Lista relacji",open_link:"Otwarty załączony dokument",server_error:"Wystąpił błąd z serwera",no_results:"Nie znaleziono wyników dla tego zapytania/wyszukiwania",link_button:"otwarty"},mapcontrols:{geolocations:{error:"Nie mogę zdobyć swojej pozycji"},geocoding:{choose_layer:"Wybierz warstwę, gdzie dodać tę funkcję",placeholder:"Adres ...",nolayers:"Brak edytowalnych warstw punktowych w tym projekcie",noresults:"Brak wyników",notresponseserver:"Brak odpowiedzi z serwera"},add_layer_control:{header:"Dodaj warstwę",select_projection:"Wybierz projekcję warstwy",select_field_to_show:"Wybierz pole, aby pokazać na mapie",select_csv_separator:"Wybierz Selimiter",select_csv_x_field:"Wybierz pole x",select_csv_y_field:"Wybierz pole Y.",select_color:"Wybierz kolor warstwy",drag_layer:"Przeciągnij i upuść warstwę tutaj"},query:{input_relation:"Kliknij, aby pokazać relacje"},length:{tooltip:"Długość"},area:{tooltip:"Obszar"},screenshot:{error:"Tworzenie błędów z ekranu",securityError:' \n

Błąd bezpieczeństwa: Warstwa zewnętrzna zapobiega wydrukowaniu mapy. Aby sprawdzić, postępuj w następujący sposób:

\n
    \n
  1. Usuń wszelkie ręcznie dodane warstwy zewnętrzne (np. WMORY WMS)
  2. \n
  3. Przeładowanie strony Siły: CTRL + F5
  4. \n
  5. Wydrukuj ponownie mapę
  6. \n
\n

Aby uzyskać więcej informacji, skontaktuj się z administratorem serwera o: ℹ️ security and tainted canvases

\n '}},catalog_items:{helptext:"Kliknij indywidualną warstwę prawym przyciskiem myszy, aby uzyskać dostęp do dodatkowych funkcji",contextmenu:{zoomtolayer:"Zoom do warstwy",open_attribute_table:"Otwórz tabelę atrybutów",show_metadata:"Metadane",styles:"Style",vector_color_menu:"Ustaw/zmiana kolor",layer_opacity:"Nieprzezroczystość",filters:"Filtry"}},dataTable:{previous:"Poprzedni",next:"Następny",lengthMenu:"Pokaż menu_",info:"Pokazanie _start_ do _end_ wpisów _total_",no_data:"Brak danych",nodatafilterd:"nie znaleziono pasujacego wyniku",infoFiltered:"(Filtrowane z _max_ całkowitych rekordów)"}}}},{}],141:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Eroare de conexiune",at_moment:"Momentan nu este posibil să afișați harta",f5:"Apăsați Ctrl+F5"},cookie_law:{message:"Acest website foloseste cookie-uri pentru a furniza vizitatorilor o experiență mult mai bună de navigare",buttonText:"Am înțeles!"},default:"Implicit",sign_in:"Logare",layer_selection_filter:{tools:{filter:"Activați/Dezactivați filtrul",nofilter:"Eliminare Filtrare",invert:"Inversare Selecție",clear:"Elimină Selecția",show_features_on_map:"Rezultatele se actualizează când harta este deplasată",savefilter:"Salvează Filtrul",filterName:"Nume Filtru"}},warning:{not_supported_format:"Formatul nu este acceptat"},layer_position:{top:"SUS",bottom:"JOS",message:"Poziție relativă la straturile din TOC"},sdk:{atlas:{template_dialog:{title:"Selectați Template"}},spatialbookmarks:{title:"Marcaje spațiale",helptext:"Deplasați-vă pe întinderea hărții, introduceți numele și faceți clic pe Adăugați",input:{name:"Nume"},sections:{project:{title:"Marcaje de proiect"},user:{title:"Marcaje utilizator"}}},search:{all:"Toate",no_results:"Fără rezultat",searching:"Căutare ...",error_loading:"Încărcarea a eșuat",layer_not_searchable:"Nu se poate căuta pe strat",layer_not_querable:"Stratul nu se poate interoga",autocomplete:{inputshort:{pre:"Te rog introdu",post:"sau mai multe caractere"}},help_filter:"Valorile de căutare sunt limitate în funcție de filtrul activ. Eliminați filtrul pentru a căuta toate datele.",autofilter:"Filtrați rezultatele"},print:{no_layers:"Nu avem straturi de print",template:"Șablon",labels:"Etichete",scale:"Scară",format:"Format",rotation:"Rotație",download_image:"Descarcă Imaginea",fids_instruction:"Valori acceptate: de la 1 la valoarea [max]. Este posibilă inserarea de interval, de ex. 4-6",fids_example:"Ex. 1,4-6 vor fi tipărite id 1,4,5,6",help:"Straturile prezentate în print pot fi acelea definite în proiect și nu acelea prezentate în cadrul hărții"},querybuilder:{search:{run:"Execută",info:"Info",delete:"Elimină",edit:"Modifică"},messages:{changed:"Salvat",number_of_features:"Număr de entități"},panel:{button:{all:"TOATE",save:"SALVEAZĂ",test:"TEST",clear:"ȘTERGE",run:"RUN",manual:"MANUAL"},layers:"STRATURI",fields:"CÂMPURI",values:"VALORI",operators:"OPERATORI",expression:"EXPRESII"},error_run:"A survenit o eroare. De verificat interogarea",error_test:"A survenit o eroare în timp ce se executa interogarea",delete:"Vrei să o ștergi?",additem:"Introdu numele noii căutări"},errors:{layers:{load:"Câteva straturi nu sunt disponibile"},unsupported_format:"Formatul nu este acceptat",add_external_layer:"Eroare încărcare strat"},metadata:{title:"Metadate",groups:{general:{title:"GENERALITĂȚI",fields:{title:"TITLU",name:"NUME",description:"DESCRIERE",abstract:"ABSTRACT",keywords:"CUVINTE CHEIE",fees:"TAXE",accessconstraints:"CONSTRÂNGERI DE ACCES",contactinformation:"CONTACTE",subfields:{contactinformation:{contactelectronicmailaddress:"Email",personprimary:"Referințe",contactvoicetelephone:"Telefon",contactorganization:"Organizație",ContactOrganization:"Organizație",contactposition:"Poziție",ContactPosition:"Poziție",contactperson:"Persoana",ContactPerson:"Persoana"}},wms_url:"WMS"}},spatial:{title:"SPAȚIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"STRATURI",fields:{layers:"STRATURI",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITLU",name:"NUME",geometrytype:"GEOMETRIE",source:"SURSA",attributes:"ATRIBUTE",abstract:"ABSTRACT",attribution:"ATRIBUIRE",keywords:"CUVINTE CHEIE",metadataurl:"URL METADATE",dataurl:"URL DATE"}},groups:{general:"GENERALITĂȚI",spatial:"SPAȚIAL"}}}},tooltips:{relations:{form_to_row:"Vizualizare pe rânduri",row_to_form:"Vizualizare formular",zoomtogeometry:"Măriți la geometrie"},copy_map_extent_url:"Copiază linkul de vizualizare hartă",download_shapefile:"Descarcă Shapefile",download_gpx:"Descarcă GPX",download_gpkg:"Descarcă GPKG",download_csv:"Descarcă CSV",download_xls:"Descarcă XLS",download_pdf:"Descarcă PDF",show_chart:"Arată Diagrama",atlas:"Tipărire Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Interogare strat",actions:{add_selection:{hint:"Adaugă/Elimină Selecția"},zoom_to_features_extent:{hint:"Zoom la încadrarea entităților"},add_features_to_results:{hint:"Adaugă/Elimină entități rezultat"},remove_feature_from_results:{hint:"Elimină entitate din rezultat"},zoom_to_feature:{hint:"Zoom la entitate"},relations:{hint:"Arată Relațiile"},relations_charts:{hint:"Arată diagrama de relații"},download_features_shapefile:{hint:"Descarcă entități în Shapefile"},download_shapefile:{hint:"Descarcă entitate în Shapefile"},download_features_gpx:{hint:"Descarcă entități în GPX"},download_features_gpkg:{hint:"Descarcă entități în GPKG"},download_gpx:{hint:"Descarcă entitate în GPX"},download_gpkg:{hint:"Descarcă entitate în GPKG"},download_features_csv:{hint:"Descarcă entități în CSV"},download_csv:{hint:"Descarcă entitate în CSV"},download_features_xls:{hint:"Descarcă entități în XLS"},download_xls:{hint:"Descarcă entitate în XLS"},download_pdf:{hint:"Descarcă entitate în PDF"},atlas:{hint:"Tipărire Atlas"},copy_zoom_to_fid_url:{hint:"Copiază URL hartă cu întinderea geometriei entității",hint_change:"Copiat"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Descărcare atribute",choiches:{feature:{label:"Doar entități"},feature_polygon:{label:"Entități+Poligon Interogare"}}},tooltip:"Interogare După Poligon",no_geometry:"Nu avem geometrii în răspuns",help:{message:"
  • Selectează un strat poligon din TOC.
  • Asigură-te că stratul este vizibil.
  • Click pe o entitate a stratului selectat.
"}},querybydrawpolygon:{tooltip:"Interogare prin poligon de desen"},querybbox:{tooltip:"Interogare BBox strat",nolayers_visible:"Nu este vizibil niciun strat de interogare. Trebuie setat cel puțin un strat WFS vizibil pentru a efectua interogarea",help:{message:"
  • Desenează un pătrat pe hartă pentru a interoga straturile din TOC de sub
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"Rezultateul pe hartă este parțial datorită prezenței următoarei liste de rezultate incorecte:"}},tooltip:"Adaugă Strat"},geolocation:{tooltip:"Geolocalizare"},measures:{length:{tooltip:"Lungime",help:"Click pe hartă pentru a desena linia. Apasă
CANC dacă dorești să ștergi ultimul vertex"},area:{tooltip:"Aria",help:"Click pentru desen poligon. Apasă
CANC dacă dorești să ștergi ultimul vertex"}},scale:{no_valid_scale:"Scară Invalidă"},scaleline:{units:{metric:"Metri",nautical:"Mile Nautice"}},zoomhistory:{zoom_last:"Zoom Anterior",zoom_next:"Zoom Urmatorul"}},relations:{relation_data:"Date Relații",no_relations_found:"Nu am găsit nicio relație",back_to_relations:"Înapoi la relații",list_of_relations_feature:"Lista de relații a entității",error_missing_father_field:"Câmpul de legătură lipsește",field:"Relation key field"},form:{loading:"Se încarcă ...",inputs:{messages:{errors:{picklayer:"Nu avem entitate selectată. Verifică dacă stratul este în editare sau vizibil la scara curentă if layer is on editing or visible at current scale"}},tooltips:{picklayer:"Ia valoare din strat",lonlat:"Click pe hartă pentru a prelua coordonate"},input_validation_mutually_exclusive:"Câmp ce se exclude mutual cu ",input_validation_error:"Câmp mandatoriu sau tip de date greșit",input_validation_error_type:"Tip de date greșit",input_validation_min_field:"Valoarea trebuie să fie mai mare/egală cu valoare câmpului ",input_validation_max_field:"Valoarea trebuie să fie mai mică/egală cu valoare câmpului ",input_validation_exclude_values:"Valoarea trebuie să fie unică",integer:"integer - nr. întreg",bigint:"integer - nr. întreg",text:"text",varchar:"text",textarea:"text",string:"string - text",date:"data",datetime:"data",float:"float - nr. cu zecimale",table:"tabelă"},footer:{required_fields:"Câmpuri necesare"},messages:{qgis_input_widget_relation:"Folosește formular specific de relații pentru a lucra cu relația"}},catalog:{current_map_theme_prefix:"TEMA",choose_map_theme:"ALEGE TEMA",choose_map_theme_input_label:"Numele noii tema",project_map_theme:"Tema de proiect",user_map_theme:"Tema utilizator",question_delete_map_theme:"Doriți să ștergeți tema?",delete_map_theme:"Tema a fost ștearsă cu succes",saved_map_theme:"Tema a fost salvată cu succes",updated_map_theme:"Tema a fost actualizată cu succes",invalid_map_theme_name:"Numele există deja sau este incorect",menu:{layerposition:"Poziție Strat",setwmsopacity:"Alege Opacitatea",wms:{title:"Titlu",copy:"Click pentru copiere URL",copied:"Copiat"},download:{unknow:"Descarcă",shp:"Descarcă Shapefile",gpx:"Descarcă GPX",gpkg:"Descarcă GPKG",csv:"Descarcă CSV",xls:"Descarcă XLS",geotiff:"Descarcă GEOTIFF",geotiff_map_extent:"Descarcă GEOTIFF(ce se vede în cadrul hărții)"}}},wps:{list_process:"Lista de procese",tooltip:"Click pe hartă"}},credits:{g3wSuiteFramework:"Aplicație bazată pe frameworkul",g3wSuiteDescription:"Publică și administrează proiectele de QGIS pe WEB",productOf:"Framework dezvoltat de"},toggle_color_scheme:"Comutare schemă de culori",logout:"Deconectare",no_other_projects:"No more project for this group",no_other_groups:"Nu mai sunt grupuri pentru acest macrogrup",yes:"Da",no:"Nu",back:"Înapoi",backto:"Înapoi la ",changemap:"Schimbare Hartă",change_session:"Schimbați sesiunea",component:"Componentă Generică",search:"Căutare",no_results:"Niciun rezultat găsit",print:"Tipărire",create_print:"Tipărește",dosearch:"Caută",catalog:"Hartă",data:"Data",externalwms:"WMS",baselayers:"Straturi Bază",tools:"Instrumente",tree:"Straturi",legend:"Legendă",nobaselayer:"Fără strat de bază",street_search:"Caută Adresă",show:"Arată",hide:"Ascunde",copy_form_data:"Copiază data",paste_form_data:"Lipește",copy_form_data_from_feature:"Copiază data din hartă",error_map_loading:"Sunt erori la încărcarea hărții",check_internet_connection_or_server_admin:"Verificați conexiune de internet sau contactați administratorul de sistem",could_not_load_vector_layers:"Eroare de conexiune: Straturile nu pot fi încărcate",server_saver_error:"Eroare la salvarea pe server",server_error:"Eroare de conexiune la server",save:"Salvează",cancel:"Anulează",update:"Actualizați",close:"Închide",dont_show_again:"Nu mai afișa mesajul",enlange_reduce:"Mărește / Micșorează",add:"Adaugă",exitnosave:"Ieșire fără salvare",annul:"Anulează",layer_is_added:"Există un strat cu același nume deja adăugat",sidebar:{wms:{panel:{title:"Adaugă strat WMS",label:{position:"Poziție Hartă",name:"Nume",projections:"Proiecție",layers:"Straturi"}},add_wms_layer:"Adaugă strat WMS",delete_wms_url:"Șterge URL WMS",layer_id_already_added:"Strat WMS deja adăugat",url_already_added:"URL WMS/Nume deja adăugat",layer_add_error:"Stratul WMS nu s-a adăugat. Verificați URL-ul sau parametrii WMS"}},info:{title:"Rezultate",list_of_relations:"List of Relations",open_link:"Deschide document atașat",server_error:"Serverul a întâmpinat o eroare",no_results:"Niciun rezultat",link_button:"Deschide"},mapcontrols:{geolocation:{error:"Nu te-am putut localiza"},geocoding:{choose_layer:"Alegeți un strat unde să adăugați această caracteristică",placeholder:"Adresa ...",nolayers:"Nu s-au găsit straturi de puncte editabile în acest proiect",noresults:"Niciun rezultat",notresponseserver:"Niciun răspuns de la server"},add_layer_control:{header:"Adăugare Strat",select_projection:"Selectează proiecția strat",select_field_to_show:"Selectează câmpul de arătat pe hartă",select_csv_separator:"Selectează delimitatorul",select_csv_x_field:"Selectează câmpul X - Est",select_csv_y_field:"Selectează câmpul Y - Nord",select_color:"Selectează culoare strat",drag_layer:"Trageți stratul aici (Drag&Drop)"},query:{input_relation:"Click pentru a arăta relațiile"},length:{tooltip:"Lungime"},area:{tooltip:"Arie"},screenshot:{error:"Eroare captură ecran",securityError:' \n

Eroare de securitate: un strat extern împiedică imprimarea hărții. Pentru a verifica, procedați după cum urmează:

\n
    \n
  1. eliminați orice straturi externe adăugate manual (de exemplu, straturi WMS)
  2. \n
  3. forțați reîncărcarea paginii: CTRL + F5
  4. \n
  5. tipărește din nou harta
  6. \n
\n

Pentru mai multe informații, vă rugăm să contactați administratorul serverului despre: ℹ️ securitate și pânze contaminate

\n '}},catalog_items:{helptext:"Click dreapta pe strat pentru a accesa opțiuni",contextmenu:{zoomtolayer:"Zoom pe Strat",open_attribute_table:"Deschide Tabela Atribute",show_metadata:"Metadate",styles:"Stiluri",vector_color_menu:"Setează/Schimbă Culoare",layer_opacity:"Opacitate",filters:"Filters"}},dataTable:{previous:"Anteriorul",next:"Următorul",lengthMenu:"Afișați _MENU_ valori pe pagină",info:"_TOTAL_ rezultate",no_data:"Fără date",nodatafilterd:"Niciun rezultat",infoFiltered:"(filtrat din _MAX_ de rezultate totale)"}}}},{}],142:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Anslutningsfel",at_moment:"För närvarande är det inte möjligt att visa kartan",f5:"Tryck på Ctrl+F5"},cookie_law:{message:"Denna applikation använder cookies för att den ska fungera så bra som möjligt för dig.",buttonText:"Jag accepterar"},default:"standard",sign_in:"Logga in",layer_selection_filter:{tools:{filter:"Aktivera/inaktivera filter",nofilter:"Avlägsna Filtrera",invert:"Invertera Urval",clear:"Annullera Urval",show_features_on_map:"Rezultatele se actualizează când harta este deplasată",savefilter:"Spara Filter",filterName:"Filternamn"}},warning:{not_supported_format:"Formatet stöds inte"},layer_position:{top:"Överst",bottom:"Underst",message:"Position relativt till lager i lagerlistan"},sdk:{atlas:{template_dialog:{title:"Välj Template"}},spatialbookmarks:{title:"Rumsliga bokmärken",helptext:"Flytta på kartans omfattning, ange namn och klicka på Lägg till",input:{name:"Namn"},sections:{project:{title:"Projektbokmärken"},user:{title:"Användarbokmärken"}}},search:{all:"ALLA",no_results:"Inga resultat",searching:"Sökning ...",error_loading:"Fel vid laddning av uppgifter.",layer_not_searchable:"Nivån kan inte sökas.",layer_not_querable:"Förfrågningar kan inte göras på nivån.",autocomplete:{inputshort:{pre:"Mata in",post:"eller flera tecken"}},help_filter:"Sökvärdena är begränsade baserat på det aktiva filtret. Ta bort filtret för att söka på all data.",autofilter:"Filtrera resultaten"},print:{no_layers:"Inga nivåer att skriva ut",template:"Template",labels:"Labels",scale:"Skala",format:"Format",rotation:"Rotation",download_image:"Ladda ner bild",fids_instruction:"Godkända värden: Från ett till värdet [max]. Mellanslag tillåts, t.ex. 4-6.",fids_example:"Exempelvis 1,4-6 skriver ut id 1,4,5,6.",help:"Nivåerna på utskriften kan vara specificerade i ett projekt inte sådana som visas på karta."},querybuilder:{search:{run:"Utför",info:"Information",delete:"Ta bort",edit:"Redigera"},messages:{changed:"Sparat",number_of_features:"Antal funktione"},panel:{button:{all:"ALLA",save:"SPARA",test:"TEST",clear:"TÖM",run:"UTFÖR",manual:"MANUELL"},layers:"NIVÅER",fields:"FÄLT",values:"VÄRDEN",operators:"OPERATÖRER",expression:"KLAUSUL"},error_run:"Ett fel inträffade. Kontrollera förfrågan.",error_test:"Ett fel inträffade när förfrågan utfördes.",delete:"Vill du ta bort den?",additem:"Ge den nya sökningen ett namn."},errors:{layers:{load:"Vissa nivåer är inte tillgängliga."},unsupported_format:"Formatet stöds inte",add_external_layer:"Fel vid laddning av nivån"},metadata:{title:"Metadata",groups:{general:{title:"ALLMÄN",fields:{title:"RUBRIK",name:"NAMN",description:"BESKRIVNING",abstract:"SAMMANDRAG",keywords:"NYCKELORD",fees:"AVGIFTER",accessconstraints:"ÅTKOMSTBEGRÄNSNINGAR",contactinformation:"KONTAKTUPPGIFTER",subfields:{contactinformation:{contactelectronicmailaddress:"E-post",personprimary:"Referenser",contactvoicetelephone:"Telefon",contactorganization:"Organisation",ContactOrganization:"Organisation",contactposition:"Ställning",ContactPosition:"Ställning",contactperson:"Kontaktperson",ContactPerson:"Kontaktperson"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"NIVÅER",fields:{layers:"NIVÅER",subfields:{crs:"EPSG",bbox:"BBOX",title:"RUBRIK",name:"NAMN",geometrytype:"GEOMETRI",source:"KÄLLA",attributes:"ATTRIBUT",abstract:"SAMMANDRAG",attribution:"TILLSKRIVNING",keywords:"NYCKELORD",metadataurl:"METADATA URL",dataurl:"DATA URL"}},groups:{general:"ALLMÄN",spatial:"SPATIAL"}}}},tooltips:{relations:{form_to_row:"Radvy",row_to_form:"Tabellvy",zoomtogeometry:"Zooma till geometri"},copy_map_extent_url:"Kopiera länk till karta",download_shapefile:"Ladda SHP-fil",download_gpx:"Ladda GPX-fil",download_gpkg:"Ladda GPKG-fil",download_csv:"Ladda CSV-fil",download_xls:"Ladda XLS-fil",download_pdf:"Ladda PDF-fil",show_chart:"Visa diagram",atlas:"Skriv ut Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Förfrågningsnivå",actions:{add_selection:{hint:"Lägg till/Avlägsna Urval"},zoom_to_features_extent:{hint:"Zooma till egenskapens omfattning"},add_features_to_results:{hint:"Add/Remove features to results"},remove_feature_from_results:{hint:"Remove feature from results"},zoom_to_feature:{hint:"Zooma till egenskapen"},relations:{hint:"Visa relationerna"},relations_charts:{hint:"Visa relationsdiagrammet"},download_features_shapefile:{hint:"Ladda egenskapens SHP-fil"},download_shapefile:{hint:"Ladda egenskapens SHP-fil"},download_features_gpx:{hint:"Ladda egenskapens GPX-fil"},download_features_gpkg:{hint:"Ladda egenskapens GPKG-fil"},download_gpx:{hint:"Ladda egenskapens GPX-fil"},download_gpkg:{hint:"Ladda egenskapens GPKG-fil"},download_features_csv:{hint:"Ladda egenskapens CSV-fil"},download_csv:{hint:"Ladda egenskapens CSV-fil"},download_features_xls:{hint:"Ladda egenskapens XLS-fil"},download_xls:{hint:"Ladda egenskapens XLS-fil"},download_pdf:{hint:"Ladda egenskapens PDF-fil"},atlas:{hint:"Skriv ut Atlas"},copy_zoom_to_fid_url:{hint:"Copy map URL with this geometry feature extension",hint_change:"Copied"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attributes download",choiches:{feature:{label:"Features only"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Förfrågan med polygon",no_geometry:"No geometry on response",help:{message:"
  • Välj polygonnivå i listan.
  • Kontrollera att nivån är synlig.
  • Välj egenskap på önskad nivå.
"}},querybydrawpolygon:{tooltip:"Fråga efter ritpolygon"},querybbox:{tooltip:"BBox-förfrågan som riktar sig till en nivå",nolayers_visible:"Inga nivåer som förfrågningar kan riktas till. Gör minst en WFS-nivå synlig för att kunna utföra sökningen.",help:{message:"
  • Rita upp en rektangel på kartan för att utföra förfrågan på de i listan understreckade nivåerna.
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"The result in the map is partial due to the presence of the below incorrect records list:"}},tooltip:"Lägg till nivå"},geolocation:{tooltip:"Geografiskt läge"},measures:{length:{tooltip:"Längd",help:"Rita upp en bruten linje på kartan. Tryck
CANC, om du vill ta bort föregående punkt."},area:{tooltip:"Område",help:"Rita upp en polygon på kartan. Tryck
CANC, om du vill ta bort föregående punkt."}},scale:{no_valid_scale:"Fel skala"},scaleline:{units:{metric:"Meters",nautical:"Nautical Mile"}},zoomhistory:{zoom_last:"Zoom Föregående",zoom_next:"Zoom Nästa"}},relations:{relation_data:"Relationsuppgifter",no_relations_found:"Inga relationer hittades.",back_to_relations:"Tillbaka till relationerna",list_of_relations_feature:"Lista på egenskapens relationer",error_missing_father_field:"Fält saknas",field:"Relation key field"},form:{loading:"Laddning...",inputs:{messages:{errors:{picklayer:"Inga egenskaper har valts. Kontroller att nivån kan redigeras eller att den syns med nuvarande skala."}},tooltips:{picklayer:"Välj värde på kartnivå",lonlat:"Click on map to get coordinates"},input_validation_mutually_exclusive:"Fälten utesluter varandra.",input_validation_error:"Obligatoriskt fält eller fel datatyp.",input_validation_error_type:"Fel datatyp.",input_validation_min_field:"Värdet ska vara större eller lika stort som värdet i fältet.",input_validation_max_field:"Värdet ska vara mindre eller lika stort som värdet i fältet.",input_validation_exclude_values:"Värdet ska vara unikt.",integer:"heltal",bigint:"heltal",text:"text",varchar:"text",textarea:"text",string:"teckensträng",date:"datum",datetime:"datum",float:"flyttal",table:"tabell"},footer:{required_fields:"Obligatoriska fält"},messages:{qgis_input_widget_relation:"Använd den specifika funktinen för att bestämma relationer"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"CHOOSE THEME",choose_map_theme_input_label:"Namn på det nya temat",project_map_theme:"Temat de proiect",user_map_theme:"Temat utilizator",question_delete_map_theme:"Vill du ta bort temat?",delete_map_theme:"Temat har tagits bort",saved_map_theme:"Temat har sparats",updated_map_theme:"Temat har uppdaterats",invalid_map_theme_name:"Namnet finns redan eller är felaktigt",menu:{layerposition:"Lagerposition",setwmsopacity:"Ställ in Opacitet",wms:{title:"",copy:"Tryck här för att kopiera url.",copied:"Kopierad."},download:{unknow:"Ladda",shp:"Ladda SHP-fil",gpx:"Ladda GPX-fil",gpkg:"Ladda GPKG-fil",csv:"Ladda CSV-fil",xls:"Ladda XLS-fil",geotiff:"Ladda GEOTIFF-fil",geotiff_map_extent:"Ladda GEOTIFF-fil(current view extent)"}}},wps:{list_process:"Lista på processer",tooltip:"Välj på kartan"}},credits:{g3wSuiteFramework:"Tillämpningen baserar på OS framework",g3wSuiteDescription:"Publicera och hantera QGIS-projekt på nätet.",productOf:"Framework har utvecklats av"},toggle_color_scheme:"Toggle color scheme",logout:"Logga ut",no_other_projects:"Inga projekt för denna grupp",no_other_groups:"Inga fler grupper för denna makrogrupp",yes:"Ja",no:"Nej",back:"Gå tillbaka",backto:"Tillbaka ",changemap:"Byt karta",change_session:"Ändra session",component:"Allmän komponent",search:"Sök",no_results:"Inga sökresultat",print:"Skriv ut",create_print:"Skapa utskrift",dosearch:"Sök",catalog:"Karta",data:"Data",externalwms:"WMS",baselayers:"Bakgrundskarta",tools:"Verktyg",tree:"Nivåer",legend:"Förklaring till beteckningarna",nobaselayer:"Ingen bakgrundskarta",street_search:"Sök adress",show:"Visa",hide:"Dölj",copy_form_data:"Kopiera uppgifterna",paste_form_data:"Infoga",copy_form_data_from_feature:"Kopiera uppgifter från kartan",error_map_loading:"Fel vid laddning av kartan",check_internet_connection_or_server_admin:"Kontrollera internetanslutningen eller kontakta administratören.",could_not_load_vector_layers:"Fel i anslutningen, nivåer kan inte laddas.",server_saver_error:"Fel vid lagring på servern.",server_error:"Fel på anslutningen till servern",save:"Spara",cancel:"Ånga",update:"Uppdatering",close:"Stäng",dont_show_again:"Visa inte det här meddelandet igen",enlange_reduce:"Förstora / Förminska",add:"Lägg till",exitnosave:"Lämna programmet utan att spara",annul:"Ångra",layer_is_added:"Lagret med samma namn har redan lagts till.",sidebar:{wms:{panel:{title:"Add WMS Layer",label:{position:"Map Position",name:"Name",projections:"Projection",layers:"Layers"}},add_wms_layer:"Aggiungi WMS layer",delete_wms_url:"Delete WMS url",layer_id_already_added:"WMS Nivån har redan lagts till.",url_already_added:"WMS URL/Namn har redan lagts till.",layer_add_error:"WMS Layer not added. Please check all wms parameter or url"}},info:{title:"Resultat",list_of_relations:"List of Relations",open_link:"Öppna filbilaga",server_error:"Ett fel uppstod på servern.",no_results:"Inga resultat för sökningen/förfrågan.",link_button:"Öppna"},mapcontrols:{geolocation:{error:"Du kan inte lokaliseras"},geocoding:{choose_layer:"Välj ett lager där du vill lägga till denna funktion",placeholder:"Adress ...",nolayers:"Inga redigerbara punktlager hittades i det här projektet",noresults:"Inga resultat",notresponseserver:"Inget svar från servern"},add_layer_control:{header:"Lägg till nivå",select_projection:"Välj projektion för nivån",select_field_to_show:"Select Field to show on map",select_csv_separator:"Select delimiter",select_csv_x_field:"Select X field",select_csv_y_field:"Select Y field",select_color:"Välj färg på nivån",drag_layer:"Dra och släpp nivån hit"},query:{input_relation:"Tryck för att visa relationerna"},length:{tooltip:"Längd"},area:{tooltip:"Areal"},screenshot:{error:"Screenshot error creation",securityError:' \n

Säkerhetsfel: ett externt lager hindrar kartan från att skrivas ut. Gör så här för att kontrollera:

\n
    \n
  1. ta bort alla manuellt tillagda externa lager (t.ex. WMS-lager)
  2. \n
  3. tvinga om inläsning av sidan: CTRL + F5
  4. \n
  5. skriv ut kartan igen
  6. \n
\n

För mer information kontakta serveradministratören om: ℹ️ säkerhet och nedsmutsade dukar

\n '}},catalog_items:{helptext:"Högerklicka på en enskild nivå för att komma till tilläggsegenskaperna.",contextmenu:{zoomtolayer:"Zooma till nivå",open_attribute_table:"Öppna attributtabellen",show_metadata:"Metadata",styles:"Stilar",vector_color_menu:"Ställ in/ändra färg",layer_opacity:"Opacitet",filters:"Filters"}},dataTable:{previous:"Föregående",next:"Nästa",lengthMenu:"Visa _MENU_ värden per sida",info:"_TOTAL_ resultat",no_data:"Inga uppgifter",nodatafilterd:"Inga motsvarande poster hittades",infoFiltered:"(filtered from _MAX_ total records)"}}}},{}],143:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.GeolocationControl=void 0;var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function a(){var t;if(this instanceof a)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,{visible:!0,offline:!1,enabled:!0,name:"geolocation",tipLabel:"sdk.mapcontrols.geolocation.tooltip",label:""})))._layer=new ol.layer.Vector({source:new ol.source.Vector,style:new ol.style.Style({text:new ol.style.Text({text:"",font:'900 3em "Font Awesome 5 Free"',fill:new ol.style.Fill({color:"red"}),offsetY:-15})})}),t._geolocation=new ol.Geolocation({trackingOptions:{enableHighAccuracy:!0}}),t.on("controlclick",function(e){t._geolocation.getTracking()?t._geolocation.setTracking(!1):t.geolocate()}),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(a,[{key:"_showMarker",value:function(e){var t=e.map,a=e.coordinates,e=e.show,e=void 0===e||e;this._layer&&(this._layer.getSource().clear(),e?(t.getView().setCenter(a),this._layer.getSource().addFeature(new ol.Feature({geometry:new ol.geom.Point(a)})),t.addLayer(this._layer)):t.removeLayer(this._layer))}},{key:"geolocate",value:function(){var t,a=this,i=this.getMap();i&&(t=void 0,this._geolocation.on("change:position",function(){var e=a._geolocation.getPosition();e&&(t=a.on("toggled",function(){a._showMarker({map:i,coordinates:a._geolocation.getPosition(),show:a.isToggled()})}),$(a.element).removeClass("g3w-ol-disabled"),a._showMarker({map:i,coordinates:e,show:a.isToggled()}))}),this._geolocation.on("error",function(e){a._layer=null,r.default.showUserMessage({type:"warning",title:"mapcontrols.geolocation.error",message:e.message,autoclose:!1}),a.toggle(!1),ol.Observable.unByKey(t),t=null}),this._geolocation.setProjection(i.getView().getProjection()),this._geolocation.setTracking(!0))}}]),a})(e.default)},{"map/controls/interactioncontrol":144,"services/gui":173}],144:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var e=0\n \n "}))).$mount().$el),(i=u(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e)))._options=e,i.cursorClass=e.cursorClass,i._originalonlick=null,i._onclick=e.onclick,i._enabled=e.enabled,i.offline=void 0===e.offline||e.offline,i.name=t,i.id=i.name+"_"+Math.floor(1e6*Math.random()),i.eventKeys={},i.positionCode=e.position||"tl",i.priority=e.priority||0,$(e.element).on("click",function(e){return i._handleClick(e)}),i.setVisible(e.visible),i._options.postRender&&i._options.postRender.call(i),i._toggled=!1,i._toggled=!1,i._interactionClassOptions=e.interactionClassOptions,e.interactionClass&&i.initInteraction(e),u(i)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(n,[{key:"setMouseCursor",value:function(e){var t=1t&&(e=$(this).position().left,a>$(this).outerWidth()&&(t+=a-$(this).outerWidth()),$(this).css("left",t+"px"),t=e,a=$(this).outerWidth())}),$(this.element).hide()}},{key:"setEnable",value:function(e){$(this.element).find("button").first().toggleClass("g3w-ol-disabled",!e),!e&&this._interaction&&this._interaction.setActive(!1),this._enabled=e}},{key:"getEnable",value:function(){return this._enabled}},{key:"setVisible",value:function(){var e=!(0\n \n ',data:function(){return{methods:o.SPATIAL_METHODS,method:t.getSpatialMethod()}},watch:{method:function(e){return t.setSpatialMethod(e)}},created:function(){s.default.toggleUserMessage(!1)},beforeDestroy:function(){s.default.toggleUserMessage(!0)}};break;case"custom":this.toggledTool=e.component}"how"===e.how&&this._onhover&&(this._toolButton=$(''),$(this.element).prepend(this._toolButton),this._toolButton.on("click",function(e){e.stopPropagation(),t.showToggledTool(!0)}),$(this.element).hover(function(){return t._toggled&&t._toolButton.show()}),$(this.element).mouseleave(function(){return t._toolButton.hide()}))}},{key:"showToggledTool",value:function(){!(0\n \n ',watch:{type:function(e,t){a.interactions[t].setActive(!1),a.interactions[t].clear(),a.getMap().removeInteraction(a.interactions[t]),a.getMap().addInteraction(a.interactions[e]),a.interactions[e].setActive(!0),a._interaction=a.interactions[e]}},created:function(){o.default.toggleUserMessage(!1)},beforeDestroy:function(){o.default.toggleUserMessage(!0)}})}}]),v);function v(){var e=0{var t,a=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var a,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,r({},e,{name:"queryby",label:"",tipLabel:"sdk.mapcontrols.queryby.title",enabled:!0,cursorClass:null})))).types=[],(e.types||[]).forEach(function(e){return a.addType(e)}),0===a.types.length?a.setVisible(!1):a.element.classList.add("ol-"+a.types[0]),(b.queryby=a).selectedLayer="__ALL__",a.on("toggled",function(e){var t;if(!e.toggled)return l.default.closeUserMessage();l.default.showUserMessage({title:"sdk.mapcontrols.queryby.title",type:"tool",size:"small",iconClass:"info",closable:!1,hooks:{body:{data:function(){return{types:a.types,type:a.types[0],methods:o.SPATIAL_METHODS,method:a.getSpatialMethod(),layers:[],selectedLayer:x()}},template:'\n
\n \x3c!-- DOCS URL --\x3e\n \n \n \n \x3c!-- SPATIAL METHOD --\x3e\n
\n \n
\n \x3c!-- QUERY TYPE --\x3e\n
\n \n
\n \x3c!-- RADIUS TYPE IN METERS--\x3e\n
\n \n
\n \n \x3c!-- CLEAR RADIUS --\x3e\n \n
\n
\n \x3c!-- SELECTED LAYER --\x3e\n
\n \n \n
\n \x3c!-- HELP TEXT --\x3e\n
\n \x3c!-- CLEAR SELECTION --\x3e\n \n
',computed:{control:function(){return b[this.type]},queryable:function(){var t=this;return(this.control.layers||[]).filter(function(e){return"querybypolygon"!==t.type||_.includes(e.getGeometryType())})},no_layers:function(){return!this.queryable||!k(this.control)},help:function(){return"sdk.mapcontrols."+this.type+".help.message"},all:function(){return this.no_layers?"sdk.mapcontrols.queryby.none":"sdk.mapcontrols.queryby.all"},radius:{get:function(){return w.radius},set:function(e){Number.isNaN(e)||e<0?this.radius=w.radius:(w.radius=Math.floor(e*("m"===l.default.getService("map").getMapUnits()?1:ol.proj.Units.METERS_PER_UNIT.degrees)),w.dfeature&&0  '+e.text+""):e.text},templateLayer:function(t){var e;return t.id&&"__NEW__"!==t.id?(e=l.default.getService("map").getLegacyExternalLayers(),e=(0,g.getCatalogLayerById)(t.id)||e.find(function(e){return e.get("id")===t.id}),e="__ALL__"!==t.id&&e?'  ':"",$(""+e+t.text+"")):t.text}},mounted:function(){b.queryby.usermessage=this,l.default.toggleUserMessage(!1),this.reset()},beforeDestroy:function(){l.default.toggleUserMessage(!0),a.types.forEach(function(e){b[e].toggle(!1),b[e].autorun=!1,b.queryby.element.classList.toggle("ol-"+e,e===a.types[0]),b[e].layers.forEach(function(e){return e.setTocHighlightable(!1)})})}}}})}),a;throw new TypeError("Cannot call a class as a function")}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e),i(n,[{key:"addType",value:function(n){var e,t,a=this;this.types.includes(n)||(this.types.splice(this.types.includes("querybypolygon")?this.types.indexOf("querybypoyling"):this.types.length,0,n),t=b[n]=new d.default({name:n,offline:!1,visible:!1,geometryTypes:["querybypolygon","querybydrawpolygon"].includes(n)?_:[],cursorClass:"querybypolygon"!==n?"ol-crosshair":"ol-pointer",interactionClass:{querybbox:ol.interaction.DragBox,querybycircle:ol.interaction.Draw,querybydrawpolygon:ol.interaction.Draw,querybypolygon:p.default}[n],interactionClassOptions:["querybydrawpolygon","querybycircle"].includes(n)?{type:"querybydrawpolygon"===n?"Polygon":"Circle"}:{},layers:S(n),onSetMap:function(e){var t,a,i=this,e=e.setter;"after"===e&&("querybbox"===n&&(t=null,this._interaction.on("boxstart",function(e){return t=e.coordinate}),this._interaction.on("boxend",(0,f.throttle)(function(e){w.bbox=ol.extent.boundingExtent([t,e.coordinate]),i.dispatchEvent({type:"bboxend",extent:w.bbox}),t=null,i._autountoggle&&i.toggle()})),this.setEventKey({eventType:"bboxend",eventKey:this.on("bboxend",function(){return b.queryby.runSpatialQuery("querybbox")})})),"querybycircle"===n&&this._interaction.on("drawstart",function(e){var t=e.feature.getGeometry();t.setRadius(w.radius),t.on("change",function(){return w.radius=t.getRadius()}),0{switch(t){case"querybypolygon":return w.feature;case"querybydrawpolygon":return w.dfeature;case"querybycircle":var e=w.dfeature.clone();return e.setGeometry(ol.geom.Polygon.fromCircle(w.dfeature.getGeometry(),64)),e}})(),external:{add:"querybypolygon"===t||!a||e.some(function(e){return e===a}),filter:{SELECTED:["querybydrawpolygon","querybycircle"].includes(t)&&(!a||e.some(function(e){return e===a}))}},type:(t||"").replace("queryby","")||void 0,multilayers:[].concat(i.state.querymultilayers).includes("querybypolygon"),filterConfig:{spatialMethod:n.getSpatialMethod()}},outputs:{show:function(e){e=e.error;return!(void 0!==e&&e)}}})),n.autorun=!0)}catch(e){}}),function(e){return t.apply(this,arguments)})}]),n})(d.default);function k(e){var t=l.default.getService("map").getSelectedLayer();return"querybypolygon"===e.name?!(!t||!t.isVisible()||!e.layers.some(function(e){return e!==t&&e.isVisible()&&e.isFilterable({ows:"WFS"})})&&!l.default.getService("map").getLegacyExternalLayers().find(function(e){return e!==t&&!0===e.visible})):!(!(e.layers||[]).some(function(e){return e.isVisible()})&&!l.default.getService("map").getLegacyExternalLayers().some(function(e){return e.visible}))}function S(t){var e=a("services/map").default.MapLayersStoresRegistry.getQuerableLayersStores();return[].concat(y(new Set([].concat(y(e.flatMap(function(e){return e.getLayers({GEOLAYER:!0,FILTERABLE:!0,SELECTED_OR_ALL:!0},{filtrable:{ows:"WFS"}})}).filter(function(e){return"wfs"===e.getProvider("filter").getName()})),y((l.default.getService("map").getLegacyExternalLayers()||[]).filter(function(e){return"querybypolygon"!==t||_.includes(e.getGeometryType())})),y("querybypolygon"===t?e.flatMap(function(e){return e.getLayers({GEOLAYER:!0,QUERYABLE:!0,SELECTED_OR_ALL:!0},{})}):[])))))}},{"g3w-constants":126,"g3w-eventbus":127,"g3w-i18n":129,"map/controls/interactioncontrol":144,"map/interactions/pickcoordinatesinteraction":150,"services/data":172,"services/gui":173,"services/map":175,"store/application":178,"utils/getCatalogLayerById":203,"utils/throttle":241}],147:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.ScaleControl=void 0;var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(o.__proto__||Object.getPrototypeOf(o)).call(this,e));return t.isMobile=e.isMobile||!1,t}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(o,[{key:"layout",value:function(t){var i=this,a=!1,n=!1,r=$(this.element).children("select").select2({tags:!0,dropdownParent:$(t.getTargetElement()),width:"120px",height:"20px",language:{noResults:function(){return d("sdk.mapcontrols.scale.no_valid_scale")}},minimumResultsForSearch:this.isMobile?-1:0,createTag:function(){var e=0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,r({name:"maptoimage",tipLabel:"Screenshot",label:"",clickmap:!0,enabled:!0,layers:[]},e)));return i.types=[],(e.types||[]).forEach(function(e){return i.addType(e)}),i.layers=e.layers,i.setVisible(i.checkVisible(i.layers)),i.isVisible()&&(s.default.getService("map").onafter("loadExternalLayer",i._addLayer.bind(i)),s.default.getService("map").onafter("unloadExternalLayer",i._removeLayer.bind(i))),i}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(n,[{key:"addType",value:function(e){var t,a=this;this.types.push(e),this.toggledTool=this.toggledTool||{__title:"sdk.mapcontrols.screenshot.title",__iconClass:"camera",data:function(){return{types:a.types,type:a.types[0]}},template:'\n
\n \n \n
',methods:{download:(t=c(function*(e){var t=s.default.getService("map");o.default.download=!0,e.target.disabled=!0;try{var a,i=yield t.createMapImage();"screenshot"===this.type?window.saveAs(i,"map_"+Date.now()+".png"):((a=new FormData).append("image",i),a.append("csrfmiddlewaretoken",t.getCookie("csrftoken")),a.append("bbox",t.getMapBBOX().toString()),window.saveAs(yield(yield fetch("/"+t.project.getType()+"/api/asgeotiff/"+t.project.getId()+"/",{method:"POST",body:a})).blob(),"map_"+Date.now()+".tif"))}catch(e){s.default.showUserMessage({type:"SecurityError"===err.name?"warning":"alert",message:"SecurityError"===err.name?"mapcontrols.screenshot.securityError":"mapcontrols.screenshot.error",autoclose:!1})}return o.default.download=!1,!(e.target.disabled=!1)}),function(e){return t.apply(this,arguments)})},created:function(){s.default.toggleUserMessage(!1)},beforeDestroy:function(){s.default.toggleUserMessage(!0)}}}},{key:"_addLayer",value:function(e){var t=this;this.layers.push(e),this.change(this.layers),e.on("change:visible",function(){return t.change(t.layers)})}},{key:"_removeLayer",value:function(t){this.layers=this.layers.filter(function(e){return e!==t}),this.change(this.layers)}},{key:"change",value:function(){this.setVisible(this.checkVisible(0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var t,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,r({},e,{offline:!1,visible:!0,name:"streetview",tipLabel:"StreetView",clickmap:!0,label:"",interactionClass:p.default,interactionClassOptions:{cursor:"ol-streetview"},cursorClass:"ol-streetview"})))).key=l.default.keys.vendorkeys.google,t.key&&c.XHR.get({url:g+"streetview",params:{location:0,size:"456x456",key:t.key}}).catch(function(e){t.keyError=e.responseText}),$script(g+"js?"+(t.key?"key="+t.key:"")),t._sv=null,t._panorama=null,t._map=null,t._projection=null,t._lastposition=null,t._streetViewFeature=new ol.Feature,t.active=!1,t._layer=new ol.layer.Vector({source:new ol.source.Vector({features:[]}),style:function(e){var e=e.getGeometry().getCoordinates(),t=(this._lastposition=this._lastposition||e,e[0]-this._lastposition[0]),a=e[1]-this._lastposition[1],a=-Math.atan2(a,t),t=[new ol.style.Style({text:new ol.style.Text({text:"",font:"bold 18px icomoon",fill:new ol.style.Fill({color:"#ffffff"})})}),new ol.style.Style({image:new ol.style.Icon({src:"/static/client/images/streetviewarrow.png",rotation:a})})];return this._lastposition=e,t}}),t.key&&u.default.on("closecontent",function(){t.isToggled()&&t._layer.getSource().clear()}),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o(n,[{key:"setProjection",value:function(e){this._projection=e}},{key:"setPosition",value:function(e){var t,a=this,i=this;this.active=!0,this._sv||(this._sv=new google.maps.StreetViewService),this._sv.getPanorama({location:e},function(e){i._panorama=new google.maps.StreetViewPanorama(document.getElementById("streetview"),{imageDateControl:!0}),i._panorama.addListener("position_changed",function(){var e;i.isToggled()&&(e=ol.proj.transform([this.getPosition().lng(),this.getPosition().lat()],"EPSG:4326",i._projection.getCode()),i._streetViewFeature.setGeometry(new ol.geom.Point(e)),(t=i._map.getPixelFromCoordinate(e))[0]+15>i._map.getSize()[0]||t[1]+15>i._map.getSize()[1]||t[0]<15||t[1]<15)&&i._map.getView().setCenter(e)}),e&&e.location&&(i._panorama.setPov({pitch:0,heading:0}),i._panorama.setPosition(e.location.latLng))}).then(function(e){void 0===e&&u.default.closeContent()}).catch(function(e){a.toggle()})}},{key:"setMap",value:function(e){var t=this;this._map=e,s(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"setMap",this).call(this,e),this.setProjection(this._map.getView().getProjection()),this._map.addLayer(this._layer),this._interaction.on("picked",function(e){e=e.coordinate;t.showStreetView(e),t._autountoggle&&t.toggle()})}},{key:"showStreetView",value:function(e){var t=ol.proj.transform(e,this._map.getView().getProjection().getCode(),"EPSG:4326"),t=i(t,2),a=t[0],t=t[1];this.key?(u.default.setContent({title:"StreetView",content:'
'+(this.keyError?''+this.keyError+"
":"")+""}),this.keyError||this.setPosition({lng:a,lat:t})):(this._streetViewFeature.setGeometry(new ol.geom.Point(e)),window.open("https://www.google.com/maps/@?api=1&map_action=pano&viewpoint="+t+","+a))}},{key:"clearMarker",value:function(){this._streetViewFeature.setGeometry(null)}},{key:"clear",value:function(){this._layer.getSource().clear(),this._streetViewFeature.setGeometry(null),this.clearMarker(),this._panorama=null,this.active&&u.default.closeContent(),this.active=!1}},{key:"toggle",value:function(e){s(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"toggle",this).call(this,e),this.isToggled()?this._layer.getSource().addFeatures([this._streetViewFeature]):this.clear()}}]),n})(d.default);a.StreetViewControl=e},{"map/controls/interactioncontrol":144,"map/interactions/pickcoordinatesinteraction":150,"services/gui":173,"store/application":178,"utils/XHR":181}],150:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,n({handleDownEvent:function(e){var t=this;return this._centerMap=e.map.getView().getCenter(),setTimeout(function(){t._centerMap===e.map.getView().getCenter()&&t.handleUpEvent(e)},300),!1},handleUpEvent:function(e){return this.dispatchEvent({type:"picked",coordinate:e.coordinate}),!1},handleMoveEvent:function(e){return e.map.getViewport().classList.add(this._cursor),!0}},e))))._cursor=e.cursor||"ol-pointer",t._centerMap=null,t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r(i,[{key:"shouldStopEvent",value:function(){return!1}},{key:"setActive",value:function(e){var t=this.getMap();t&&t.getViewport().classList.remove(this._cursor),o(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"setActive",this).call(this,e)}},{key:"setMap",value:function(e){e||this.getMap().getViewport().classList.remove(this._cursor),o(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"setMap",this).call(this,e)}}]),i})(ol.interaction.Pointer);a.default=s},{}],151:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,n({handleDownEvent:function(e){return this.pickedFeature_=this.featuresAtPixel_(e.pixel,e.map),this.pickedFeature_},handleUpEvent:function(e){return this.pickedFeature_&&this.dispatchEvent({type:"picked",feature:this.pickedFeature_,coordinate:e.coordinate,layer:this.pickedLayer_}),!0},handleMoveEvent:function(e){e.map.getTargetElement().style.cursor=this.featuresAtPixel_(e.pixel,e.map)?"pointer":""}},e))),a=e.features,t.features_=Array.isArray(a)&&0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var t,a=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this))).state={new:!1,state:null,visible:!0},t._uid=(0,u.getUniqueDomId)(),t._geometry=!1,a.feature&&a.properties&&Array.isArray(a.properties)?a.properties.forEach(function(e){return t.set(e,a.feature.get(e))}):a.feature&&t.setProperties(a.feature.getProperties()),a.feature&&(t.setId(a.feature.getId()),t.setGeometryName(a.feature.getGeometryName())),(e=a.feature&&a.feature.getGeometry())&&(t._geometry=!0,t.setGeometry(e)),(i=t.getStyle())&&t.setStyle(i),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r(n,[{key:"getUid",value:function(){return this._uid}},{key:"isGeometry",value:function(){return this._geometry}},{key:"cloneNew",value:function(e){var t=this.clone();return t._uid=(0,u.getUniqueDomId)(),t.setTemporaryId(),e&&!1===e.editable&&t.set(e.name,null),t}},{key:"clone",value:function(){var e=o(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"clone",this).call(this);return e.setId(this.getId()),this.isGeometry()&&e.setGeometry(e.getGeometry().clone()),(e=new n({feature:e}))._uid=this.getUid(),e.setState(this.getState()),this.isNew()&&e.setNew(),e}},{key:"setTemporaryId",value:function(){this.setId("_new_"+(0,u.getUniqueDomId)()),this.setNew()}},{key:"setNew",value:function(){this.state.new=!0}},{key:"delete",value:function(){return this.state.state="delete",this}},{key:"update",value:function(){return this.state.state="update",this}},{key:"add",value:function(){return this.state.state="add",this}},{key:"isNew",value:function(){return this.state.new}},{key:"isAdded",value:function(){return"add"===this.state.state}},{key:"isUpdated",value:function(){return"update"===this.state.state}},{key:"isDeleted",value:function(){return"delete"===this.state.state}},{key:"setState",value:function(e){this.state.state=e}},{key:"getState",value:function(){return this.state.state}},{key:"getAlphanumericProperties",value:function(){return Object.entries(this.getProperties()).filter(function(e){e=i(e,2),e=e[0];return!l.default.GEOMETRY_FIELDS.includes(e)}).reduce(function(e,t){t=i(t,2);return e[t[0]]=t[1],e},{})}},{key:"clearState",value:function(){this.state.state=null,this.state.new=!1}},{key:"isVisible",value:function(){return this.state.visible}},{key:"setVisible",value:function(){this.state.visible=!(0{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this)))._features=e.features||[],t._provider=e.provider||null,t._loadedIds=[],t._lockIds=[],t.setters={addFeatures:function(){var t=this;(0=this.state.maxscale&&e<=this.state.minscale)}},{key:"getStyles",value:function(){return(this.config.source.external?this.config.source:this.config).styles}},{key:"getStyle",value:function(){return this.config.source.external?this.config.source.styles:this.config.styles?this.config.styles.find(function(e){return e.current}).name:""}},{key:"getOpacity",value:function(){return this.state.opacity}},{key:"setCurrentStyle",value:function(t){var e=!this.config.styles.find(function(e){return t===e.name}).current;return this.config.styles.forEach(function(e){return e.current=t===e.name}),e}},{key:"getCurrentStyle",value:function(){return this.config.styles.find(function(e){return e.current})}},{key:"setDisabled",value:function(e){if(this.state.scalebasedvisibility){for(var e=(0,l.getScaleFromResolution)(e,1=this.state.maxscale&&e<=this.state.minscale),this.state.disabled=0===this.state.minscale?!(e>=this.state.maxscale):this.state.disabled,!0),a=this.state.parentGroup;a;)t=t&&a.checked,a=a.parentGroup;t&&this.setVisible(!this.state.disabled),this.isFilterable()&&this.setTocHighlightable(!this.state.disabled)}else this.state.disabled=!1}},{key:"getMultiLayerId",value:function(){return this.config.multilayerid}},{key:"getGeometryType",value:function(){return this.config.geometrytype}},{key:"getOwsMethod",value:function(){return this.config.ows_method}},{key:"setProjection",value:function(){this.config.projection=s.default.get(0{var a,i={};for(a in e)0<=t.indexOf(a)||Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=e[a]);return i})(s,["force"]);l||(t=e.resolution,a=e.mapUnits,this.allLayers.forEach(function(e){return e.setDisabled(t,a),e.isDisabled()})),"XYZ"===this.config.type?this._olLayer.setVisible(this.layer.isVisible()):(s=this.layers.filter(function(e){return e.isVisible()&&(!u.layerId||u.layerId===e.getId())})||[]).length<=0?this._olLayer.setVisible(!1):(i=[],n=[],o=r=void 0,s.forEach(function(e){var t=(0,P.get_legend_params)(e),a=t.LEGEND_ON,t=t.LEGEND_OFF;i.push(e.getStyle()),n.push(parseInt(e.getOpacity()/100*255)),a&&(r=void 0===r?a:r+";"+a),t&&(o=void 0===o?t:o+";"+t)}),this._olLayer.setVisible(!0),this._olLayer.getSource().updateParams&&this._olLayer.getSource().updateParams(T({},u,{LEGEND_ON:r,LEGEND_OFF:o,filtertoken:C.default.tokens.filtertoken,LAYERS:(s[0].isArcgisMapserver()?"show:":"")+s.map(function(e){return e.getWMSLayerName()}).join(","),STYLES:i.join(","),OPACITIES:n.join(",")})))}},{key:"setupCustomMapParamsToLegendUrl",value:function(){var t=0{var t,a,i,n,r,o,s,l,u,c,d,p,f,g,h,y=v;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function v(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(v.__proto__||Object.getPrototypeOf(v)).call(this))),t=t.project||x.default.project,i=e.baselayer?"":t.getType()+"/"+t.getId()+"/"+e.id+"/",n=e.baselayer?"":t.state.vectorurl,r=e.baselayer?"":t.state.rasterurl,r=(a.config=Object.assign(e,m({id:e.id||"Layer",title:e.title||e.name,download:!!e.download,geolayer:!1,baselayer:!!e.baselayer,fields:e.fields||{},urls:m({query:e.infourl||e.wmsUrl},e.urls||{},e.baselayer?{}:{filtertoken:n+"filtertoken/"+i,data:n+"data/"+i,shp:n+"shp/"+i,csv:n+"csv/"+i,xls:n+"xls/"+i,gpx:n+"gpx/"+i,gpkg:n+"gpkg/"+i,geotiff:r+"geotiff/"+i,editing:n+"editing/"+i,commit:n+"commit/"+i,config:n+"config/"+i,unlock:n+"unlock/"+i,widget:{unique:n+"widget/unique/data/"+i},featurecount:t.getUrl("featurecount"),pdf:"/html2pdf/"})},e.baselayer?{}:{searchParams:{I:0,J:0}},{search_endpoint:"api"})),t.getRelations().filter(function(e){return[e.referencedLayer,e.referencingLayer].includes(a.getId())})),n=(a._relations={_relations:(r||[]).reduce(function(e){var t=1{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this))).config={id:e.id||Date.now(),projection:e.projection,extent:e.extent,initextent:e.initextent,wmsUrl:e.wmsUrl,catalog:!0!==e.catalog&&!1!==e.catalog||e.catalog},t.state={layerstree:[],relations:null},t._isQueryable=!0!==e.queryable&&!1!==e.queryable||e.queryable,t._layers=t.config.layers||{},t.setters={setLayerSelected:function(t,a){this.getLayers().forEach(function(e){return e.state.selected=t===e.getId()&&a})},addLayers:function(){var t=this;(0{var t,a=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var r,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e,o))).setters={clearFeatures:function(){this._featuresstore.clearFeatures()},addFeature:function(e){this._featuresstore.addFeature(e)},updateFeature:function(e){this._featuresstore.updateFeature(e)},setFeatures:function(e){this._featuresstore.setFeatures(e)},setColor:function(e){this._color=e},getFeatures:function(){var t=this,a=0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t)))._mapLayer=null,a.type=f.Layer.LayerTypes.VECTOR,i=e.servertype+" "+(e.source&&e.source.type),a.setup(e,t),"G3WSUITE geojson"==i&&(a._g3w_geojson=!0,a.config.style=e.style,a.setup(e)),a;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r(n,[{key:"getEditingLayer",value:function(){return this.getMapLayer().getOLLayer()}},{key:"resetEditingSource",value:function(){var e=0+this.tovalidate[e.validate.min_field].value:this.tovalidate[e.validate.max_field].validate.empty||+e.value<+this.tovalidate[e.validate.max_field].value,e.validate.valid&&(this.tovalidate[t].validate.valid=!0));this.valid=Object.values(this.tovalidate).reduce(function(e,t){return e&&t.validate.valid},!0)}},created:function(){this.tovalidate=[]},destroyed:function(){this.tovalidate=null}}},{}],165:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var e=e("services/gui"),i=(e=e)&&e.__esModule?e:{default:e};a.default={methods:{showLayer:function(){this.visible=!this.visible,this.layer.setVisible(this.visible)}},created:function(){var e=this.data,t=i.default.getService("map").getProjection().getCode(),a=void 0;switch(e.type){case"Point":case"MultiPoint":a=[new ol.style.Style({image:new ol.style.Circle({radius:6,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})}),new ol.style.Style({image:new ol.style.Circle({radius:2,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})})];break;case"Line":case"MultiLineString":case"Polygon":case"MultiPolygon":a=new ol.style.Style({fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.3)"}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:(new ol.format.GeoJSON).readFeatures(e,{featureProjection:t})}),visible:!!this.visible,style:a}),i.default.getService("map").getMap().addLayer(this.layer)},beforeDestroy:function(){i.default.getService("map").getMap().removeLayer(this.layer)}}},{"services/gui":173}],166:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.mixins=a.autocompleteMixin=a.baseInputMixin=a.formInputsMixins=a.select2Mixin=a.selectMixin=a.resizeMixin=a.geoMixin=a.mediaMixin=a.fieldsMixin=void 0;var i=d(e("mixins/autocomplete")),n=d(e("mixins/fields")),r=d(e("mixins/media")),o=d(e("mixins/geo")),s=d(e("mixins/resize")),l=d(e("mixins/select")),u=d(e("mixins/select2")),c=d(e("mixins/form-inputs")),e=d(e("mixins/base-input"));function d(e){return e&&e.__esModule?e:{default:e}}var p={autocompleteMixin:i.default,fieldsMixin:n.default,mediaMixin:r.default,geoMixin:o.default,resizeMixin:s.default,selectMixin:l.default,select2Mixin:u.default,formInputsMixins:c.default,baseInputMixin:e.default};a.fieldsMixin=n.default,a.mediaMixin=r.default,a.geoMixin=o.default,a.resizeMixin=s.default,a.selectMixin=l.default,a.select2Mixin=u.default,a.formInputsMixins=c.default,a.baseInputMixin=e.default,a.autocompleteMixin=i.default,a.mixins=p,a.default=p},{"mixins/autocomplete":160,"mixins/base-input":161,"mixins/fields":163,"mixins/form-inputs":164,"mixins/geo":165,"mixins/media":167,"mixins/resize":168,"mixins/select":169,"mixins/select2":170}],167:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a.default={computed:{filename:function(){return this.value&&this.value.split("/").pop()}},methods:{isMedia:function(e){return!(!e||"object"!==(void 0===e?"undefined":i(e))||Object!==e.constructor||!e.mime_type)},getMediaType:function(e){var t={type:null,options:{}};switch(e){case"image/gif":case"image/png":case"image/jpeg":case"image/bmp":t.type="image";break;case"application/pdf":t.type="pdf";break;case"video/mp4":case"video/ogg":case"video/x-ms-wmv":case"video/x-msvideo":case"video/quicktime":t.type="video",t.options.format=e;break;case"application/gzip":case"application/zip":t.type="zip";break;case"application/msword":case"application/vnd.oasis.opendocument.text":t.type="text";break;case"application/vnd.ms-office":case"application/vnd.oasis.opendocument.spreadsheet":t.type="excel";break;case"application/vnd.openxmlformats-officedocument.presentationml.presentation":case"application/vnd.ms-powerpoint":case"application/vnd.oasis.opendocument.presentation":t.type="ppt";break;default:t.type="unknow"}return t}}}},{}],168:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=e("services/gui"),n=(i=i)&&i.__esModule?i:{default:i},i=e("utils/throttle"),e=e("utils/debounce");function r(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}var o,s={throttle:i.throttle,debounce:e.debounce};a.default={created:function(){var e=this.delayType&&s[this.delayType]||s.throttle;this.delayResize=this.resize?e(this.resize.bind(this),this.delayTime):null,n.default.on("resize",this.delayResize)},mounted:(o=r(function*(){yield this.$nextTick(),this.resize&&this.resize()}),function(){return o.apply(this,arguments)}),beforeDestroy:function(){n.default.off("resize",this.delayResize),this.delayResize=null,this.delayTime=null}}},{"services/gui":173,"utils/debounce":198,"utils/throttle":241}],169:[function(e,t,a){function i(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}var n,r;Object.defineProperty(a,"__esModule",{value:!0}),a.default={methods:{getLanguage:function(){return window.initConfig.user.i18n||"en"},changeSelect:(r=i(function*(e){this.state.value="null"===e?null:e,yield this.$nextTick(),this.change()}),function(e){return r.apply(this,arguments)}),getValue:function(e){return null===e?"null":e},resetValues:function(){this.state.input.options.values.splice(0)}},computed:{autocomplete:function(){return"select_autocomplete"===this.state.input.type&&this.state.input.options.usecompleter}},watch:{notvalid:(n=i(function*(e){yield this.$nextTick(),this.select2&&this.select2.data("select2").$container[e?"addClass":"removeClass"]("input-error-validation")}),function(e){return n.apply(this,arguments)})}}},{}],170:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=n(e("store/application")),e=n(e("mixins/resize"));function n(e){return e&&e.__esModule?e:{default:e}}a.default={mixins:[e.default],methods:{setValue:function(){this.select2.val(this.state.value).trigger("change")},resize:function(){this.select2&&!i.default.ismobile&&this.select2.select2("close")}},beforeDestroy:function(){this.select2&&(this.select2.select2("destroy"),this.select2.off(),this.select2=null)}}},{"mixins/resize":168,"store/application":178}],171:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=e("g3w-constants"),e=e("g3w-object");e=new((e=e)&&e.__esModule?e:{default:e}).default({setters:{online:function(){},offline:function(){}}});e.version=i.APP_VERSION,a.default=e},{"g3w-constants":126,"g3w-object":130}],172:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t{var a,i={};for(a in e)0<=t.indexOf(a)||Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=e[a]);return i})(t,["layer"]),i=(a.filter=[].concat(a.filter),a.page_size=(a.page_sizes||[])[0],[]),n=[];return{data:(yield Promise.allSettled([].concat(e).map(function(e,t){return e.searchFeatures(c({},a,{filter:a.filter[t]}))}))).filter(function(e){return"fulfilled"===e.status}).map(function(){var e,t=(0{var t,a,i,n,r,o,s,l,u=c;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function c(e){var t,a;if(this instanceof c)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,e))).setters={setContent:(a=L(function*(){var e,t=0 "+n+" "):$(n):n,$(i.parent).append(e),_.default.contentsdata.push({content:e,options:t})):(n.mount&&"function"==typeof n.mount?(-1!==(e=_.default.contentsdata.findIndex(function(e){return e.content.getId&&n.getId()===e.content.getId()}))&&(yield(0,k.promisify)(_.default.contentsdata[e].content.unmount()),_.default.contentsdata.splice(e,1)),yield(0,k.promisify)(n.mount(i.parent,t.append||!1)),$(i.parent).localize()):i.parent.appendChild(n),_.default.contentsdata.push({content:n,options:t})),Array.from(i.internalComponent.$el.children).forEach(function(e,t,a){return e.style.display=t===a.length-1?"block":"none"}),i.setOpen(!0),this._layoutComponents(a)}),function(){return a.apply(this,arguments)})},t.isready=!1,t.push_content=!1,t._closeUserMessage=!0,t.dialog=bootbox,t.notify={warning:function(e){t.showUserMessage({type:"warning",message:e,autoclose:1 "+t+" "):$(t):t,$(a).append(e),n.push({content:e,options:i})):(t.mount&&"function"==typeof t.mount?(-1!==(e=n.findIndex(function(e){return e.content.getId&&t.getId()===e.content.getId()}))&&(yield(0,k.promisify)(n[e].content.unmount()),n.splice(e,1)),yield(0,k.promisify)(t.mount(a,i.append||!1)),$(a).localize()):a.appendChild(t),n.push({content:t,options:i}))}),function(e){return r.apply(this,arguments)})},{key:"closePanel",value:(n=L(function*(){var e,t=_.default.sidebar.contentsdata;t.length<=0||((e=t.slice(-1)[0].content)instanceof v.default||e instanceof m.default?yield(0,k.promisify)(e.unmount()):$(_.default.sidebar.parent).empty(),t.pop(),(e=_.default.sidebar.contentsdata.at(-1))&&($(e.content.internalPanel.$el).show(),_.default.sidebar.title=e.content.title))}),function(){return n.apply(this,arguments)})},{key:"showUserMessage",value:function(){var e=0
')}},{key:"hideSpinner",value:function(){$("#"+(0{var t,a,i,n,r,o,s,u=c;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function c(){var t,a;if(this instanceof c)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(c.__proto__||Object.getPrototypeOf(c)).call(this))).state={mapUnits:"m",bbox:[],hidemaps:[],resolution:null,center:null,loading:!1,hidden:!0,scale:0,map_info:{info:null,style:null},mapunits:["metric"]},t._ready=new Promise(function(e){return t.once("viewerset",e)}),t.viewer=null,t.target="map",t.layersCount=0,t.project=y.default.project,t._controls=[],t._layers={base:{},g3w:[],external_wms:[],external_vector:[],external:[]},t._externalInteractions=[],t.defaultsLayers={mapcenter:new ol.layer.Vector({source:new ol.source.Vector,style:new ol.style.Style({image:new ol.style.Icon({opacity:1,src:"/static/client/images/mapcentermarker.svg",scale:.8})})}),_style:{highlightLayer:{color:void 0},selectionLayer:{color:"red"}},highlightLayer:new ol.layer.Vector({source:new ol.source.Vector,style:function(e){return[(0,x.createSelectedStyle)({geometryType:e.getGeometry().getType(),color:t.defaultsLayers._style.highlightLayer.color,fill:!0})]}}),selectionLayer:new ol.layer.Vector({source:new ol.source.Vector})},t.layersExtraParams={},t._drawShadow={type:"coordinate",outer:[],inner:[],scale:null,rotation:null,listener:null},t.config=window.initConfig,t._howManyAreLoading=0,t._marker=null,t.onLayerLoadStart=t.onLayerLoadStart.bind(t),t.onLayerLoadEnd=t.onLayerLoadEnd.bind(t),t.onLayerLoadError=t.onLayerLoadError.bind(t),t.onExtraParamsSet=t.onExtraParamsSet.bind(t),t.updateMapLayers=t.updateMapLayers.bind(t),t._keyEvents={ol:[],stores:[],unwatches:[]},t.project.onafter("setBaseLayer",t.updateMapLayers),t.debounces={setupCustomMapParamsToLegendUrl:{fnc:function(){t._setupCustomMapParamsToLegendUrl.apply(t,arguments)},delay:1e3}},t.setters={setupControls:function(){var s=this,e=this.config,t=e.header_terms_of_use_text,e=e.header_terms_of_use_link,a=!!t&&(e?''+t+"":''+t+"");if(this.getMapLayers().forEach(function(e){return e.getSource().setAttributions(a)}),(a||(0,k.getMapLayersByFilter)({BASELAYER:!0}).length)&&this.getMap().addControl(new ol.control.Attribution({collapsible:!1,target:"map_footer_left"})),this.config&&this.config.mapcontrols)return e=Array.isArray(this.config.mapcontrols)?this.config.mapcontrols.reduce(function(e,t){return e[t]={},e},{}):this.config.mapcontrols,Object.entries(e).forEach(function(e){var a,i,t,n,e=p(e,2),r=e[0],e=e[1],o=void 0===e?{}:e;switch(r){case"zoom":s.createMapControl(r);break;case"zoombox":isMobile.any||s.createMapControl(r,{}).on("zoomend",function(e){return s.viewer.fit(e.extent)});break;case"zoomtoextent":s.createMapControl(r,{options:{label:"",extent:s.project.state.initextent}});break;case"mouseposition":isMobile.any||(a="degrees"===s.getProjection().getUnits(),i=s.getEpsg(),n=s.createMapControl(r,{add:!(t=function(e,t){return"EPSG:4326"===e?ol.coordinate.format(ol.proj.transform(t,i,"EPSG:4326")," Lng: {x}, Lat: {y}   [EPSG:4326] ",4):ol.coordinate.format(t," "+(a?"Lng":"X")+": {x}, "+(a?"Lat":"Y")+": {y}   ["+e+"] ",a?4:2)}),options:{coordinateFormat:t.bind(null,i),undefinedHTML:!1,projection:s.getCrs()}}),"EPSG:4326"!==i&&n.on("change:epsg",function(e){return n.setCoordinateFormat(t.bind(null,e.epsg))}));break;case"screenshot":case"geoscreenshot":isMobile.any||(s.getMapControlByType("screenshot")?s.getMapControlByType("screenshot").addType(r):s.createMapControl("screenshot",{options:{types:[r],layers:[].concat(F(R.layers.getLayers()),F(s._layers.external))}}));break;case"scale":s.createMapControl(r,{add:!1,options:{coordinateFormat:ol.coordinate.createStringXY(4),projection:s.getCrs(),isMobile:isMobile.any}});break;case"query":s.createMapControl(r,{add:!0,toggled:!0});break;case"querybypolygon":case"querybbox":case"querybycircle":case"querybydrawpolygon":isMobile.any||(s.getMapControlByType("queryby")?s.getMapControlByType("queryby").addType(r):s.createMapControl("queryby",{options:{types:[r]}}));break;case"streetview":s.createMapControl(r,{});break;case"scaleline":s.createMapControl(r,{add:!1,options:{position:"br"}});break;case"overview":!isMobile.any&&window.initConfig.overviewproject&&(0,V.getProject)(window.initConfig.overviewproject).then(function(i){var a=s.getMap(),n=new ol.View(s._calculateViewOptions({project:i,width:200,height:150}));n.on("change:center",function(){var e=n.getCenter(),t=a.getView().constrainCenter(e);t[0]===e[0]&&t[1]===e[1]||n.setCenter(t)}),s.createMapControl(r,{add:!1,options:{view:n,position:"bl",collapsed:!1,className:"ol-overviewmap ol-custom-overviewmap",collapseLabel:$('')[0],label:$('')[0],layers:Object.entries(i.getLayersStore().getLayers({GEOLAYER:!0,BASELAYER:!1}).reduce(function(e,t){var a=t.getMultiLayerId();return e[a]=e[a]||[],e[a].push(t),e},{})||[]).map(function(e){var e=p(e,2),t=e[0],e=e[1],a=new(d("map/layers/imagelayer").RasterLayer)({url:i.state.WMSUrl,id:"overview_layer_"+t,tiled:e[0].state.tiled});return e.reverse().forEach(function(e){return a.addLayer(e)}),a.getOLLayer(!0)}).reverse()}}),document.querySelector(".g3w-map-controls-left-bottom").style.left="230px",new MutationObserver(function(e){e.forEach(function(e){"class"===e.attributeName&&(document.querySelector(".g3w-map-controls-left-bottom").style.left=e.target.classList.contains("ol-collapsed")?"50px":"230px")})}).observe(document.querySelector(".ol-custom-overviewmap"),{attributes:!0})}).catch(function(e){});break;case"geocoding":case"nominatim":s.createMapControl(r,{add:!1,options:{config:o}});break;case"geolocation":s.createMapControl(r).on("click",(0,T.throttle)(function(e){return s.showMarker(e.coordinates)}));break;case"addlayers":isMobile.any||s.createMapControl(r,{}).on("addlayer",function(){return s.showAddLayerModal()});break;case"length":case"area":isMobile.any||(s.getMapControlByType("measure")?s.getMapControlByType("measure").addType(r):s.createMapControl("measure",{options:{name:"measure",tipLabel:"sdk.mapcontrols.measures.title",types:[r],interactionClassOptions:{projection:s.getProjection(),help:"sdk.mapcontrols.measures."+r+".help"}}}));break;case"zoomhistory":$(".g3w-map-controls-left-bottom").append(s.createMapControl(r,{add:!1}).element)}}),this.getMapControls()},addHideMap:function(){var e=(0'),this.viewer.map.getInteractions().forEach(function(e){return d._watchInteraction(e)}),this.viewer.map.getInteractions().on("add",function(e){return d._watchInteraction(e.element)}),this._marker=new ol.Overlay({position:null,positioning:"center-center",element:document.getElementById("marker"),stopEvent:!1}),this.viewer.map.addOverlay(this._marker),this.viewer.map.getLayers().on("add",function(e){e=d.setLayerZIndex({layer:e.element,zindex:e.element.get("basemap")||"bottom"===e.element.get("position")?0:void 0});d.defaultsLayers.mapcenter&&d.defaultsLayers.mapcenter.setZIndex(e+1),d.defaultsLayers.highlightLayer&&d.defaultsLayers.highlightLayer.setZIndex(e+1),d.defaultsLayers.selectionLayer&&d.defaultsLayers.selectionLayer.setZIndex(e+2)}),this.viewer.map.getLayers().on("remove",function(e){e.element.getZIndex()===d.layersCount&&d.layersCount--}),this.state.bbox=this.getMapBBOX(),this.state.resolution=this.viewer.getResolution(),this.state.center=this.viewer.getCenter(),this._setupAllLayers(),this.setUpMapOlEvents(),R.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this)),R.layers.onafter("addLayersStore",this._setUpEventsKeysToLayersStore.bind(this)),R.layers.onafter("removeLayersStore",this._removeEventsKeysToLayersStore.bind(this)),this.emit("viewerset"),this.setupControls(),this.emit("ready"))}),function(e,t){return a.apply(this,arguments)}),controlClick:function(e){},loadExternalLayer:function(e){},unloadExternalLayer:function(e){}},t.on("extraParamsSet",t.onExtraParamsSet),t;throw new TypeError("Cannot call a class as a function")}return u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(u,e):u.__proto__=e),f(c,[{key:"onExtraParamsSet",value:function(t,e){var a=this;e&&this.getMapLayers().forEach(function(e){return e.update(a.state,t)})}},{key:"onLayerLoadStart",value:function(){0===this._howManyAreLoading&&(this.emit("loadstart"),O.default.showSpinner({container:$("#map-spinner"),id:"maploadspinner",style:"transparent"})),this._howManyAreLoading+=1}},{key:"onLayerLoadEnd",value:function(){--this._howManyAreLoading,0===this._howManyAreLoading&&(this.emit("loadend"),O.default.hideSpinner("maploadspinner"))}},{key:"onLayerLoadError",value:function(){this.project.state.show_load_layer_error&&(this.onLayerLoadError.shown||(O.default.notify.warning("sdk.errors.layers.load"),this.onLayerLoadError.shown=!0),this.onLayerLoadEnd())}},{key:"isReady",value:function(){return this._ready}},{key:"setUpMapOlEvents",value:function(){var e=this,t=this.project.state.context_base_legend;this._keyEvents.ol.forEach(function(e){return ol.Observable.unByKey(e)}),this._keyEvents.ol.push(this.viewer.map.getView().on("change:resolution",function(){e.state.bbox=e.getMapBBOX(),e.state.resolution=e.viewer.getResolution(),e.state.center=e.viewer.getCenter(),e.updateMapLayers(),t&&e.setupCustomMapParamsToLegendUrl()})),t?this._keyEvents.ol.push(this.viewer.map.on("moveend",function(){return e.setupCustomMapParamsToLegendUrl()})):this.setupCustomMapParamsToLegendUrl()}},{key:"clear",value:function(){this.removeListener("extraParamsSet",this.onExtraParamsSet),this._keyEvents.ol.forEach(function(e){return ol.Observable.unByKey(e)}),this._keyEvents.ol.splice(0),R.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this))}},{key:"_addHideMap",value:function(){var e=0{var a,r,n,t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var t,a;if(this instanceof i)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this))).setters={setQueryResponse:function(a){var i,n,b=this,e=1a._projectLayerIds.indexOf(t.id)?1:-1}),e.forEach(function(e,t){e.filter.pagination=e.filter.pagination||!!(a.state.query.pagination&&a.state.query.pagination.counts[t]>e.features.length),i.add||i.update?a.updateLayerResultFeatures(e,i.update):a.state.layers.push(e)}),this.setActionsForLayers(e,{add:i.add,update:i.update}),this.state.changed=!0},addComponent:function(e){this.state.components.push(e)},addActionsForLayers:function(e,t){},postRender:function(e){},closeComponent:function(){},changeLayerResult:function(i){var n=this;this.state.layersactions[i.id].forEach(function(e){return e.change&&e.change(i)}),(i.features||[]).forEach(function(e,t){var a=n.state.currentactiontools[i.id];void 0!==a&&(void 0===a[t]&&Vue.set(a,t,null),a[t]=null)})},activeMapInteraction:function(){},editFeature:function(){var e=0{if(Array.isArray(e)){for(var t=0,a=Array(e.length);t')+'
"}),x.default.showModalDialog({title:O("sdk.atlas.template_dialog.title"),message:i,buttons:{success:{label:"OK",className:"skin-button",callback:function(){var e=$('input[name="template"]:checked').attr("g3w_atlas_index");if(void 0===e)return!1;a._printSingleAtlas({features:n,atlas:r[e]})}}}}))}},{key:"showLayerDownloadFormats",value:function(e){e.downloadformats.active=!e.downloadformats.active,this.setLayerActionTool({layer:e,component:e.downloadformats.active?f.default:null,config:e.downloadformats.active?w({},this.state.actiontools.downloadformats[e.id],{downloads:this.state.actiontools.downloadformats[e.id].downloads.filter(function(e){return"pdf"!==e.format})}):null})}},{key:"downloadFeatures",value:(a=P(function*(t,a){var e,i=22":(Math.round(100*r)/100).toFixed(3)+" m2"),u.innerHTML=(void 0!==r?"Area: "+r+"
":"")+(void 0!==r&&void 0!==i?'
':"")+(void 0!==i?i:""),c.setPosition(t)})}};var a=e("store/application"),d=(a=a)&&a.__esModule?a:{default:a},p=e("utils/isLineGeometryType"),f=e("utils/isPolygonGeometryType"),g=e("utils/isMultiGeometry")},{"store/application":178,"utils/isLineGeometryType":223,"utils/isMultiGeometry":224,"utils/isPolygonGeometryType":226}],194:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.createRelationsUrl=function(e){var t=e.layer,t=void 0===t?{}:t,a=e.relation,a=void 0===a?{}:a,i=e.fid,n=e.type,n=void 0===n?"data":n,e=e.formatter,e=void 0===e?1:e;return r.default.project.getLayerById(void 0===a.father?t.id===a.referencedLayer?a.referencingLayer:a.referencedLayer:t.id===a.father?a.child:a.father).getUrl(n)+"?relationonetomany="+a.id+"|"+(0,o.sanitizeFidFeature)(i)+"&formatter="+e};var a=e("store/application"),r=(a=a)&&a.__esModule?a:{default:a},o=e("utils/sanitizeFidFeature")},{"store/application":178,"utils/sanitizeFidFeature":238}],195:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.createSelectedStyle=function(){var e=0{if(Array.isArray(e)){for(var t=0,a=Array(e.length);t\n \n ',data:function(){return{errors:s}}}},autoclose:!1}),u.length?new ol.layer.Vector({source:new ol.source.Vector({features:u}),name:a,_fields:"csv"===i?o.headers:Object.keys(u[0].getProperties()).filter(function(e){return c.GEOMETRY_FIELDS.indexOf(e)<0}),id:(0,d.getUniqueDomId)(),style:t}):Promise.reject()},n=function(){var s=i.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})},function(){return n.apply(this,arguments)});var i,n,c=e("g3w-constants"),d=e("utils/getUniqueDomId")},{"g3w-constants":126,"utils/getUniqueDomId":217}],198:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.debounce=function(i){var n=1{var a=i[t];void 0!==a.id&&r.state.layers.forEach(function(e){if(a.id===e.id)return a.name=e.name,e.wmsUrl=r.state.WMSUrl,e.project=r,a[t]=Object.assign(e,a),!1}),Array.isArray(a.nodes)&&(a.title=a.name,e(a.nodes))})(t)}((r=Object.assign(new u.default,{setters:{setBaseLayer:function(t){var a=this;window.initConfig.baselayers.forEach(function(e){a._layersStore.getLayerById(e.id).setVisible(t===e.id),e.visible=t===e.id})}},state:m[a],urls:{map_themes:"/"+m[a].type+"/api/prjtheme/"+m[a].id+"/",vector_data:m[a].vectorurl+"data/"+m[a].type+"/"+m[a].id+"/",featurecount:m[a].vectorurl+"featurecount/"+m[a].type+"/"+m[a].id+"/"},_projection:d.default.get(_(m[a].crs)),_layersStore:new y.LayersStore,getQueryPointTolerance:function(){return r.state.query_point_tolerance},getRelations:function(){return r.state.relations},getRelationById:function(t){return r.state.relations.find(function(e){return t===e.id})},getLayerById:function(e){return r._layersStore.getLayerById(e)},getLayers:function(){return[].concat(v(r.state.layers),v(r.state.baselayers))},getState:function(){return r.state},getPrint:function(){return r.state.print||[]},getId:function(){return r.state.id},getType:function(){return r.state.type},getGid:function(){return r.state.gid},getName:function(){return r.state.name},getCrs:function(){return r._projection.getCode()},getProjection:function(){return r._projection},getLayersStore:function(){return r._layersStore},getUrl:function(e){return r.urls[e]},getConfigLayers:function(){var t=(0{e=function*(t){try{t.resolve(yield a instanceof Promise?a:a())}catch(e){t.reject(e)}};var e,t=function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})};return function(e){return t.apply(this,arguments)}})()).promise()}},{}],233:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.prompt=void 0;a.prompt=(i=function*(e){var t=e.value,a=e.label,e=e.callback,i={value:t,id:(0,o.getUniqueDomId)()},n=new Vue({template:'\n
\n \n \n
',data:function(){return i}});new Promise(function(e,t){var a=r.default.showModalDialog({message:n.$mount().$el,closeButton:!1,buttons:{ok:{label:"Ok",className:"btn-success",callback:function(){return e(i.value)}},cancel:{label:"Cancel",className:"btn-danger",callback:function(){return t()}}}}).find("button.btn-success");a.prop("disabled",0===i.value.trim().length),n.$watch("value",function(e){a.prop("disabled",0===e.trim().length)})}).then(e).catch(function(e){}).finally(function(){n.$destroy(),i=n=null})},n=function(){var s=i.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})},function(e){return n.apply(this,arguments)});var i,n,a=e("services/gui"),r=(a=a)&&a.__esModule?a:{default:a},o=e("utils/getUniqueDomId")},{"services/gui":173,"utils/getUniqueDomId":217}],234:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.removeMeasureTooltip=function(e){var t=e.map,a=e.tooltip,e=e.unbyKey;t.removeOverlay(a),ol.Observable.unByKey(e)}},{}],235:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.removeZValueToOLFeatureGeometry=function(){var e=(0{var e=v.split,t=v.feature,i=void 0!==t.getCoordinates()[0][2],a=!1,n=[],r=new jsts.io.WKTReader,o=new ol.format.WKT,s=new jsts.io.OL3Parser,l=r.read(o.writeGeometry(e)),e=o.writeGeometry(t);i&&(e=e.replace(" Z",""));for(var u=(o=r.read(e)).getCoordinates(),c=new jsts.geom.GeometryFactory,d=[],p=void 0,f=void 0,g=0;g{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputCheckbox.vue"));e=Vue.extend(e);t.exports=e},{"components/InputCheckbox.vue":63}],7:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputColor.vue"));e=Vue.extend(e);t.exports=e},{"components/InputColor.vue":64}],8:[function(e,t,a){var n=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),e};function i(e,t){for(var a=0;a{var e=i,t=o;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e))).validatorOptions={},t;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),n(i,[{key:"getLocale",value:function(){return window.initConfig.user.i18n||"en"}},{key:"convertQGISDateTimeFormatToMoment",value:function(e){return(0,r.convertQGISDateTimeFormatToMoment)(e)}},{key:"setValidatorOptions",value:function(){this.validatorOptions=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputDateTimePicker.vue"));e=Vue.extend(e);t.exports=e},{"components/InputDateTimePicker.vue":65}],10:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputFloat.vue"));e=Vue.extend(e);t.exports=e},{"components/InputFloat.vue":66}],12:[function(e,t,a){var i=o(e("store/application")),n=o(e("components/InputBase.vue")),r=e("mixins");function o(e){return e&&e.__esModule?e:{default:e}}function s(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}var l=e("./services"),e={props:["state"],mixins:[r.baseInputMixin],components:{baseinput:n.default},watch:{notvalid:function(e){e&&this.service.setErrorMessage()},"state.value":function(){var e=this;void 0!==this.state.input.options.default_expression&&setTimeout(function(){return e.change()})}},created:function(){var e=this;this.service=new l[this.state.input.type]({state:this.state}),this.$watch(function(){return i.default.language},s(function*(){e.state.visible&&(e.state.visible=!1,e.service.setErrorMessage(),yield e.$nextTick(),e.state.visible=!0)})),this.state.editable&&this.state.validate.required&&this.service.validate(),this.$emit("addinput",this.state),this.state.value_from_default_value&&this.$emit("changeinput",this.state)},destroyed:function(){this.$emit("removeinput",this.state)}};t.exports=e},{"./services":28,"components/InputBase.vue":62,mixins:166,"store/application":178}],13:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputInteger.vue"));e=Vue.extend(e);t.exports=e},{"components/InputInteger.vue":69}],15:[function(e,t,a){var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var a=t,i=[],n=!0,t=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(i.push(o.value),!a||i.length!==a);n=!0);}catch(e){t=!0,r=e}finally{try{!n&&s.return&&s.return()}finally{if(t)throw r}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var e=n,t=l;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function n(){var t,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e))).coordinatebutton,t.mapService=s.default.getService("map"),t.mapEpsg=t.mapService.getCrs(),t.mapControlToggleEventHandler=function(e){e.target.isToggled()&&e.target.isClickMap()&&t.coordinatebutton.active&&t.toggleGetCoordinate()},t.map=t.mapService.getMap(),t.outputEpsg=t.state.epsg||t.mapEpsg,t.eventMapKey,t;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),r(n,[{key:"setCoordinateButtonReactiveObject",value:function(e){this.coordinatebutton=e}},{key:"validate",value:function(){this.state.values.lon<-180?this.state.values.lon=-180:180{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputLonLat.vue"));e=Vue.extend(e);t.exports=e},{"components/InputLonLat.vue":70}],17:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputMedia.vue"));e=Vue.extend(e);t.exports=e},{"components/InputMedia.vue":71}],19:[function(e,t,a){var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputPickLayer.vue"));e=Vue.extend(e);t.exports=e},{"components/InputPickLayer.vue":72}],21:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputRadio.vue"));e=Vue.extend(e);t.exports=e},{"components/InputRadio.vue":73}],23:[function(e,t,a){var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var e=r,t=o;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function r(){var t,a,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e))).setValidator({validate:function(e){return+t<=(e=+e)&&e<=+a}}),n;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),i(r,[{key:"isValueInRange",value:function(e,t,a){return e<=a&&t<=e}}]),r})()},{"gui/inputs/service":27}],24:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputRange.vue"));e=Vue.extend(e);t.exports=e},{"components/InputRange.vue":74}],25:[function(e,t,a){var n=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),e};function i(e,t){for(var a=0;a{var e=i,t=o;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e))).layer=null,t;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),n(i,[{key:"_getLayerById",value:function(e){return(0,r.getCatalogLayerById)(e)}},{key:"addValue",value:function(e){this.state.input.options.values.push(e)}},{key:"sortValues",value:function(){var a=this.state.input.options.orderbyvalue;this.state.input.options.values.sort(function(e,t){e=e[a?"value":"key"],t=t[a?"value":"key"];return e{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputSelect.vue"));e=Vue.extend(e);t.exports=e},{"components/InputSelect.vue":75}],27:[function(e,t,a){var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a\n "+this.state.info+"\n \n "),this.state.validate.message=this.state.info||e):this.state.validate.message=this.state.info||o("sdk.form.inputs.input_validation_error_type")+" ( "+o("sdk.form.inputs."+this.state.type)+" )")}},{key:"setUpdate",value:function(){var e=this.state,t=e.value,e=e._value;"media"===this.state.input.type&&"Object"!==(0,r.toRawType)(t)&&"Object"!==(0,r.toRawType)(e)?this.state.update=t.value!=e.value:"datetimepicker"===this.state.input.type?this.state.update=(null!==t?t.toUpperCase():t)!=(e&&e.toUpperCase()):this.state.update=t!=e}}]),l)},{"g3w-i18n":129,"utils/toRawType":242}],28:[function(e,t,a){e={text:e("./service"),textarea:e("./service"),texthtml:e("./service"),integer:e("./integer/service"),string:e("./service"),float:e("./float/service"),radio:e("./radio/service"),check:e("./checkbox/service"),range:e("./range/service"),datetimepicker:e("./datetimepicker/service"),unique:e("./unique/service"),select:e("./select/service"),media:e("./media/service"),select_autocomplete:e("./select/service"),picklayer:e("./service"),color:e("./service"),slider:e("./sliderrange/service"),lonlat:e("./lonlat/service")};t.exports=e},{"./checkbox/service":5,"./datetimepicker/service":8,"./float/service":10,"./integer/service":13,"./lonlat/service":15,"./media/service":17,"./radio/service":21,"./range/service":23,"./select/service":25,"./service":27,"./sliderrange/service":29,"./unique/service":34}],29:[function(e,t,a){var n=function(e,t,a){return t&&i(e.prototype,t),a&&i(e,a),e};function i(e,t){for(var a=0;a{var e=i,t=r;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var t=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,t))).setValidator({validate:function(e){return(e=+e)>=+t.state.input.options.min&&e<=+t.state.input.options.max}}),a;throw new TypeError("Cannot call a class as a function")}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),n(i,[{key:"validate",value:function(){this.state.value=+this.state.value,this.state.validate.valid=this.state.value>=this.state.input.options.min||this.state.value<=this.state.input.options.max}},{key:"changeInfoMessage",value:function(){this.state.info="[MIN: "+this.state.input.options.min+" - MAX: "+this.state.input.options.max+"]"}}]),i})();t.exports=e},{"gui/inputs/service":27}],30:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputSliderRange.vue"));e=Vue.extend(e);t.exports=e},{"components/InputSliderRange.vue":76}],31:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputText.vue"));e=Vue.extend(e);t.exports=e},{"components/InputText.vue":77}],32:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputTextArea.vue"));e=Vue.extend(e);t.exports=e},{"components/InputTextArea.vue":78}],33:[function(e,t,a){e=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputTextHtml.vue"));e=Vue.extend(e);t.exports=e},{"components/InputTextHtml.vue":79}],34:[function(e,t,a){var n=e("gui/inputs/service");t.exports=(()=>{var e=i,t=n;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);function i(){var e=0{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/InputUnique.vue"));e=Vue.extend(e);t.exports=e},{"components/InputUnique.vue":80}],36:[function(e,t,a){var s,i,n,l,u,r,o,c,d,p,f,g,h,y,v,m,_,b,w,x,k,S;e("vueify/lib/insert-css").insert("@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden;max-width:calc(100% - 150px)}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid #aaa;border-top-width:0;border-radius:0;margin-top:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}#menu-toggler[data-v-6659a6eb]{display:none}.navbar-toggler[data-v-6659a6eb]{color:#fff;margin:12px;font-size:1.3em;position:absolute;z-index:101;right:0}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-toggler[data-v-6659a6eb]{display:block;cursor:pointer;user-select:none}#menu-toggler:checked~hgroup[data-v-6659a6eb]{position:fixed;top:0;background:var(--skin-color);padding-left:8px}#menu-toggler:checked~ul[data-v-6659a6eb]{position:fixed;inset:50px 0 0 0;background:var(--skin-color);z-index:100;flex-direction:column;border-top:1px solid #fff}#menu-toggler:not(:checked)~[data-v-6659a6eb]:not(.navbar-toggler),.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none!important}.navbar-nav[data-v-6659a6eb]{flex-direction:column}.user-footer .btn-default[data-v-6659a6eb]{padding:10px}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}");function E(e){return e&&e.__esModule?e:{default:e}}function L(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}Object.defineProperty(a,"__esModule",{value:!0}),s=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var a=t,i=[],n=!0,t=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(i.push(o.value),!a||i.length!==a);n=!0);}catch(e){t=!0,r=e}finally{try{!n&&s.return&&s.return()}finally{if(t)throw r}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=E(e("vue-cookie-law")),n=E(e("vue2-teleport")),l=e("g3w-constants"),u=E(e("store/application")),r=E(e("g3w-panel")),o=E(e("g3w-component")),c=E(e("services/gui")),d=e("utils/getUniqueDomId"),p=e("utils/promisify"),f=e("utils/sameOrigin"),g=E(e("components/UserMessage.vue")),h=E(e("components/CatalogContextMenu.vue")),y=E(e("components/ModalLogin.vue")),v=E(e("components/ModalAddLayer.vue")),m=E(e("components/ModalChangeMap.vue")),_=E(e("components/ModalMetadata.vue")),S=e("g3w-i18n").t,a.default={name:"app",data:function(){var e=(window.initConfig.header_custom_links||[]).concat(u.default.navbaritems).filter(Boolean);return e.unshift({id:"credits",type:"metadata",target:"#metadata_credits",icon:"far fa-question-circle",title:"Credits"}),e.forEach(function(e){return!e.id&&(e.id=(0,d.getUniqueDomId)())}),{language:null,cookie_law_buttonText:S("cookie_law.buttonText"),app:u.default,state:u.default.viewport,updatePreviousTitle:!1,header:S("main navigation"),custom_links:e}},components:{CookieLaw:i.default,userMessage:g.default,CatalogContextMenu:h.default,ModalLogin:y.default,ModalAddlayer:v.default,ModalChangemap:m.default,ModalMetadata:_.default,Teleport:n.default},computed:{languages:function(){var e;return 1<(e=Array.isArray(this.appconfig.i18n)&&this.appconfig.i18n||[]).length&&e},dropdownParent:function(){return 768<=window.innerWidth},appconfig:function(){return window.initConfig},isIframe:function(){return window.top!==window.self},urls:function(){return this.appconfig.urls},logo_url:function(){return u.default.project.state.thumbnail||""+this.appconfig.mediaurl+window.initConfig.header_logo_img},project_title:function(){return u.default.project.getState().name},user:function(){return this.appconfig.user&&this.appconfig.user.username?this.appconfig.user:null},login_url:function(){return this.appconfig.user.login_url},has_iframe_login:function(){return this.login_url&&("/"===this.login_url[0]||(0,f.sameOrigin)(this.login_url,window.location.href))},hasRelatedMaps:function(){return 1\n \n '+e.text+" \n "):e.text},oncCustomItemClick:function(e,t){if(["modal","metadata"].includes(t.type)){if(e.preventDefault(),t.target&&"modal"===t.type&&document.querySelector(t.target))return $(t.target).modal("show");t.target&&"metadata"===t.type&&document.querySelector("#modal-metadata")?($("#modal-metadata").modal("show"),document.querySelector('#modal-metadata a[href="'+t.target+'"]').click()):($("body").append('\n \n "),$("#custom_modal").modal("show"),$("#custom_modal").on("hidden.bs.modal",function(){return $("#custom_modal").remove()}))}},showEmbedModal:function(){var e=new URL(location.href);e.searchParams.set("map_extent",c.default.getService("map").getMapExtent().toString()),$("body").append('\n \n ',mounted:(e=w(function*(){yield this.$nextTick(),this.$refs.table.click()}),function(){return e.apply(this,arguments)})}))}),push:!0,showgoback:!0,closable:!1})}),function(){return y.apply(this,arguments)}),editFeature:function(e){s.default.getService("queryresults").editFeature({layer:{id:this.table.layerId,attributes:this.table.fields},feature:this.table.features[e]})},getRowFields:function(a){var i=this;return this.table.fields.map(function(e,t){return e.value=a[t],e.query=!0,e.input={type:""+i.getFieldType(e)},e})},reloadLayout:function(){this.relationDataTable&&this.relationDataTable.columns.adjust()},back:function(){this.$parent.setRelationsList()},fieldIs:function(e,t){return this.getFieldType(t)===e},is:function(e,t){return this.fieldIs(e,t)},wrapMoveFnc:function(e){this.moveFnc(e)},resizeStart:function(){document.getElementById("g3w-view-content").addEventListener("mousemove",this.wrapMoveFnc),document.getElementById("g3w-view-content").addEventListener("mouseup",this.resizeStop,{once:!0})},resizeStop:(h=w(function*(){document.getElementById("g3w-view-content").removeEventListener("mousemove",this.wrapMoveFnc),yield this.$nextTick(),s.default.emit("resize")}),function(){return h.apply(this,arguments)}),moveFnc:function(e){var t=$(".sidebar-collapse").length?0:_,e=e.pageX+2-t;this.$refs.tablecontent.style.width=e+"px",this.$refs.chartcontent.style.width=$(this.$refs.relationwrapper).width()-e-10+"px"}},watch:{table:{immediate:!0,handler:function(e){e&&e.rows.length&&this.createTable()}},chart:(g=w(function*(){yield this.$nextTick(),this.resize()}),function(){return g.apply(this,arguments)}),headercomponent:(f=w(function*(){yield this.$nextTick(),this.resize()}),function(){return f.apply(this,arguments)})},beforeCreate:function(){this.delayType="debounce"},beforeDestroy:(p=w(function*(){this.relationDataTable&&(this.relationDataTable.destroy(),this.relationDataTable=null,this.chartContainer&&this.$emit("hide-chart",this.chartContainer),this.chartContainer=null,this.tableHeaderHeight=null,s.default.off("pop-content",this.resize))}),function(){return p.apply(this,arguments)})},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var i=this,e=i.$createElement,n=i._self._c||e;return i.table?n("div",{ref:"query_relation",staticClass:"query-relation",class:i.isMobile()?"mobile":null},[n("div",{ref:"relation-header",staticClass:"header skin-background-color lighten"},[n("div",{staticClass:"g3w-long-text"},[i.showrelationslist?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.relations.back_to_relations",expression:"'sdk.relations.back_to_relations'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button-icon action-button back-button",class:i.$fa("exit"),on:{click:function(e){return e.stopPropagation(),i.back(e)}}}):i._e(),i._v(" "),n("b",{staticClass:"relation-tile skin-color"},[i._v(" "+i._s(i.relation.name)+" ")])]),i._v(" "),i.table.rows.length?n("div",{staticClass:"relations-table-tools"},[i.downloadButton?n("span",{directives:[{name:"download",rawName:"v-download"},{name:"t-tooltip",rawName:"v-t-tooltip:left.create",value:i.downloadButton.tooltip,expression:"downloadButton.tooltip",arg:"left",modifiers:{create:!0}}],staticClass:"action-button-icon action-button",class:[i.$fa("download"),{"toggled-white":i.downloadButton.toggled}],on:{click:function(e){return e.stopPropagation(),i.downloadButton.handler(e)}}}):i._e(),i._v(" "),i.showChartButton?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"sdk.tooltips.show_chart",expression:"'sdk.tooltips.show_chart'",arg:"bottom",modifiers:{create:!0}}],staticClass:"action-button-icon action-button",class:[i.$fa("chart"),i.chart?"toggled-white":""],on:{click:function(e){return e.stopPropagation(),i.showChart(e)}}}):i._e()]):i._e()]),i._v(" "),i.table.rows.length?n("div",{ref:"relationwrapper",staticClass:"relation-wrapper"},[n("div",{ref:"tablecontent",style:{width:i.chart?"70%":"100%",marginRight:i.chart?"8px":"3px",position:"relative"},attrs:{id:"table_content"}},[i.headercomponent?n("div",{staticClass:"header-component"},[n(i.headercomponent,{tag:"component",attrs:{layer:i.downloadLayer.state,config:i.downloadLayer.config}})],1):i._e(),i._v(" "),n("table",{ref:"relationtable",staticClass:"hover relationtable table table-striped row-border compact nowrap"},[n("thead",[n("tr",{staticStyle:{height:"0! important"}},[i.showTools?n("th",{style:{minWidth:30*this.showTools+"px",padding:"0 !important"}}):i._e(),i._v(" "),i._l(i.table.columns,function(e){return n("th",[i._v(i._s(e))])})],2)]),i._v(" "),n("tbody",i._l(i.table.rows,function(t,a){return n("tr",{key:i.table.rows_fid[a],class:{selected:i.table.rowFormStructure===t}},[i.showTools?n("td",{staticClass:"table-tools"},[i.table.features[a].geometry?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.tooltips.relations.zoomtogeometry",expression:"'sdk.tooltips.relations.zoomtogeometry'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:i.$fa("marker"),on:{click:function(e){return e.stopPropagation(),i.zoomToGeometry(i.table.features[a].geometry)}}}):i._e(),i._v(" "),i.table.formStructure?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"sdk.tooltips.relations.row_to_form",expression:"`sdk.tooltips.relations.row_to_form`",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:i.$fa("table"),on:{click:function(e){e.stopPropagation(),i.showFormStructureRow({layerid:i.table.layerId,feature:i.table.features[a],fields:i.getRowFields(t),tabs:i.table.formStructure})}}}):i._e(),i._v(" "),i.isEditable?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"Edit",expression:"'Edit'",arg:"right",modifiers:{create:!0}}],staticClass:"action-button row-form skin-color",class:i.$fa("pencil"),on:{click:function(e){return e.stopPropagation(),i.editFeature(a)}}}):i._e()]):i._e(),i._v(" "),i._l(t,function(e){return n("td",[n("field",{attrs:{state:{value:e}}})],1)})],2)}),0)])]),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.chart,expression:"chart"}],staticClass:"skin-border-color lighten",staticStyle:{"border-style":"solid","border-width":"0 1px 0 1px"},style:{minWidth:"5px",backgroundColor:"#dddddd",cursor:"col-resize"},on:{mousedown:function(e){return e.stopPropagation(),i.resizeStart(e)}}}),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.chart,expression:"chart"}],ref:"chartcontent",style:{width:i.chart?"30%":"0"},attrs:{id:"chart_content"}})]):n("div",{staticClass:"dataTables_scrollBody"},[n("span",{directives:[{name:"t",rawName:"v-t",value:"sdk.relations.no_relations_found",expression:"'sdk.relations.no_relations_found'"}]})])]):i._e()},e.staticRenderFns=[],e._scopeId="data-v-20ddbb22"},{"components/FieldG3W.vue":43,"components/QueryResultsActionDownloadFormats.vue":95,"g3w-component":125,"g3w-constants":126,"g3w-eventbus":127,mixins:166,"services/gui":173,"utils/getCatalogLayerById":203,"utils/throttle":241,"vueify/lib/insert-css":2}],103:[function(e,t,a){var i,n,r;e("vueify/lib/insert-css").insert(".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}");function o(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}Object.defineProperty(a,"__esModule",{value:!0}),r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var a=t,i=[],n=!0,t=!1,r=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(i.push(o.value),!a||i.length!==a);n=!0);}catch(e){t=!0,r=e}finally{try{!n&&s.return&&s.return()}finally{if(t)throw r}}return i}throw new TypeError("Invalid attempt to destructure non-iterable instance")},a.default={name:"relations",props:["relations","feature","loading"],methods:{showRelation:(n=o(function*(e){yield this.$parent.showRelation(e)}),function(e){return n.apply(this,arguments)}),featureInfo:function(){return Object.entries(this.feature.attributes).filter(function(e){e=r(e,2),e[0],e=e[1];return e&&"string"==typeof e&&!e.includes("/")}).map(function(e){e=r(e,2);return{key:e[0],value:e[1]}}).slice(0,3)}},mounted:(i=o(function*(){1===this.relations.length&&(this.relations[0].noback=!0,yield this.showRelation(this.relations[0]))}),function(){return i.apply(this,arguments)}),beforeDestroy:function(){1===this.relations.length&&delete this.relations[0].noback}},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var a=this,e=a.$createElement,i=a._self._c||e;return i("div",{staticClass:"query-relations"},[i("div",{staticClass:"header skin-background-color lighten"},[i("div",{staticClass:"skin-color-dark"},[i("span",{directives:[{name:"t",rawName:"v-t:pre",value:"sdk.relations.list_of_relations_feature",expression:"'sdk.relations.list_of_relations_feature'",arg:"pre"}],staticStyle:{"font-size":"1.1em"}}),a._v(" "),a._l(a.featureInfo(),function(e){return i("div",[a._v(" - "),i("b",[a._v(a._s(e.key))]),a._v(": "+a._s(e.value))])})],2)]),a._v(" "),i("div",{staticClass:"query-relations-content"},a._l(a.relations,function(t){return i("div",{staticClass:"skin-border-color relation-grid-item",on:{click:function(e){return e.stopPropagation(),a.showRelation(t)}}},[i("span",{staticClass:"skin-color g3w-long-text"},[a._v(a._s(t.name))])])}),0)])},e.staticRenderFns=[],e._scopeId="data-v-02f56b7e"},{"vueify/lib/insert-css":2}],104:[function(e,t,a){function i(e){return e&&e.__esModule?e:{default:e}}function n(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function l(e,t){var e=(e=0span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}");function h(e){return e&&e.__esModule?e:{default:e}}function y(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}Object.defineProperty(a,"__esModule",{value:!0}),i=h(e("g3w-panel")),o=h(e("store/application")),n=h(e("services/data")),s=h(e("services/gui")),r=e("utils/createFilterFromString"),l=e("utils/getCatalogLayerById"),u=h(e("components/Tool.vue")),c=(e=>{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/QueryBuilder.vue")),g=e("g3w-i18n").t,a.default={name:"search",data:function(){return{state:this.state||{}}},components:{"g3w-tool":u.default},computed:{show:function(){return 0=e.children.length?$(e).append(this.$el):Array.from(e.children).forEach(function(e,t){t!==i.position&&e.id!==i.position||e.insertAdjacentElement(i.before||void 0===i.before?"beforebegin":"afterend",a.$el)}),this.component.mount(this.$refs["component-placeholder"]),this.component.click=function(){var e=(0tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\n#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}");function C(e){return e&&e.__esModule?e:{default:e}}function P(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function O(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tlip',lengthMenu:l.PAGELENGTHS,order:[1,"asc"],pageLength:this.layer.getAttributeTablePageLength()||l.PAGELENGTHS[1],processing:!1,responsive:!0,scrollCollapse:!0,scrollX:!0,serverSide:!0,sSearch:!1}),e=(this.changeColumn=(0,d.debounce)((i=P(function*(e,t){var a=e.target.value.trim();s.one("draw",P(function*(){o[t]=a,n.disableSelectAll=0===n.state.features.length,n.filter=Object.values(o).find(function(e){return e})?yield new Promise(function(e){return r=e}):[]})),s.columns(t).search(a).draw()}),function(e,t){return i.apply(this,arguments)})),document.createDocumentFragment());e.appendChild(this.$refs.table_toolbar),document.getElementById("g3w-table-toolbar").appendChild(e),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_info")),document.querySelector("#g3w-view-content .g3-content-header-action-tools").insertAdjacentElement("beforebegin",document.querySelector(".dataTables_filter")),document.getElementById("table_body_attributes").remove(),s.ajax.reload()}),function(){return v.apply(this,arguments)}),beforeDestroy:(y=P(function*(){var e=this;this.last_map_control&&!this.last_map_control.control.isToggled()&&this.last_map_control.control.toggle(),this.last_map_control=null,this.layer.off("unselectionall",this.unSelectAll),this.layer.off("filtertokenchange",this.filterChangeHandler),ol.Observable.unByKey(this.map_bbox.key),this.map_bbox.key=null,this.map_bbox.cb=null,this.highlight(),this.has_map||setTimeout(function(){e.async_highlight(),e.has_map=!0,e.async_highlight=function(){}}),u.default.un("setContent",this.setContentKey),document.querySelector("#g3w-view-content .dataTables_info").remove(),document.querySelector("#g3w-view-content .dataTables_filter").remove(),$(this.$refs.attribute_table).DataTable().destroy(!0)}),function(){return y.apply(this,arguments)})},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var i=this,e=i.$createElement,n=i._self._c||e;return n("div",{attrs:{id:"open_attribute_table"}},[n("div",{ref:"table_toolbar",staticStyle:{display:"flex","justify-content":"space-between",padding:"1px"}},[i.layer.isGeoLayer()?n("div",{directives:[{name:"disabled",rawName:"v-disabled",value:i.state.geolayer.active&&i.current_layout.rightpanel.height_100,expression:"state.geolayer.active && current_layout.rightpanel.height_100"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.show_features_on_map",expression:"'layer_selection_filter.tools.show_features_on_map'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[i.$fa("map"),i.state.geolayer.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.getDataFromBBOX(e)}}}):i._e(),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.clear",expression:"'layer_selection_filter.tools.clear'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:i.$fa("clear"),attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.layer.clearSelectionFids()}}}),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.invert",expression:"'layer_selection_filter.tools.invert'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[i.$fa("invert"),i.layer.state.filter.active?"g3w-disabled":""],attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.inverseSelection(e)}}}),i._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:i.state.show_tools,expression:"state.show_tools"},{name:"t-tooltip",rawName:"v-t-tooltip.create",value:"layer_selection_filter.tools.filter",expression:"'layer_selection_filter.tools.filter'",modifiers:{create:!0}}],staticClass:"skin-color action-button skin-tooltip-right",class:[i.$fa("filter"),i.layer.state.filter.active?"toggled":""],attrs:{"data-placement":"right"},on:{click:function(e){return e.stopPropagation(),i.toggleFilterToken(i.layer)}}})]),i._v(" "),i.state.headers.length?n("table",{ref:"attribute_table",staticClass:"table table-striped row-border compact nowrap",attrs:{id:"layer_attribute_table"}},[n("thead",[n("tr",[n("th"),i._v(" "),i._l(i.state.headers,function(e,t){return 0span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}");function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(a,"__esModule",{value:!0}),i=r(e("store/application")),n=r(e("services/gui")),a.default={name:"g3w-tool",props:["tool"],methods:{showToolStateMessage:function(){n.default.showModalDialog({title:this.tool.state.type.toUpperCase(),message:this.tool.state.message})}},computed:{disabled:function(){return!this.tool.offline&&!i.default.online||this.tool.loading||this.tool.disabled},sidebarOpen:function(){return i.default.gui.sidebar.open}}},t.exports.__esModule&&(t.exports=t.exports.default);e="function"==typeof t.exports?t.exports.options:t.exports;e.render=function(){var r=this,e=r.$createElement,e=r._self._c||e;return e("div",["checkbox"===r.tool.type?e("div",{staticClass:"checkbox"},[e("label",[e("input",{directives:[{name:"model",rawName:"v-model",value:r.tool.isCheck,expression:"tool.isCheck"}],staticStyle:{cursor:"pointer"},attrs:{id:r.tool.layerName,type:"checkbox"},domProps:{value:r.tool.layerName,checked:Array.isArray(r.tool.isCheck)?-1{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/Form.vue")),d=g(e("components/FormBody.vue")),p=e("utils/getDefaultExpression"),f=e("utils/getFilterExpression");function g(e){return e&&e.__esModule?e:{default:e}}function h(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function y(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t+this.state.tovalidate[e.validate.min_field].value:this.state.tovalidate[e.validate.max_field].validate.empty||+e.value<+this.state.tovalidate[e.validate.max_field].value,e.validate.valid&&(this.state.tovalidate[t].validate.valid=!0))}this.state.valid=Object.values(this.state.tovalidate).reduce(function(e,t){return e&&t.validate.valid},!0)&&Object.values(this.state.componentstovalidate).reduce(function(e,t){return e&&t},!0)}},{key:"addComponents",value:function(){var e=0{var e=x(function*(){for(var e=0;e<=o.forminputs.length-1;e++){var t=o.forminputs[e],a="autocompletefield"===t.type;t.values=[].concat(k("selectfield"===t.type?[y.SEARCH_ALLVALUE]:[]),k(t.dependance_strict||a?t.values:yield(0,p.getDataForSearchInput)({state:o,field:t.attribute}))).map(function(e){return"Object"===(0,d.toRawType)(e)?e:{key:e,value:e}}),t.dependance&&(o.loading[t.dependance]=!1,t.disabled=t.dependance_strict),t._values=[].concat(k(t.values)),t.loading=!1}});return function(){return e.apply(this,arguments)}})(),t=(o.mounted=t(),a.service||Object.assign(new r.default,{state:o,doSearch:i,setInputs:t,run:(0,f.debounce)(function(){for(var e=arguments.length,t=Array(e),a=0;a{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("components/SearchPanel.vue"));function o(e){return e&&e.__esModule?e:{default:e}}function x(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}function k(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t.default=e,t})(e("vue-color"));var n=window.initConfig;if(n.baseurl)try{new URL(n.baseurl)}catch(e){n.baseurl=new URL(n.baseurl,window.location).toString()}n.group=Object.assign(n.group||{},new Proxy(Object.fromEntries(Object.keys(n).filter(function(e){return!["i18n","staticurl","client","mediaurl","user","baseurl","vectorurl","proxyurl","rasterurl","interfaceowsurl","main_map_title","main_map_title","g3wsuite_logo_img","credits","version","group","frontendurl"].includes(e)}).map(function(e){return[e,n[e]]})),{get:function(e,t,a){return Reflect.get.apply(Reflect,arguments)}})),n.overviewproject=n.overviewproject?n.overviewproject.gid:null,window.VueColor=i,window.VueCookie=e("vue-cookie")},{"vue-color":"vue-color","vue-cookie":"vue-cookie"}],115:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.trigger=a.unwatch=a.watch=void 0;var r=e("utils/getUniqueDomId"),o=new Vue,s={};a.watch=function(){var e=0{var t=r;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function r(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,{setters:{setOpen:function(e){this.state.open=e,this._setOpen&&this._setOpen(e)},setVisible:function(e){this.state.visible=e,this._setVisible&&this._setVisible(e)},setLoading:function(){this.state.loading=0=",lte:"<=",NOT:"!=",eq:"=",gt:">",lt:"<",IN:"IN",LIKE:"LIKE",ILIKE:"ILIKE",AND:"AND",OR:"OR"}),i=a.FILTER_EXPRESSION_OPERATORS=i({lte:"<=",ltgt:"!=",ilike:"ILIKE",like:"LIKE"},r),o=a.GEOMETRY_FIELDS=["geometryProperty","boundedBy","geom","the_geom","geometry","bbox","GEOMETRY","geoemtria","geometria"],s=a.GEOMETRY_TYPES={POINT:"Point",POINTZ:"PointZ",POINTM:"PointM",POINTZM:"PointZM",POINT25D:"Point25D",MULTIPOINT:"MultiPoint",MULTIPOINTZ:"MultiPointZ",MULTIPOINTM:"MutliPointM",MULTIPOINTZM:"MultiPointZM",MULTIPOINT25D:"MultiPoint25D",LINESTRING:"LineString",LINESTRINGZ:"LineStringZ",LINESTRINGM:"LineStringM",LINESTRINGZM:"LineStringZM",LINESTRING25D:"LineString25D",LINE:"Line",LINEZ:"LineZ",LINEM:"LineM",LINEZM:"LineZM",LINE25D:"Line25D",MULTILINESTRING:"MultiLineString",MULTILINESTRINGZ:"MultiLineStringZ",MULTILINESTRINGM:"MultiLineStringM",MULTILINESTRINGZM:"MultiLineStringZM",MULTILINESTRING25D:"MultiLineString25D",MULTILINE:"MultiLine",MULTILINEZ:"MultiLineZ",MULTILINEM:"MultiLineM",MULTILINEZM:"MultiLineZM",MULTILINE25D:"MultiLine25D",POLYGON:"Polygon",POLYGONZ:"PolygonZ",POLYGONM:"PolygonM",POLYGONZM:"PolygonZM",POLYGON25D:"Polygon25D",MULTIPOLYGON:"MultiPolygon",MULTIPOLYGONZ:"MultiPolygonZ",MULTIPOLYGONM:"MultiPolygonM",MULTIPOLYGONZM:"MultiPolygonZM",MULTIPOLYGON25D:"MultiPolygon25D",GEOMETRYCOLLECTION:"GeometryCollection",GEOMETRYCOLLECTIONZ:"GeometryCollectionZ",GEOMETRYCOLLECTIONM:"GeometryCollectionM",GEOMETRYCOLLECTIONZM:"GeometryCollectionZM",GEOMETRYCOLLECTION25D:"GeometryCollection25D"},l=a.PRINT_SCALES=[{value:100,label:"1:100"},{value:200,label:"1:200"},{value:500,label:"1:500"},{value:1e3,label:"1:1.000"},{value:2e3,label:"1:2.000"},{value:2500,label:"1:2.500"},{value:5e3,label:"1:5.000"},{value:1e4,label:"1:10.000"},{value:2e4,label:"1:20.000"},{value:25e3,label:"1:25.000"},{value:5e4,label:"1:50.000"},{value:1e5,label:"1:100.000"},{value:25e4,label:"1:250.000"},{value:5e5,label:"1:500.000"},{value:1e6,label:"1:1.000.000"},{value:25e5,label:"1:2.500.000"},{value:5e6,label:"1:5.000.000"},{value:1e7,label:"1:10.000.000"},{value:2e7,label:"1:20.000.000"},{value:5e7,label:"1:50.000.000"},{value:1e8,label:"1:100.000.000"},{value:25e7,label:"1:250.000.000"},{value:5e8,label:"1:500.000.000"}],u=a.QUERY_POINT_TOLERANCE={unit:"pixel",value:10},c=(a.SEARCH_ALLVALUE="__G3W_ALL__",a.TIMEOUT=6e4,a.VIEWPORT={resize:{map:{min:200},content:{min:200}}}),d=a.FONT_AWESOME_ICONS={"change-map":"fas fa-map-signs",map:"far fa-map",file:"fas fa-file-code",marker:"fas fa-map-marker-alt",relation:"fas fa-sitemap",tools:"fas fa-cogs",tool:"fas fa-cog",search:"fas fa-search",print:"fas fa-print",info:"fas fa-info-circle","info-circle":"fas fa-info-circle",globe:"fas fa-globe",mail:"fas fa-envelope",mobile:"fas fa-mobile",fax:"fas fa-fax",user:"fas fa-user",bars:"fas fa-bars",uncheck:"far fa-square",check:"far fa-check-square",checkmark:"fa fa-check",filluncheck:"fas fa-square",table:"fas fa-table",trash:"fas fa-trash","trash-o":"far fa-trash-alt",pencil:"fas fa-pencil-alt","ellips-h":"fas fa-ellipsis-h","ellips-v":"fas fa-ellipsis-v","arrow-up":"fas fa-chevron-up","arrow-down":"fas fa-chevron-down","arrow-left":"fas fa-chevron-left","arrow-right":"fas fa-chevron-right","resize-h":"fas fa-arrows-alt-h","resize-v":"fas fa-arrows-alt-v","resize-default":"fas fa-compress","caret-up":"fas fa-caret-up","caret-down":"fas fa-caret-down","caret-left":"fas fa-caret-left","caret-right":"fas fa-caret-right","empty-circle":"far fa-circle","cloud-upload":"fas fa-cloud-upload-alt",spinner:"fas fa-spinner",minus:"fas fa-minus","minus-square":"far fa-minus-square",plus:"fas fa-plus","plus-circle":"fas fa-plus-circle","plus-square":"far fa-plus-square",grid:"fas fa-th",home:"fas fa-home",folder:"fas fa-folder","sign-out":"fas fa-sign-out-alt",close:"fas fa-times",time:"far fa-clock",calendar:"fas fa-calendar-alt",list:"fas fa-list-alt",link:"fas fa-link",unlink:"fas fa-unlink",eye:"far fa-eye","eye-close":"far fa-eye-slash",save:"far fa-save",pdf:"fas fa-file-pdf",image:"far fa-image",video:"far fa-file-video",unknow:"far fa-question-circle",zip:"far fa-file-archive",text:"far fa-file-alt",excel:"far fa-file-excel",xls:"far fa-file-excel",gpx:"fas fa-location-arrow",gpkg:"fas fa-box-open",shapefile:"fas fa-file-archive",csv:"fas fa-file-csv",geotiff:"fas fa-th",ppt:"far fa-file-powerpoint",circle:"fas fa-circle",calculator:"fas fa-calculator",picture:"far fa-image",keyboard:"far fa-keyboard","file-download":"fas fa-file-download",copy:"far fa-copy",draw:"fas fa-draw-polygon",chart:"fas fa-chart-bar","chart-line":"fas fa-chart-line","chart-area":"fas fa-chart-area","chart-pie":"fas fa-chart-pie",run:"fas fa-play",warning:"fas fa-exclamation-circle",alert:"fas fa-exclamation-triangle",crosshairs:"fas fa-crosshairs",success:"far fa-check-circle",back:"fas fa-chevron-circle-left","file-upload":"fas fa-file-upload",wifi:"fas fa-wifi",mouse:"fas fa-mouse","copy-paste":"far fa-copy","vector-square":"fas fa-vector-square",download:"fas fa-download",credits:"fas fa-euro-sign",filter:"fas fa-filter",plugin:"fas fa-plug",invert:"fas fa-exchange-alt",clear:"fas fa-broom",palette:"fas fa-palette",layers:"fas fa-layer-group","sign-in":"fas fa-sign-in-alt",language:"fas fa-language",target:"fas fa-bullseye",pin:"fas fa-map-pin",square:"far fa-square",move:"fas fa-arrows-alt",moon:"fas fa-moon",sun:"fas fa-sun",refresh:"fas fa-sync-alt",pause:"fas fa-pause","step-backward":"fas fa-step-backward","fast-backward":"fas fa-fast-backward","step-forward":"fas fa-step-forward","fast-forward":"fas fa-fast-forward",crop:"fas fa-crop-alt",exit:"fas fa-door-open",slider:"fas fa-sliders-h",bookmark:"fas fa-bookmark",reply:"fas fa-reply",share:"fas fa-share","share-alt":"fa fa-share-alt","external-link":"fa fa-external-link-alt",pointer:"fa fa-hand-pointer",camera:"fas fa-camera-retro",measure:"fas fa-ruler-horizontal",tint:"fa fa-tint",sort:"fa fa-sort",copyright:"fa fa-copyright",forward:"fas fa-angle-double-right",backward:"fas fa-angle-double-left"},p=a.LOCAL_ITEM_IDS={MESSAGES:{id:"MESSAGES",value:{}},SPATIALBOOKMARKS:{id:"SPATIALBOOKMARKS",value:{}}},f=a.SPATIAL_METHODS=["intersects","within"],g=(a.DOTS_PER_INCH=96,a.INCHES_PER_UNIT={m:39.37,degrees:4374754}),h=(a.SELECTION={ALL:"__ALL__",EXCLUDE:"__EXCLUDE__"},a.PAGELENGTHS=[10,25,50,100]);a.default={APP_VERSION:e,DEFAULT_EDITING_CAPABILITIES:n,DOTS_PER_INCH:96,FILTER_OPERATORS:r,FILTER_EXPRESSION_OPERATORS:i,FONT_AWESOME_ICONS:d,G3W_FID:"g3w_fid",GEOMETRY_FIELDS:o,GEOMETRY_TYPES:s,INCHES_PER_UNIT:g,LOCAL_ITEM_IDS:p,PRINT_SCALES:l,QUERY_POINT_TOLERANCE:u,SEARCH_ALLVALUE:"__G3W_ALL__",SPATIAL_METHODS:f,TIMEOUT:6e4,VIEWPORT:c,PAGELENGTHS:h}},{"./version":245}],127:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});a.VM=new Vue},{}],128:[function(Pe,e,t){!function(e){!function(){var a=Object.assign||function(e){for(var t=1;t{var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function a(e){var t;if(this instanceof a)return l(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e)),"setters",t._setupListenersChain,(e=e||{}).setters||t.setters),l(t,"throttles",t._setupThrottles,e.throttles||t.throttles),l(t,"debounces",t._setupDebounces,e.debounces||t.debounces),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(a,[{key:"onafter",value:function(e,t,a){return this._onsetter("after",e,t,!1,a)}},{key:"onceafter",value:function(e,t,a){return this._onsetter("after",e,t,!1,a,!0)}},{key:"onbefore",value:function(e,t,a){return this._onsetter("before",e,t,!1,a)}},{key:"oncebefore",value:function(e,t,a){return this._onsetter("before",e,t,!1,a,!0)}},{key:"onbeforeasync",value:function(e,t,a){return this._onsetter("before",e,t,!0,a)}},{key:"un",value:function(i,n){Object.entries(this.settersListeners).forEach(function(e){var e=r(e,2),a=(e[0],e[1]);void 0===n?a[i].splice(0):a[i].forEach(function(e,t){e.key===n&&a[i].splice(t,1)})})}},{key:"_onsetter",value:function(e,t,a,i){var n=4{t.settersListeners.after[l]=[],t.settersListeners.before[l]=[],t[l]=function(){for(var o=this,e=arguments.length,s=Array(e),t=0;t{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this))).id=e.id||null,t.title=e.title||"",t.service=e.service,e.vueComponentObject?t.internalPanel=new(Vue.extend(e.vueComponentObject))({service:t.service}):t.internalPanel=e.panel||e.internalPanel||null,!0===e.show&&t.internalPanel&&t.show(),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),n(i,[{key:"getId",value:function(){return this.id}},{key:"getTitle",value:function(){return this.title}},{key:"getService",value:function(){return this.service}},{key:"setService",value:function(e){this.service=e}},{key:"getInternalPanel",value:function(){return this.internalPanel}},{key:"setInternalPanel",value:function(e){this.internalPanel=e}},{key:"show",value:function(){r.default.showPanel(this)}},{key:"close",value:function(){r.default.closePanel()}},{key:"mount",value:function(e){var t=this.internalPanel,a=t.$mount();return $(e).append(a.$el),a.$nextTick(function(){$(e).localize(),t.onShow&&t.onShow()}),(0,s.$promisify)(Promise.resolve(!0))}},{key:"unmount",value:function(){var e=this.internalPanel;return e.$destroy(!0),$(e.$el).remove(),e.onClose&&e.onClose(),this.internalComponent=null,this.service&&this.service.clear&&this.service.clear(),(0,s.$promisify)(Promise.resolve())}}]),i})(o.default);a.default=e},{"g3w-object":130,"services/gui":173,"utils/promisify":232}],132:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.PluginService=a.Plugin=void 0;var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a
'),{}),O={};function M(){$.extend($.fn.dataTableExt.oStdClasses,{sFilterInput:"form-control search"}),$.extend(!0,$.fn.dataTable.defaults,{language:{sSearch:"",searchPlaceholder:C("dosearch"),sLengthMenu:C("dataTable.lengthMenu"),paginate:{previous:"«",next:"»"},info:C("dataTable.info"),zeroRecords:C("dataTable.nodatafilterd"),infoFiltered:""}})}function I(i){return new Promise(function(e,t){var a=document.createElement("script");a.onload=e,a.onerror=function(e){t(new Error("Failed to load script: "+i))},a.src=i,document.head.appendChild(a)})}var F,j=window.initConfig,R=(u.default.user=j.user,p.default.emit("initconfig",j),j.vendorkeys||{});j.baselayers.forEach(function(e){e.apikey&&(R[e.servertype?e.servertype.toLowerCase():null]=e.apikey)}),Object.keys(R).forEach(function(e){return u.default.keys.vendorkeys[e]=R[e]}),Object.assign(j,{urls:Object.assign(j.urls||{},{ows:"ows",api:"api",initconfig:"api/initconfig",config:"api/config",baseurl:j.baseurl,frontendurl:j.frontendurl,staticurl:j.staticurl,clienturl:j.staticurl+j.client,mediaurl:j.mediaurl,vectorurl:j.vectorurl,proxyurl:j.proxyurl,rasterurl:j.rasterurl,interfaceowsurl:j.interfaceowsurl}),layout:j.layout||{},plugins:j.plugins||{},tools:j.tools||{tools:[]},views:j.views||{},user:j.user||null}),j.layout.iframe=window.top!==window.self,u.default.lng=j.user.i18n||"en",u.default.language=j.user.i18n||"en",(j.i18n||[]).map(function(e){return e[0]}).forEach(function(e){return u.default.i18n.plugins[e]={plugins:{}}}),i18next.use(i18nextXHRBackend).init({lng:j.user.i18n,ns:"app",fallbackLng:"en",resources:e.default}),jqueryI18next.init(i18next,$,{tName:"t",i18nName:"i18n",handleName:"localize",selectorAttr:"data-i18n",targetAttr:"data-i18n-target",optionsAttr:"data-i18n-options",useOptionsAttr:!1,parseDefaultValueFromContent:!0}),Y(u.default.i18n.plugins),$.ajaxSetup({beforeSend:function(e){e.setRequestHeader("Accept-Language",j.user.i18n||"en")}}),new Promise((F=L(function*(i,t){try{j.macrogroups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/macrogroup/"})}catch(e){}try{j.groups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/group/nomacrogroup/"})}catch(e){}j.layout.rightpanel=Object.assign(j.layout.rightpanel||{},{width:j.layout.rightpanel.width||50,height:j.layout.rightpanel.height||50,width_100:!1,height_100:!1}),u.default.gui.layout.app=j.layout,j.projects.forEach(function(e){return Object.assign(e,{baselayers:j.baselayers,minscale:j.minscale,maxscale:j.maxscale,crs:j.crs,vectorurl:j.vectorurl,rasterurl:j.rasterurl})});var n=setTimeout(function(){t("Timeout")},l.TIMEOUT);(0,B.getProject)(j.initproject,{map_theme:new URLSearchParams(location.search).get("map_theme")}).then(function(e){clearTimeout(n);var t=o("services/map").default.MapLayersStoresRegistry,a=(Object.assign(u.default.project,e),e.getLayersStore());u.default.catalog[a.getId()]=a,t.addLayersStore(a),g3wsdk.core.project.ProjectsRegistry.setCurrentProject(e),window.addEventListener("online",function(){u.default.online=!0,p.default.online()}),window.addEventListener("offline",function(){u.default.online=!1,p.default.offline()}),p.default.emit("ready"),u.default.map.epsg=e.state.crs.epsg,u.default.iframe&&o("services/iframe").default.init({project:e}),Object.keys(l.LOCAL_ITEM_IDS).forEach(function(e){try{void 0===(window.localStorage.getItem(e)?JSON.parse(window.localStorage.getItem(e)):void 0)&&window.localStorage.setItem(e,JSON.stringify(l.LOCAL_ITEM_IDS[e].value))}catch(e){}}),i(!0)}).catch(function(e){t(e)})}),function(e,t){return F.apply(this,arguments)})).then(function(){var e;M(),(isMobile.any||(window.initConfig.layout||{}).iframe)&&$("body").addClass("sidebar-collapse"),new Vue({el:"#app",created:function(){var e,t;Vue.component("app",i.default),Object.assign(O,{sidebar:[new function(){var e=new d.default({id:"spatialbookmarks",icon:f.default.getFontClass("bookmark"),iconColor:"#00bcd4",title:"sdk.spatialbookmarks.title",vueComponentObject:o("components/SpatialBookMarks.vue")});return f.default.on("closecontent",function(){e.state.open=!1}),e},Object.assign(new d.default({id:"print",visible:window.initConfig.user.is_staff||0<(u.default.project.getPrint()||[]).length,icon:f.default.getFontClass("print"),iconColor:"#FF9B21",title:"print",service:{},internalComponent:new(Vue.extend(o("components/Print.vue")))}),{_setOpen:function(e){this.getInternalComponent().showPrintArea(e)}}),new d.default({id:"search",visible:!0,icon:f.default.getFontClass("search"),iconColor:"#8dc3e3",title:u.default.project.state.search_title||"search",service:Object.assign(new c.default,{state:{searches:(u.default.project.state.search||[]).sort(function(e,t){return(""+e.name).localeCompare(t.name)}),tools:[],querybuildersearches:(e=u.default.querybuilder.searches,t=u.default.project.getId(),e[t]=e[t]||[],e[t])},title:u.default.project.state.search_title||"search",addTool:function(e){this.state.tools.push(e)},addTools:function(e){var t=!0,a=!1,i=void 0;try{for(var n,r=e[Symbol.iterator]();!(t=(n=r.next()).done);t=!0){var o=n.value;this.addTool(o)}}catch(e){a=!0,i=e}finally{try{!t&&r.return&&r.return()}finally{if(a)throw i}}},showPanel:function(e){return new(o("components/g3w-search").SearchPanel)(e,!0)},getTitle:function(){return this.title},removeTools:function(){this.state.tools.splice(0)},stop:function(e){return(0,V.$promisify)(Promise.resolve(e))},removeTool:function(){}}),actions:[{id:"querybuilder",class:f.default.getFontClass("calculator")+" sidebar-button sidebar-button-icon",tooltip:C("sdk.querybuilder.title"),fnc:function(){return f.default.closeContent(),f.default.closeSideBar(),new a.default({title:C("sdk.querybuilder.title"),show:!0,vueComponentObject:o("components/QueryBuilder.vue")})},style:{color:"#8DC3E3",padding:"6px",fontSize:"1.2em",borderRadius:"3px",marginRight:"5px"}}],vueComponentObject:o("components/Search.vue")}),new function(){var e,n={id:"tools",icon:f.default.getFontClass("tools"),iconColor:"#FFE721",toolsGroups:[],visible:!1,loading:!1},a=new c.default({setters:{addTool:function(e,t){var a=t.title,t=t.position,i=n.toolsGroups.find(function(e){return e.name===a});return i||n.toolsGroups.splice(t,0,i={name:a,tools:[]}),i.tools.push(Object.assign(e,{state:e.state||{type:null,message:null},action:e.action||(P[e.type]||U.noop).bind(null,e.options)}))},addToolGroup:function(e,t){var a=n.toolsGroups.find(function(e){return e.name===t});return a||n.toolsGroups.splice(e,0,a={name:t,tools:[]}),a},addTools:function(e,t){var a=this;e.forEach(function(e){return a.addTool(e,t)})},removeToolGroup:function(t){n.toolsGroups=n.toolsGroups.filter(function(e){return e.name!==t})},removeTools:function(){n.toolsGroups.splice(0)}}}),i=(a.state=n,a.config=null,a.getState=function(){return n},a.reload=function(){a.removeTools()},a.setLoading=function(){n.loading=0{a.addToolGroup(0,t.toUpperCase()),a.addTools(i[t].map(function(e){return{name:e.name,action:P[t].bind(null,e)}}),{position:0,title:t.toUpperCase()})})(e);var t,r=new d.default({id:"tools",icon:f.default.getFontClass("tools"),iconColor:"#FFE721",title:"tools",service:a,internalComponent:new(Vue.extend({template:'\n
    \n \n
  • \n
    {{ g.name }}
    \n
    \n
  • \n
',components:{G3wTool:o("components/Tool.vue")},data:function(){return{state:null}},watch:{"state.toolsGroups":(t=L(function*(e){r.setVisible(0'}}),{parent:null,contentsdata:u.default.contentsdata,getComponentById:function(t){return(u.default.contentsdata.find(function(e){return t==e.content.id})||{}).content}})}),this.$watch(function(){return u.default.language},M)},mounted:(e=L(function*(){yield this.$nextTick(),O.sidebar.forEach(function(e){isMobile.any&&!1===e.mobile||(u.default.sidebar.components.push(e),new(Vue.extend(o("components/SidebarItem.vue")))({component:e}).$mount())}),O.sidebar.forEach(function(e){return f.default.addComponent(e)}),f.default.addComponent(O.queryresults),$(document).localize(),O.map.mount("#g3w-view-map",!0),O.content.mount("#g3w-view-content",!0),f.default.addComponent(O.map),f.default.addComponent(O.content),yield this.$nextTick(),u.default.sizes.sidebar.width=$(".main-sidebar").width(),f.default.ready();try{var e,t=u.default.project.getGid(),a={},i=(Object.entries(window.initConfig.plugins).filter(function(e){return s(e,2)[1].gid===t}).forEach(function(e){var e=s(e,2),t=e[0];return a[t]=e[1]}),Object.assign(u.default.pluginsConfigs,a),Object.keys(u.default.pluginsConfigs).forEach(function(e){return u.default.configurationPlugins.push(e)}),Object.keys(u.default.pluginsConfigs).forEach(function(e){return u.default.plugins.push(e)}),u.default.project.getState()||{});for(e in i&&i.law&&i.law.length?(u.default.pluginsConfigs.law=i.law,u.default.pluginsConfigs.law.gid=i.gid):delete u.default.pluginsConfigs.law,u.default.pluginsConfigs)Object.entries(u.default.pluginsConfigs[e].plugins||{}).forEach(function(e){var e=s(e,2),t=e[0];return u.default.pluginsConfigs[t]=r({},u.default.pluginsConfigs[t],e[1])});yield Promise.allSettled(Object.entries(u.default.pluginsConfigs).map((n=L(function*(e){var e=s(e,2),t=e[0],e=e[1];if(e){e.baseUrl=window.initConfig.urls.staticurl;try{yield Promise.all((e.jsscripts||[]).map(I)),yield I(""+window.initConfig.urls.staticurl+t+"/js/plugin.js?"+Date.now())}catch(e){return u.default.plugins=u.default.plugins.filter(function(e){return t!==e}),Promise.reject()}}}),function(e){return n.apply(this,arguments)})))}catch(e){}var n;p.default.complete=!0,p.default.emit("complete")}),function(){return e.apply(this,arguments)})})}).catch(function(e){e&&(e.responseJSON&&e.responseJSON.error.data?e=e.responseJSON.error.data:e.statusText&&(e=e.statusText)),$("#startingspinner").remove(),new Vue(r({el:"#app"},Vue.compile('
\n \n \n
")))})},{"./deprecated":114,"./g3w-globals":128,"components/App.vue":36,"components/Catalog.vue":37,"components/GlobalBarLoader.vue":54,"components/GlobalDateTime.vue":55,"components/GlobalDivider.vue":56,"components/GlobalHelpDiv.vue":57,"components/GlobalProgressBar.vue":58,"components/GlobalRange.vue":59,"components/GlobalTabs.vue":60,"components/Map.vue":81,"components/Print.vue":88,"components/QueryBuilder.vue":91,"components/QueryResults.vue":92,"components/Search.vue":105,"components/SidebarItem.vue":107,"components/SpatialBookMarks.vue":108,"components/Tool.vue":110,"components/g3w-search":113,"directives/v-checked":116,"directives/v-disabled":117,"directives/v-download":118,"directives/v-select2":119,"directives/v-t":124,"directives/v-t-html":120,"directives/v-t-plugin":121,"directives/v-t-title":122,"directives/v-t-tooltip":123,"g3w-component":125,"g3w-constants":126,"g3w-i18n":129,"g3w-object":130,"g3w-panel":131,locales:138,"services/application":171,"services/gui":173,"services/iframe":174,"services/map":175,"services/queryresults":176,"store/application":178,"utils/XHR":181,"utils/getProject":212,"utils/noop":227,"utils/promisify":232}],134:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Verbindungsfehler",at_moment:"Karte anzeigen ist im Moment nicht möglich",f5:"Drücken Sie Strg+F5"},cookie_law:{message:"Diese Website verwendet Cookies, um Ihnen die bestmögliche Erfahrung auf unserer Website zu bieten.",buttonText:"Verstanden!"},default:"default",sign_in:"Anmelden",layer_selection_filter:{tools:{filter:"Filter aktivieren/deaktivieren",nofilter:"Filter entfernen",invert:"Auswahl umkehren",clear:"Auswahl löschen",show_features_on_map:"Aktualisieren Sie die Ergebnisse beim Verschieben der Karte",savefilter:"Filter speichern",filterName:"Filtername"}},warning:{not_supported_format:"Nicht unterstütztes Format"},layer_position:{top:"OBEN",bottom:"UNTEN",message:"Position relativ zu den Layern im TOC"},sdk:{atlas:{template_dialog:{title:"Template auswählen"}},spatialbookmarks:{title:"Räumliche Lesezeichen",helptext:"Bewegen Sie sich auf der Kartenausdehnung, fügen Sie den Namen ein und klicken Sie auf Hinzufügen",input:{name:"Name"},sections:{project:{title:"Projekt-Lesezeichen"},user:{title:"Benutzer-Lesezeichen"}}},search:{all:"ALLE",no_results:"Keine Ergebnisse",searching:"Suchen ...",error_loading:"Fehler beim Datenladen",layer_not_searchable:"Layer ist nicht durchsuchbar",layer_not_querable:"Layer ist nicht abfragbar",autocomplete:{inputshort:{pre:"Bitte",post:"oder mehrere Zeichen eingeben"}},help_filter:"Suchwerte werden basierend auf dem aktiven Filter begrenzt. Entfernen Sie den Filter, um nach allen Daten zu suchen.",autofilter:"Filtern Sie die Ergebnisse"},print:{no_layers:"Kein Layer zu drucken",template:"Template",labels:"Labels",scale:"Skala",format:"Format",rotation:"Drehung",download_image:"Bild herunterladen",fids_instruction:"Akzeptierte Werte: von 1 bis [max]. Es ist möglich, ein Intervall einzugeben, z. B. 4-6",fids_example:"Bsp. 1,4-6 druckt id 1,4,5,6",help:"Die im Druck angezeigten Layer können die im Projekt definierten sein und nicht die auf der Karte angezeigten"},querybuilder:{search:{run:"Ausführen",info:"Information",delete:"Löschen",edit:"Bearbeiten"},messages:{changed:"Gespeichert",number_of_features:"Anzahl der Features"},panel:{button:{all:"ALLE",save:"SPEICHERN",test:"TEST",clear:"LÖSCHEN",run:"AUSFÜHREN",manual:"MANUELL"},layers:"LAYERS",fields:"FELDER",values:"WERTE",operators:"OPERATOREN",expression:"AUSDRUCK"},error_run:"Es ist ein Fehler aufgetreten. Bitte überprüfen Sie die Abfrage",error_test:"Während der Ausführung der Abfrage ist ein Fehler aufgetreten",delete:"Soll es gelöscht werden?",additem:"Geben Sie den Namen der neuen Suche ein"},errors:{layers:{load:"Einige Layer sind nicht verfügbar"},unsupported_format:"Nicht unterstütztes Format",add_external_layer:"Fehler im Ladevorgang des Layers"},metadata:{title:"Metadaten",groups:{general:{title:"ALLGEMEIN",fields:{title:"TITEL",name:"NAME",description:"BESCHREIBUNG",abstract:"ABASTRACT",keywords:"SCHLÜSSELWÖRTER",fees:"GEBÜHREN",accessconstraints:"ZUGRIFFSBESCHRÄNKUNG",contactinformation:"KONTAKTE",subfields:{contactinformation:{contactelectronicmailaddress:"Email",personprimary:"Referenzen",contactvoicetelephone:"Telefon",contactorganization:"Firma",ContactOrganization:"Firma",contactposition:"Position",ContactPosition:"Position",contactperson:"Person",ContactPerson:"Person"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"LAYERS",fields:{layers:"LAYERS",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITEL",name:"NAME",geometrytype:"GEOMETRIE",source:"QUELLE",attributes:"ATTRIBUTE",abstract:"ABSTRACT",attribution:"ATRIBUTION",keywords:"SCHLÜSSELWÖRTER",metadataurl:"METADATEN URL",dataurl:"DATEN URL"}},groups:{general:"ALLGEMEIN",spatial:"SPATIAL"}}}},tooltips:{relations:{form_to_row:"Zeilenansicht",row_to_form:"Formularansicht",zoomtogeometry:"Auf Geometrie zoomen"},copy_map_extent_url:"Link zur Kartenansicht kopieren",download_shapefile:"Shapefile herunterladen",download_gpx:"DGPX herunterladen",download_gpkg:"GPKG herunterladen",download_csv:"CSV herunterladen",download_xls:"XLS herunterladen",download_pdf:"PDF herunterladen",show_chart:"Diagramm anzeigen",atlas:"Atlas drucken",editing:"Editing"},mapcontrols:{query:{tooltip:"Query layer",actions:{add_selection:{hint:"Auswahl hinzufügen/entfernen"},zoom_to_features_extent:{hint:"Zoom auf Feature-Ausdehnung"},add_features_to_results:{hint:"Hinzufügen/Entfernen von Features zu den Ergebnissen"},remove_feature_from_results:{hint:"Feature aus den Ergebnissen entfernen"},zoom_to_feature:{hint:"Zum Feature zoomen"},relations:{hint:"Relationen anzeigen"},relations_charts:{hint:"Relationship-Diagramm anzeigen"},download_features_shapefile:{hint:"Features Shapefile herunterladen"},download_shapefile:{hint:"Feature Shapefile herunterladen"},download_features_gpx:{hint:"Feature GPX herunterladen"},download_features_gpkg:{hint:"Feature GPKG herunterladen"},download_gpx:{hint:"Feature GPX herunterladen"},download_gpkg:{hint:"Feature GPKG herunterladen"},download_features_csv:{hint:"Features CSV herunterladen"},download_csv:{hint:"Feature CSV herunterladen"},download_features_xls:{hint:"Features XLS herunterladen"},download_xls:{hint:"Feature XLS herunterladen"},download_pdf:{hint:"Feature PDF herunterladen"},atlas:{hint:"Atlas drucken"},copy_zoom_to_fid_url:{hint:"Kopieren der Karten-URL mit dieser Geometrie-Feature-Erweiterung",hint_change:"Kopiert"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attribute herunterladen",choiches:{feature:{label:"Nur Features"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Query nach Polygon",no_geometry:"Keine Geometrie in der Antwort",help:{message:"
  • Wählen Sie einen Polygon Layer auf TOC.
  • Stellen Sie sicher, dass der Layer sichtbar ist.
  • Klicken Sie auf ein Feature des ausgewählten Layers.
"}},querybydrawpolygon:{tooltip:"Abfrage durch Polygon zeichnen"},querybbox:{tooltip:"BBox Layer abfragen",nolayers_visible:"Es sind keine abfragbaren Layer sichtbar. Bitte setzen Sie mindestens einen sichtbaren wfs Layer, um die Abfrage zu starten",help:{message:"
  • Ein Quadrat auf der Karte ziehen, um unterstrichene Layer im TOC abzufragen
"}},addlayer:{messages:{csv:{warning:"Das Ergebnis in der Karte ist unvollständig, da die unten stehende Liste fehlerhafter Einträge enthält:"}},tooltip:"Layer hinzufügen"},geolocation:{tooltip:"Geolokalisierung"},measures:{length:{tooltip:"Länge",help:"Klicken Sie auf die Karte, um die Linie zu zeichnen. Drücken Sie
CANC, wenn Sie den letzten Eckpunkt löschen möchten."},area:{tooltip:"Fläche",help:"Drücken Sie
CANC, wenn Sie den letzten Eckpunkt löschen wollen."}},scale:{no_valid_scale:"Ungültige Skala"},scaleline:{units:{metric:"Meter",nautical:"Nautische Meile"}},zoomhistory:{zoom_last:"Zoom Vorheriger",zoom_next:"Zoom Nächster"}},relations:{relation_data:"Daten zur Relation",no_relations_found:"Keine Relationen gefunden",back_to_relations:"Zurück zu den Relationen",list_of_relations_feature:"Liste der Relationen des Features",error_missing_father_field:"Ein Feld fehlt",field:"Relation key field"},form:{loading:"Laden ...",inputs:{messages:{errors:{picklayer:"Kein Feature ausgewählt. Prüfen, ob der Layer in Bearbeitung oder im aktuellen Maßstab sichtbar ist"}},tooltips:{picklayer:"Wert aus dem Layer abrufen",lonlat:"Zum Abrufen der Koordinaten auf die Karte klicken"},input_validation_mutually_exclusive:"Feld schließt sich gegenseitig aus mit ",input_validation_error:"Obligatorisches Feld oder falscher Datentyp",input_validation_error_type:"Falscher Datentyp",input_validation_min_field:"Der Wert muss größer/gleich sein als der Feldwert ",input_validation_max_field:"Der Wert muss kleiner/gleich sein als der Feldwert ",input_validation_exclude_values:"Wert muss einmalig sein",integer:"integer",bigint:"integer",text:"text",varchar:"text",textarea:"text",string:"string",date:"date",datetime:"date",float:"float",table:"table"},footer:{required_fields:"Erforderliche Felder"},messages:{qgis_input_widget_relation:"Spezifisches Relations-Formular verwenden, um mit Relationen zu arbeiten"}},catalog:{current_map_theme_prefix:"THEMA",choose_map_theme:"THEMA AUSWÄHLEN",choose_map_theme_input_label:"Name des neuen Themes",project_map_theme:"Projekt Themes",user_map_theme:"Benutzer Themes",question_delete_map_theme:"Möchten Sie das Thema löschen??",delete_map_theme:"Theme erfolgreich gelöscht",saved_map_theme:"Thema erfolgreich gespeichert",updated_map_theme:"Thema aktualisieren gespeichert",invalid_map_theme_name:"Der Name ist bereits vorhanden oder falsch",menu:{layerposition:"Position der Ebenen",setwmsopacity:"Opazität einstellen",wms:{title:"",copy:"Klicken Sie hier, um die Url zu kopieren",copied:"Kopiert"},download:{unknow:"Herunterladen",shp:"Shapefile herunterladen",gpx:"GPX herunterladen",gpkg:"GPKG herunterladen",csv:"CSV herunterladen",xls:"XLS herunterladen",geotiff:"GEOTIFF herunterladen",geotiff_map_extent:"GEOTIFF herunterladen (aktueller Ansichtsumfang)"}}},wps:{list_process:"Liste der Prozesse",tooltip:"Karte anklicken"}},credits:{g3wSuiteFramework:"Applikation basiert auf OS-Framework",g3wSuiteDescription:"Veröffentlichen und verwalten Sie Ihre QGIS-Projekte im Internet",productOf:"Framework entwickelt von"},toggle_color_scheme:"Farbschema umschalten",logout:"Logout",no_other_projects:"Kein weiteres Projekt für diese Gruppe",no_other_groups:"Keine weiteren Gruppen für diese Makrogruppe",yes:"Ja",no:"No",back:"Zurück",backto:"Zurück zu ",changemap:"Karte ändern",change_session:"Sitzung ändern",component:"Allgemeine Komponente",search:"Suche",no_results:"Keine Ergebnisse gefunden",print:"Drucken",create_print:"Drucken erstellen",dosearch:"Suche",catalog:"Karte",data:"Daten",externalwms:"WMS",baselayers:"Base",tools:"Tools",tree:"Layers",legend:"Legende",nobaselayer:"Keine Basemap",street_search:"Adresse finden",show:"Anzeigen",hide:"Ausblenden",copy_form_data:"Daten kopieren",paste_form_data:"Einfügen",copy_form_data_from_feature:"Daten von der Karte kopieren",error_map_loading:"Fehler beim Laden der Karte",check_internet_connection_or_server_admin:"Internetverbindung prüfen oder Admin kontaktieren",could_not_load_vector_layers:"Verbindungsfehler: Layers können geladen werden",server_saver_error:"Fehler beim Speichern auf dem Server",server_error:"Server-Verbindungsfehler",save:"Speichern",cancel:"Abbrechen",update:"Aktualisieren",close:"Schließen",dont_show_again:"Diese Meldung nicht mehr anzeigen",enlange_reduce:"Vergrößern / Verkleinern",add:"Hinzufügen",exitnosave:"Beenden ohne Speichern",annul:"Abbrechen",layer_is_added:"Layer mit gleichem Namen bereits hinzugefügt",sidebar:{wms:{panel:{title:"WMS Layer hinzufügen",label:{position:"Kartenposition",name:"Name",projections:"Projektion",layers:"Layers"}},add_wms_layer:"WMS Layer hinzufügen",delete_wms_url:"WMS Url löschen",layer_id_already_added:"WMS Layer bereits hinzugefügt",url_already_added:"WMS URL/Name bereits hinzugefügt",layer_add_error:"WMS Layer nicht hinzugefügt. Bitte überprüfen Sie alle WMS-Parameter oder Url"}},info:{title:"Ergebnisse",list_of_relations:"List of Relations",open_link:"Beigefügtes Dokument öffnen",server_error:"Auf dem Server ist ein Fehler aufgetreten",no_results:"Keine Ergebnisse für diese Anfrage/Suche gefunden",link_button:"Öffnen"},mapcontrols:{geolocation:{error:"Position kann nicht bestimmt werden"},geocoding:{choose_layer:"Wählen Sie eine Ebene aus, auf der Sie diese Funktion hinzufügen möchten",placeholder:"Addresse ...",nolayers:"Für dieses Projekt wurden keine bearbeitbaren Punktebenen gefunden",noresults:"Keine Ergebnisse",notresponseserver:"Keine Antwort vom Server"},add_layer_control:{header:"Layer hinzufügen",select_projection:"Layer Projektion auswählen",select_field_to_show:"Feld auswählen, das auf der Karte angezeigt werden soll",select_csv_separator:"Begrenzer auswählen",select_csv_x_field:"X-Feld auswählen",select_csv_y_field:"Y-Feld auswählen",select_color:"Layer Farbe auswählen",drag_layer:"Layer hierher ziehen und ablegen"},query:{input_relation:"Klicken, um Relationen anzuzeigen"},length:{tooltip:"Länge"},area:{tooltip:"Area"},screenshot:{error:"Screenshot Fehlererstellung",securityError:' \n

Sicherheitsfehler: Eine externe Ebene verhindert, dass die Karte gedruckt wird. Gehen Sie zur Überprüfung wie folgt vor:

\n
    \n
  1. Entfernen Sie alle manuell hinzugefügten externen Ebenen (z. B. WMS-Ebenen)
  2. \n
  3. Neuladen der Seite erzwingen: STRG + F5
  4. \n
  5. Drucken Sie die Karte erneut
  6. \n
\n

Für weitere Informationen wenden Sie sich bitte an den Serveradministrator zu: ℹ️ Sicherheit und befleckte Leinwände

\n '}},catalog_items:{helptext:"Klicken Sie mit der rechten Maustaste auf einen einzelnen Layer, um auf zusätzliche Funktionen zuzugreifen",contextmenu:{zoomtolayer:"Zoom auf Layer",open_attribute_table:"Attributtabelle öffnen",show_metadata:"Metadaten",styles:"Stile",vector_color_menu:"Farbe einstellen/ändern",layer_opacity:"Opazität",filters:"Filters"}},dataTable:{previous:"Vorherige",next:"Weiter",lengthMenu:"Zeigen Sie _MENU_ Werte pro Seite an",info:"_TOTAL_ Ergebnissen",no_data:"Keine Daten",nodatafilterd:"Keine passenden Datensätze gefunden",infoFiltered:"(gefiltert aus _MAX_ Gesamtsätzen)"}}}},{}],135:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Connection error",at_moment:"At the moment is not possible show map",f5:"Press Ctrl+F5"},cookie_law:{message:"This website uses cookies to ensure you get the best experience on our website.",buttonText:"Got It!"},default:"default",sign_in:"Sign in",layer_selection_filter:{tools:{filter:"Enable/Disable filter",nofilter:"Remove Filter",invert:"Invert Selection",clear:"Clear Selection",show_features_on_map:"Update results when map moves",savefilter:"Save Filter",filterName:"Filter Name"}},warning:{not_supported_format:"Not supported format"},layer_position:{top:"top",bottom:"bottom",message:"Position"},sdk:{atlas:{template_dialog:{title:"Select Template"}},spatialbookmarks:{title:"Bookmarks",helptext:"Move on map extent, insert name and click Add",input:{name:"Name"},sections:{project:{title:"Project Bookmarks"},user:{title:"User Bookmarks"}}},search:{all:"ALL",no_results:"No results",searching:"Searching ...",error_loading:"Error Loading Data",layer_not_searchable:"Layer is not searchable",layer_not_querable:"Layer is not querable",autocomplete:{inputshort:{pre:"Please enter",post:"or more characters"}},help_filter:"Search values are limited based on the active filter. Remove the filter to search all data.",autofilter:"Filter results"},print:{no_layers:"No Layer to print",template:"Template",labels:"Labels",scale:"Scale",format:"Format",rotation:"Rotation",download_image:"Download Image",fids_instruction:"Values accepted: from 1 to value of [max]. Is possible to insert a range ex. 4-6",fids_example:"Ex. 1,4-6 will be printed id 1,4,5,6",help:"Exported layers are defined by the administrator"},querybuilder:{title:"Advanced search",search:{run:"Run",info:"Information",delete:"Delete",edit:"Edit"},messages:{changed:"Saved",number_of_features:"Features found:"},panel:{button:{all:"SEARCH A VALUE",save:"SAVE",test:"TEST",clear:"CLEAR",run:"RUN",manual:"MANUAL"},layers:"LAYERS",fields:"FIELDS",values:"VALUES",operators:"OPERATORS",expression:"EXPRESSION"},error_run:"An error occurs. Please check the query",error_test:"An error occur during query execution",delete:"Do you want delete it?",additem:"Insert the name of the new search"},errors:{layers:{load:"Some layers are not available"},unsupported_format:"Not supported format",add_external_layer:"Load layer error"},metadata:{title:"Metadata",groups:{general:{title:"GENERAL",fields:{title:"TITLE",name:"NAME",description:"DESCRIPTION",abstract:"ABSTRACT",keywords:"KEYWORDS",fees:"FEES",accessconstraints:"ACCESS CONSTRAINT",contactinformation:"CONTACTS",subfields:{contactinformation:{contactelectronicmailaddress:"Email",personprimary:"References",contactvoicetelephone:"Phone",contactorganization:"Organization",ContactOrganization:"Organization",contactposition:"Position",ContactPosition:"Position",contactperson:"Person",ContactPerson:"Person"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"LAYERS",fields:{layers:"LAYERS",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITLE",name:"NAME",geometrytype:"GEOMETRY",source:"SOURCE",attributes:"ATTRIBUTES",abstract:"ABSTRACT",attribution:"ATTRIBUTION",keywords:"PAROLE CHIAVE",metadataurl:"METADATA URL",dataurl:"DATA URL"}},groups:{general:"GENERAL",spatial:"SPATIAL"}},credits:{title:"Credits"}}},tooltips:{relations:{form_to_row:"Row View",row_to_form:"Form View",zoomtogeometry:"Zoom to Geometry"},copy_map_extent_url:"Copy share URL",download_shapefile:"Download Shapefile",download_gpx:"Download GPX",download_gpkg:"Download GPKG",download_csv:"Download CSV",download_xls:"Download XLS",download_pdf:"Download PDF",show_chart:"Show Chart",atlas:"Print Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Query layer",actions:{add_selection:{hint:"Add/Remove Selection"},zoom_to_features_extent:{hint:"Zoom to features extent"},add_features_to_results:{hint:"Add/Remove features to results"},remove_feature_from_results:{hint:"Remove feature from results"},zoom_to_feature:{hint:"Zoom to feature"},relations:{hint:"Show Relations"},relations_charts:{hint:"Show relations chart"},download_features_shapefile:{hint:"Download features Shapefile"},download_shapefile:{hint:"Download feature Shapefile"},download_features_gpx:{hint:"Download feature GPX"},download_features_gpkg:{hint:"Download features GPKG"},download_gpx:{hint:"Download feature GPX"},download_gpkg:{hint:"Download feature GPKG"},download_features_csv:{hint:"Download features CSV"},download_csv:{hint:"Download feature CSV"},download_features_xls:{hint:"Download features XLS"},download_xls:{hint:"Download feature XLS"},download_pdf:{hint:"Download feature PDF"},atlas:{hint:"Print Atlas"},copy_zoom_to_fid_url:{hint:"Share via link",hint_change:"Copied"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attributes download",choiches:{feature:{label:"Features only"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Query By Polygon",no_geometry:"No geometry on response",help:{message:"
  • Select a (visible) layer.
  • Click on a geometry within map.
"}},querybydrawpolygon:{tooltip:"Query by Draw Polygon ",help:{message:"
  • Click on map to add a new vertex
  • Double click to finish and query layers (underlined in yellow in legend)
"}},querybbox:{tooltip:"Query BBox layer",nolayers_visible:"No querable layers are visible. Please set at least one visible wfs layer to run query",help:{message:"
  • Drag the mouse to draw a rectangle and query layers (underlined in yellow in legend)
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"The result in the map is partial due to the presence of the below incorrect records list:"}},tooltip:"Add Layer"},geolocation:{tooltip:"Geolocation"},measures:{title:"Measure",length:{tooltip:"Length",help:"Click on map to draw the line. Press
CANC if you want delete last vertex"},area:{tooltip:"Area",help:"Click to draw poligon.Press
CANC if you want delete last vertex"}},screenshot:{title:"Screen capture",screenshot:"PNG",geoscreenshot:"GeoTIFF",download:"Generate"},scale:{no_valid_scale:"Invalid Scale"},scaleline:{units:{metric:"Meters",nautical:"Nautical Mile"}},zoomhistory:{zoom_last:"Zoom Last",zoom_next:"Zoom Next"}},relations:{relation_data:"Relation data",no_relations_found:"No relations found",back_to_relations:"Back to relations",list_of_relations_feature:"List of relations of feature",error_missing_father_field:"Field is missing",field:"Relation key field"},form:{loading:"Loading ...",inputs:{messages:{errors:{picklayer:"No feature selected. Check if layer is on editing or visible at current scale"}},tooltips:{picklayer:"Get value from ma layer",lonlat:"Click on map to get coordinates"},input_validation_mutually_exclusive:"Field mutually exclusive with ",input_validation_error:"Mandatory Field or wrong data type",input_validation_error_type:"Wrong data type",input_validation_min_field:"Value has to be more/equal to field value ",input_validation_max_field:"Value has to be less/equal to field value ",input_validation_exclude_values:"Value has to be unique",integer:"integer",bigint:"integer",text:"text",varchar:"text",textarea:"text",string:"string",date:"date",datetime:"date",float:"float",table:"table"},footer:{required_fields:"Required fields"},messages:{qgis_input_widget_relation:"Use relation specific form to work with relation"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"CHOOSE THEME",choose_map_theme_input_label:"Name of new map theme",project_map_theme:"Project Themes",user_map_theme:"User Themes",question_delete_map_theme:"Do you want delete the theme?",delete_map_theme:"Theme deleted successfully",saved_map_theme:"Theme saved successfully",updated_map_theme:"Theme updated successfully",invalid_map_theme_name:"Invalid or exiting name",menu:{layerposition:"Layer Position",setwmsopacity:"Set Opacity",wms:{title:"",copy:"Click here to copy url",copied:"Copied"},download:{unknow:"Download",geotiff_map_extent:"GeoTiff (current view)"}}},wps:{list_process:"List of process",tooltip:"Click on map"}},credits:{g3wSuiteFramework:"Application based on OS framework",g3wSuiteDescription:"Publish and manage your QGIS projects on the web",productOf:"Framework developed by"},toggle_color_scheme:"Toggle color scheme",logout:"Logout",no_other_projects:"No more project for this group",no_other_groups:"No more groups for this Macrogroup",yes:"Yes",no:"No",back:"Back",backto:"Back to ",changemap:"Change map",change_session:"Change Session",component:"Generic Component",search:"Search",no_results:"No results found",print:"Print",create_print:"Create Print",dosearch:"Search",catalog:"Map",data:"Data",externalwms:"WMS",baselayers:"Base",tools:"Tools",tree:"Layers",legend:"Legend",nobaselayer:"No basemap",street_search:"Find Address",show:"Show",hide:"Hide",copy_form_data:"Copy data",paste_form_data:"Paste",copy_form_data_from_feature:"Copy data from map",error_map_loading:"Error occurs loading map",check_internet_connection_or_server_admin:"Check internet connection or contact admin",could_not_load_vector_layers:"Connection error: Layers can be loaded",server_saver_error:"Error in server saving",server_error:"Server connection error",save:"Save",cancel:"Cancel",update:"Update",close:"Close",dont_show_again:"Don't show again",enlange_reduce:"Enlarge / Reduce",add:"Add",exitnosave:"Exit without save",annul:"Cancel",layer_is_added:"Layer with same name already added",sidebar:{wms:{panel:{title:"Add WMS Layer",label:{position:"Map Position",name:"Name",projections:"Projection",layers:"Layers"}},add_wms_layer:"Add WMS layer",delete_wms_url:"Remove",layer_id_already_added:"A WMS connection with this name already exists",url_already_added:"WMS URL/Name already added",layer_add_error:"WMS Layer not added. Please check all wms parameter or url"}},info:{title:"Results",list_of_relations:"List of Relations",open_link:"Open attached document",server_error:"An error occurred from server",no_results:"No results found for this query/search",link_button:"Open"},mapcontrols:{geolocation:{error:"Can't get your position"},geocoding:{choose_layer:"Choose a layer where to add this feature",placeholder:"Address ...",nolayers:"No editable point layers found on this project",noresults:"No results",notresponseserver:"No response from server"},add_layer_control:{header:"Add Layer",select_projection:"Projection",select_field_to_show:"field shown on map",select_csv_separator:"Delimiter",select_csv_x_field:"X field",select_csv_y_field:"Y field",select_color:"Layer Color",drag_layer:"Add your file here",persistent_data:"Persistent data",persistent_help:"save layer into browser storage"},query:{input_relation:"Click to show relations"},length:{tooltip:"Length"},area:{tooltip:"Area"},screenshot:{error:"Screenshot error creation",securityError:' \n

Security Error: an external layer is preventing map from being printed. To check, proceed as follows:

\n
    \n
  1. remove any manually added external layers (eg. WMS layers)
  2. \n
  3. force page reload: CTRL + F5
  4. \n
  5. print again the map
  6. \n
\n

For more info please contact server administrator about: ℹ️ security and tainted canvases

\n '}},catalog_items:{helptext:"Open menu",contextmenu:{zoomtolayer:"Zoom to Layer",open_attribute_table:"Open Attribute Table",show_metadata:"Metadata",styles:"Style",vector_color_menu:"Color",layer_opacity:"Opacity",filters:"Filters",download:"Save as",ogc_services:"OGC Services",edit:"Edit Layer"}},dataTable:{previous:"Previous",next:"Next",lengthMenu:"Show _MENU_ values per page",info:"_TOTAL_ entries",no_data:"No data",nodatafilterd:"No matching records found",infoFiltered:"(filtered from _MAX_ total records)"},no_geometry:"This item has no geometry",query_filter:"Filter by:",sidebar_menu:"Sidebar menu",layer_type:"Layer type",choose_type:"Choose type",remote_wms_url:"WMS (URL)",local_file:"Local file",embed_map:"Embed map",homepage:"Home",wms_server:"WMS Server",connect_to_wms:"Connect",disconnect_from_wms:"Disconnect",add_new_wms_url_help:"Search through saved connections or add a new server",label:"Label",no_csv_field:"No valid fields"}}},{}],136:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Yhteysvirhe",at_moment:"Tällä hetkellä ei ole mahdollista näyttää karttaa",f5:"Paina Ctrl+F5"},cookie_law:{message:"This website uses cookies to ensure you get the best experience on our website.",buttonText:"Got It!"},default:"oletuksena",sign_in:"Kirjaudu sisään",layer_selection_filter:{tools:{filter:"Ota suodatin käyttöön/poista käytöstä",nofilter:"Poista Suodattaa",invert:"Käänteinen Valinta",clear:"Peruuttaa Valinta",show_features_on_map:"Päivitä tulokset karttaa siirtäessäsi",savefilter:"Tallenna suodatin",filterName:"Suodattimen Nimi"}},warning:{not_supported_format:"Not supported format"},layer_position:{top:"TOP",bottom:"BOTTOM",message:"Position relative to layers on TOC"},sdk:{atlas:{template_dialog:{title:"Valitse Template"}},spatialbookmarks:{title:"Tilalliset kirjanmerkit",helptext:"Siirry kartan laajuuteen, lisää nimi ja napsauta Lisää",input:{name:"Nimi"},sections:{project:{title:"Projektin kirjanmerkit"},user:{title:"Käyttäjän kirjanmerkit"}}},search:{all:"KAIKKI",no_results:"Ei tuloksia",searching:"Haetaan ...",error_loading:"Virhe ladattaessa tietoja.",layer_not_searchable:"Taso ei ole haettavissa.",layer_not_querable:"Tasolle ei voi suorittaa kyselyitä.",autocomplete:{inputshort:{pre:"Syötä",post:"tai useampi merkki"}},help_filter:"Hakuarvot ovat rajoitettuja aktiivisen suodattimen perusteella. Poista suodatin etsiäksesi kaikista tiedoista.",autofilter:"Suodata tulokset"},print:{no_layers:"Ei tulostettavia tasoja",template:"Template",labels:"Labels",scale:"Mittakaava",format:"Formaatti",rotation:"Kierto",download_image:"Lataa kuva",fids_instruction:"Hyväksytyt arvot: yhdestä arvoon [max]. Salittua syöttää myös väli, esim. 4-6.",fids_example:"Esimerkiksi 1,4-6 tulostuu id 1,4,5,6.",help:"Tulosteessa esiintyvät tasot voivat olla projektissa määriteltyjä ei kartalla esiintyviä."},querybuilder:{search:{run:"Suorita",info:"Informaatio",delete:"Poista",edit:"Muokkaa"},messages:{changed:"Tallennettu",number_of_features:"Ominaisuuksien lukumäärä"},panel:{button:{all:"KAIKKI",save:"TALLENNA",test:"TESTI",clear:"TYHJENNÄ",run:"SUORITA",manual:"MANUAALINEN"},layers:"TASOT",fields:"KENTÄT",values:"ARVOT",operators:"OPERAATTORIT",expression:"LAUSEKE"},error_run:"Tapahtui virhe. Tarkista kysely.",error_test:"Kyselyä suorittaessa tapahtui virhe.",delete:"Haluatko poistaa sen?",additem:"Anna nimi uudelle haulle."},errors:{layers:{load:"Jotkin tasot eivät ole saatavilla."},unsupported_format:"Ei tuettu formaatti",add_external_layer:"Tason latausvirhe"},metadata:{title:"Metatiedot",groups:{general:{title:"YLEINEN",fields:{title:"OTSIKKO",name:"NIMI",description:"KUVAUS",abstract:"TIIVISTELMÄ",keywords:"AVAINSANAT",fees:"MAKSUT",accessconstraints:"PÄÄSYRAJOITUKSET",contactinformation:"YHTEYSTIEDOT",subfields:{contactinformation:{contactelectronicmailaddress:"Sähköposti",personprimary:"Viitteet",contactvoicetelephone:"Puhelin",contactorganization:"Organisaatio",ContactOrganization:"Organisaatio",contactposition:"Asema",ContactPosition:"Asema",contactperson:"Yhteyshenkilö",ContactPerson:"Yhteyshenkilö"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"TASOT",fields:{layers:"TASOT",subfields:{crs:"EPSG",bbox:"BBOX",title:"OTSIKKO",name:"NIMI",geometrytype:"GEOMETRIA",source:"LÄHDE",attributes:"ATTRIBUUTIT",abstract:"TIIVISTELMÄ",attribution:"ATTRIBUUTIO",keywords:"AVAINSANAT",metadataurl:"METATIEDON URL",dataurl:"DATA URL"}},groups:{general:"YLEINEN",spatial:"SPATIAL"}}}},tooltips:{relations:{form_to_row:"Rivinäkymä",row_to_form:"Taulukkonäkymä",zoomtogeometry:"Zoomaa geometriaan"},copy_map_extent_url:"Kopioi kartan katselulinkki",download_shapefile:"Lataa SHP-tiedosto",download_gpx:"Lataa GPX-tiedosto",download_gpkg:"Lataa GPKG-tiedosto",download_csv:"Lataa CSV-tiedosto",download_xls:"Lataa XLS-tiedosto",download_pdf:"Lataa PDF-tiedosto",show_chart:"Näytä kaavio",atlas:"Tulosta Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Kyselytaso",actions:{add_selection:{hint:"Lisää/Poista valinta"},zoom_to_features_extent:{hint:"Tarkenna ominaisuuden laajuuteen"},add_features_to_results:{hint:"Add/Remove features to results"},remove_feature_from_results:{hint:"Remove feature from results"},zoom_to_feature:{hint:"Tarkenna ominaisuuteen"},relations:{hint:"Näytä relaatiot"},relations_charts:{hint:"Näytä relaatiokaavio"},download_features_shapefile:{hint:"Lataa ominaisuuden SHP-tiedosto"},download_shapefile:{hint:"Lataa ominaisuuden SHP-tiedosto"},download_features_gpx:{hint:"Lataa ominaisuuden GPX-tiedosto"},download_features_gpkg:{hint:"Lataa ominaisuuden GPKG-tiedosto"},download_gpx:{hint:"Lataa ominaisuuden GPX-tiedosto"},download_gpkg:{hint:"Lataa ominaisuuden GPKG-tiedosto"},download_features_csv:{hint:"Lataa ominaisuuden CSV-tiedosto"},download_csv:{hint:"Lataa ominaisuuden CSV-tiedosto"},download_features_xls:{hint:"Lataa ominaisuuden XLS-tiedosto"},download_xls:{hint:"Lataa ominaisuuden XLS-tiedosto"},download_pdf:{hint:"Lataa ominaisuuden PDF-tiedosto"},atlas:{hint:"Tulosta Atlas"},copy_zoom_to_fid_url:{hint:"Copy map URL with this geometry feature extension",hint_change:"Copied"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attributes download",choiches:{feature:{label:"Features only"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Kysely monikulmiolla",no_geometry:"No geometry on response",help:{message:"
  • Valitse monikulmiotaso luettelosta.
  • Tarkista, että taso on näkyvillä.
  • Valitse ominaisuus valitulla tasolla.
"}},querybydrawpolygon:{tooltip:"Kysely piirtopolygonin mukaan"},querybbox:{tooltip:"Tasoon kohdituva BBox-kysely",nolayers_visible:"Ei kyseltäviä tasoja näkyvillä. Aseta vähintään yksi WFS-taso näkyväksi suorittaaksesi haun.",help:{message:"
  • Piirrä suorakulmio kartalle suorittaaksesi kyselyn luettelossa alleviivatuille tasoille.
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"The result in the map is partial due to the presence of the below incorrect records list:"}},tooltip:"Lisää taso"},geolocation:{tooltip:"Maantieteellinen sijainti"},measures:{length:{tooltip:"Pituus",help:"Piirrä murtoviiva kartalle. Paina
CANC, mikäli haluat poistaa edellisen pisteen."},area:{tooltip:"Alue",help:"Piirrä monikulmio kartalle. Paina
CANC, mikäli haluat poistaa edellisen pisteen."}},scale:{no_valid_scale:"Väärä mittakaava"},scaleline:{units:{metric:"Meters",nautical:"Nautical Mile"}},zoomhistory:{zoom_last:"Zoom Edellinen",zoom_next:"Zoom Seurata"}},relations:{relation_data:"Relaation tiedot",no_relations_found:"Relaatiota ei löytynyt.",back_to_relations:"Takaisin relaatioihin",list_of_relations_feature:"Lista ominaisuuden relaatioista",error_missing_father_field:"Kenttä puuttu",field:"Relation key field"},form:{loading:"Ladataan...",inputs:{messages:{errors:{picklayer:"Ominaisuuksia ei valiitu. Tarkista, että taso on muokattavissa tai näkyvissä nykyisellä mittakaavalla."}},tooltips:{picklayer:"Valitse arvo karttatasolta",lonlat:"Click on map to get coordinates"},input_validation_mutually_exclusive:"Kenttä toisensa poissulkeva.",input_validation_error:"Pakollinen kenttä tai väärä tietotyyppi.",input_validation_error_type:"Väärä tietotyyppi.",input_validation_min_field:"Arvon tulee olla suurempi tai yhtäsuuri kuin kentän arvo.",input_validation_max_field:"Arvon tulee olla pienempi tai yhtäsuuri kuin kentän arvo.",input_validation_exclude_values:"Arvon tulee olla uniikki.",integer:"kokonaisluku",bigint:"kokonaisluku",text:"teksti",varchar:"teksti",textarea:"teksti",string:"merkkijono",date:"päiväys",datetime:"päiväys",float:"liukuluku",table:"taulukko"},footer:{required_fields:"Vaaditut kentät"},messages:{qgis_input_widget_relation:"Käytä relaatioiden määrittämiseen tähän tarkoitettua toimintoa"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"CHOOSE THEME",choose_map_theme_input_label:"Uuden teeman nimi",project_map_theme:"Projektin Themes",user_map_theme:"Käyttäjä Themes",question_delete_map_theme:"Haluatko poistaa teeman?",delete_map_theme:"Teeman poistaminen onnistui",saved_map_theme:"Teeman tallennus onnistui",updated_map_theme:"Teeman päivittää onnistui",invalid_map_theme_name:"Nimi on jo olemassa tai se on virheellinen",menu:{layerposition:"Kerroksen sijainti",setwmsopacity:"Aseta Opacity",wms:{title:"",copy:"Paina tästä kopioidaksesi url:n.",copied:"Kopioitu."},download:{unknow:"Lataa",shp:"Lataa SHP-tiedosto",gpx:"Lataa GPX-tiedosto",gpkg:"Lataa GPKG-tiedosto",csv:"Lataa CSV-tiedosto",xls:"Lataa XLS-tiedosto",geotiff:"Lataa GEOTIFF-tiedosto",geotiff_map_extent:"Lataa GEOTIFF-tiedosto(current view extent)"}}},wps:{list_process:"Lista prosesseista",tooltip:"Valitse kartalta"}},credits:{g3wSuiteFramework:"Sovellus perustuu OS framework",g3wSuiteDescription:"Julkaise ja hallinnoi QGIS-projekteja verkossa.",productOf:"Frameworkin on kehittänyt"},toggle_color_scheme:"Toggle color scheme",logout:"Kirjaudu ulos",no_other_projects:"Ei projekteja tälle ryhmälle",no_other_groups:"Ei enää ryhmiä tälle makroryhmälle",yes:"Kyllä",no:"Ei",back:"Palaa",backto:"Takaisin ",changemap:"Vaihda karttaa",change_session:"Vaihda istuntoa",component:"Yleinen komponentti",search:"Hae",no_results:"Ei hakutuloksia",print:"Tulosta",create_print:"Luo tuloste",dosearch:"Hae",catalog:"Kartta",data:"Data",externalwms:"WMS",baselayers:"Taustakartta",tools:"Työkalut",tree:"Tasot",legend:"Merkintöjen selite",nobaselayer:"Ei taustakarttaa",street_search:"Hae osoite",show:"Näytä",hide:"Piilota",copy_form_data:"Kopioi tiedot",paste_form_data:"Liitä",copy_form_data_from_feature:"Kopioi tiedot kartalta",error_map_loading:"Virhe ladattessa karttaa",check_internet_connection_or_server_admin:"Tarkista internetyhteys tai ota yhteyttä ylläpitäjään.",could_not_load_vector_layers:"Yhteysvirhe, tasoja ei voida ladata.",server_saver_error:"Virhe tallentaessa palvelimelle.",server_error:"Yhteysvirhe palvelimeen",save:"Tallenna",cancel:"Peruuta",update:"Päivittää",close:"Sulje",dont_show_again:"Älä näytä viestiä uudelleen",enlange_reduce:"Suurenna / Pienennä",add:"Lisää",exitnosave:"Poistu tallentamatta",annul:"Peruuta",layer_is_added:"Samanniminen taso on jo lisätty.",sidebar:{wms:{panel:{title:"Add WMS Layer",label:{position:"Map Position",name:"Name",projections:"Projection",layers:"Layers"}},add_wms_layer:"Aggiungi WMS layer",delete_wms_url:"Delete WMS url",layer_id_already_added:"WMS Taso on jo lisätty.",url_already_added:"WMS URL/Nimi on jo lisätty.",layer_add_error:"WMS Layer not added. Please check all wms parameter or url"}},info:{title:"Tulokset",list_of_relations:"List of Relations",open_link:"Avaa liitetiedosto",server_error:"Palvelimella tapahtui virhe.",no_results:"Ei tuloksia haulle/kyselylle.",link_button:"Avaa"},mapcontrols:{geolocation:{error:"Sijaintiasi ei saada"},geocoding:{choose_layer:"Valitse kerros, johon tämä ominaisuus lisätään",placeholder:"Osoite ...",nolayers:"Tästä projektista ei löytynyt muokattavia pistetasoja",noresults:"Ei tuloksia",notresponseserver:"Ei vastausta palvelimelta"},add_layer_control:{header:"Lisää taso",select_projection:"Valitse tason projektio",select_field_to_show:"Select Field to show on map",select_csv_separator:"Select delimiter",select_csv_x_field:"Select X field",select_csv_y_field:"Select Y field",select_color:"Valitse tason väri",drag_layer:"Vedä ja pudota taso tähän"},query:{input_relation:"Paina näyttääksesi relaatiot"},length:{tooltip:"Pituus"},area:{tooltip:"Pinta-ala"},screenshot:{error:"Screenshot error creation",securityError:' \n

Turvallisuusvirhe: ulkoinen kerros estää karttaa tulostamasta. Tarkistaaksesi, toimi seuraavasti:

\n
    \n
  1. poista manuaalisesti lisätyt ulkoiset tasot (esim. WMS-tasot)
  2. \n
  3. Pakota sivun uudelleenlataus: CTRL + F5
  4. \n
  5. tulosta kartta uudelleen
  6. \n
\n

Saat lisätietoja palvelimen järjestelmänvalvojalta seuraavista aiheista: ℹ️ turvallisuus ja likaiset kankaat

\n '}},catalog_items:{helptext:"Napsauta hiiren kakkospainikkeella yksittäistä tasoa päästäksesi lisäominaisuuksiin.",contextmenu:{zoomtolayer:"Tarkenna tasoon",open_attribute_table:"Avaa attribuuttitaulu",show_metadata:"Metatiedot",styles:"Tyylejä",vector_color_menu:"Aseta/muuta väriä",layer_opacity:"Peittävyys",filters:"Filters"}},dataTable:{previous:"Edellinen",next:"Seuraava",lengthMenu:"Näytä _MENU_ arvoa sivulla",info:"tulosta _TOTA_:stä",no_data:"Ei tietoja",nodatafilterd:"Vastaavia tietueita ei löytynyt",infoFiltered:"(filtered from _MAX_ total records)"}}}},{}],137:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Erreur de connexion",at_moment:"Pour le moment, il n'est pas possible d'afficher la carte",f5:"Appuyez sur Ctrl+F5"},cookie_law:{message:"Ce site utilise des cookies pour assurer une bonne convivialité pour l'utilisateur final.",buttonText:"J’ai compris !"},default:"par défaut ",sign_in:"Se connecter ",layer_selection_filter:{tools:{filter:"Activer/Désactiver le filtre",nofilter:"Supprimer le filtre ",invert:"Sélection inversée ",clear:"Effacer la sélection ",show_features_on_map:"Mettre à jour les résultats lors du déplacement de la carte",savefilter:"Sauver le Filtre",filterName:"Nom du Filtre"}},warning:{not_supported_format:"Format non supporté"},layer_position:{top:"HAUT",bottom:"BAS",message:"Position relative des couches dans la table des matières"},sdk:{atlas:{template_dialog:{title:"Sélectionnez un modèle"}},spatialbookmarks:{title:"Signets spatiaux",helptext:"Déplacez-vous sur l'étendue de la carte, insérez le nom et cliquez sur Ajouter",input:{name:"Nom"},sections:{project:{title:"Signets du projet"},user:{title:"Signets de l'utilisateur"}}},search:{all:"TOUTES",no_results:"Aucune valeur trouvée",searching:"Je cherche...",error_loading:"Erreur de chargement des valeurs",layer_not_searchable:"La couche n’est pas recherchable",layer_not_querable:"La couche n'est pas interrogeable",autocomplete:{inputshort:{pre:"Tapez au moins",post:"caractères"}},help_filter:"Les valeurs de recherche sont limitées en fonction du filtre actif. Supprimez le filtre pour rechercher toutes les données.",autofilter:"Filtrer les résultats"},print:{no_layers:"Aucune layer visible",scale:"Échelle",format:"Format",rotation:"Rotation",download_image:"Télécharger l'image",fids_instruction:"Valeurs acceptées : de 1 à la valeur maximale indiquée par [max]. Il est également possible d'indiquer une fourchette de valeurs, par exemple 4-6",fids_example:"Par exemple 1,4-6 les ids 1,4,5,6 seront imprimés",help:"Les couches montrées dans l'impression peuvent être celles définies dans le projet et non celles montrées sur la carte"},querybuilder:{search:{run:"Lancer la recherche",info:"Information",delete:"Supprimer",edit:"Modifier"},messages:{changed:"Enregistré correctement",number_of_features:"Nombre d'entités"},panel:{button:{all:"TOUTES",save:"SAUVEGARDER",test:"TESTER",clear:"NETTOYER",run:"EXECUTER",manual:"MANUEL"},layers:"COUCHES",fields:"CHAMPS",values:"VALEURS",operators:"OPERATEURS",expression:"EXPRESSION"},error_run:"Une erreur s'est produite. Vérifiez si la requête est correcte",error_test:"Erreur d'exécution de la requête",delete:"Voulez-vous confirmer la suppression ?",additem:"Entrer le nom de la requête"},errors:{layers:{load:"Certaines couches du projet ne sont pas disponibles actuellement et n'apparaissent donc pas dans la vue actuelle"},unsupported_format:"Format non supporté",add_external_layer:"Erreur lors du chargement de la couche"},metadata:{title:"Métadonnées",groups:{general:{title:"GÉNÉRAL",fields:{title:"TITRE",name:"NOM",description:"DESCRIPTION",abstract:"ABREGE",keywords:"LISTE DE MOTS-CLÉS",fees:"DROITS D'INSCRIPTION",accessconstraints:"CONTRAINTES D'ACCÈS",contactinformation:"CONTACTS",subfields:{contactinformation:{contactelectronicmailaddress:"E-mail",personprimary:"Références",contactvoicetelephone:"Téléphone",contactorganization:"Organisation",ContactOrganization:"Organisation",contactposition:"Localisation",ContactPosition:"Localisation",contactperson:"Personne",ContactPerson:"Personne"}},wms_url:"WMS"}},spatial:{title:"INFO SPATIALE",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"COUCHES",groups:{general:"GENERALE",spatial:"INFO SPATIALE"},fields:{layers:"COUCHES",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITRE",name:"NOM",geometrytype:"GÉOMÉTRIE",source:"SOURCE",attributes:"ATTRIBUTS",abstract:"ABRÉGÉ",attribution:"ATTRIBUTION",keywords:"MOTS- CLÉS",metadataurl:"URL DE MÉTADONNÉES",dataurl:"URL DES DONNÉES"}}}}},tooltips:{relations:{form_to_row:"Afficher le format de la ligne",row_to_form:"Format du formulaire d'affichage",zoomtogeometry:"Zoom sur la géométrie"},zoom_to_features_extent:"Zoom sur les entités",copy_map_extent_url:"Copier le lien de visualisation de la carte",download_shapefile:"Télécharger le fichier Shapefile",download_gpx:"Télécharger GPX",download_gpkg:"Télécharger GPKG",download_csv:"Télécharger CSV",download_xls:"Télécharger XLS",download_pdf:"Télécharger PDF",show_chart:"Montrer le graphique",atlas:"Imprimer l'Atlas",editing:"Modifier"},mapcontrols:{query:{tooltip:"Couche Interrogée",actions:{add_selection:{hint:"Ajouter/supprimer une sélection"},zoom_to_features_extent:{hint:"Zoom sur les entités"},add_features_to_results:{hint:"Ajouter des fonctionnalités aux résultats"},remove_feature_from_results:{hint:"Supprimer l'entité des résultats"},zoom_to_feature:{hint:"Zoom sur les entités"},relations:{hint:"Voir les relations"},relations_charts:{hint:"Voir les graphiques de relations"},download_features_shapefile:{hint:"Télécharger les entités vers Shapefile"},download_shapefile:{hint:"Télécharger le Shapefile"},download_features_gpx:{hint:"Télécharger les entités vers GPX"},download_features_gpkg:{hint:"Télécharger les entités vers GPKG"},download_gpx:{hint:"Télécharger le GPX"},download_gpkg:{hint:"Télécharger le GPKG"},download_features_csv:{hint:"Télécharger les entités vers CSV"},download_csv:{hint:"Télécharger le CSV"},download_features_xls:{hint:"Télécharger les entités vers XLS"},download_xls:{hint:"Télécharger le XLS"},download_pdf:{hint:"Télécharger le PDF"},atlas:{hint:"Imprimer l'Atlas"},copy_zoom_to_fid_url:{hint:"Copier l'URL de la carte avec l'extension vers cette géométrie",hint_change:"Copié"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Téléchargement des attributs",choiches:{feature:{label:"Entités seulement"},feature_polygon:{label:"Entités+Requête Polygon "}}},tooltip:"Requête par polygone",no_geometry:"La réponse ne contient pas de géométrie",help:{message:"
  • Sélectionnez une couche de polygone dans la légende.
  • Vérifiez que la couche est visible dans la carte.
  • Cliquez sur une géométrie de la couche sélectionnée.
"}},querybydrawpolygon:{tooltip:"Requête par polygone de dessin"},querybbox:{tooltip:"Requête pour BBOX",nolayers_visible:"Aucune couche requêtable n'est visible. Assurez-vous qu'au moins une couche wfs est visible pour exécuter la requête",help:{message:"
  • Dessinez un rectangle pour interroger les couches surlignées en jaune
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"Le résultat de la carte est partiel en raison de la présence des enregistrements incorrects suivants :"}},tooltip:"Ajouter un layer"},geolocation:{tooltip:"Géolocalisation"},measures:{length:{tooltip:"Longueur",help:"Cliquez sur la carte pour continuer à dessiner la ligne.
CANC si vous voulez supprimer le dernier vertex inséré"},area:{tooltip:"Zone",help:"Cliquez pour continuer à dessiner le polygone.
CANC si vous voulez supprimer le dernier vertex inséré"}},scale:{no_valid_scale:"Échelle invalide"},scaleline:{units:{metric:"Mètre",nautical:"Mile Nautique"}},zoomhistory:{zoom_last:"Zoom Précédent",zoom_next:"Zoom Suivant"}},relations:{relation_data:"Données relationnelles",no_relations_found:"Aucune relation trouvée",back_to_relations:"Retour aux relations",list_of_relations_feature:"Liste des relations entre les entités",error_missing_father_field:"Le champ concerné n'existe pas",field:"Relation key field"},form:{loading:"Chargement...",inputs:{messages:{errors:{picklayer:"Aucune entité sélectionnée. Vérifier si la couche est en édition ou non visible à l'échelle actuelle"}},tooltips:{picklayer:"Obtenir la valeur de la carte",lonlat:"Cliquez sur la carte pour obtenir les coordonnées"},input_validation_mutually_exclusive:"Champ mutuellement exclusif avec ",input_validation_error:"Champ obligatoire ou type de valeur incorrect",input_validation_error_type:"Type de valeur incorrect",input_validation_min_field:"La valeur doit être supérieure ou égale au camp ",input_validation_max_field:"La valeur doit être inférieure ou égale au champ ",input_validation_exclude_values:"Le champ doit contenir une valeur différente",integer:"entier",bigint:"entier",text:"textuel",varchar:"textuel",textarea:"textuel",string:"chaîne",date:"date",datetime:"date",float:"décimal",table:"table"},footer:{required_fields:"Champs obligatoires"},messages:{qgis_input_widget_relation:"Gérer les relations via un formulaire dédié"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"SÉLECTIONNEZ LE THÈME",choose_map_theme_input_label:"Nom du nouveau thème",project_map_theme:"Thème du projet",user_map_theme:"Thème de l'utilisateur",question_delete_map_theme:"Voulez-vous supprimer le thème ?",delete_map_theme:"Thème supprimé avec succès",saved_map_theme:"Thème enregistré avec succès",updated_map_theme:"Thème mise à jour avec succès",invalid_map_theme_name:"Le nom existe déjà ou est incorrect",menu:{layerposition:"Position du calque",setwmsopacity:"Définir l'opacité",wms:{title:"",copy:"Cliquez ici pour copier l'url",copied:"Copié"},download:{unknow:"Télécharger",shp:"Télécharger Shapefile",gpx:"Télécharger GPX",gpkg:"Télécharger GPKG",csv:"Télécharger CSV",xls:"Télécharger XLS",geotiff:"Télécharger GEOTIFF",geotiff_map_extent:"Télécharger GEOTIFF(vue courante)"}}},wps:{list_process:"Liste des processus",tooltip:"Cliquez sur la carte"}},credits:{g3wSuiteFramework:"Application construite avec le framework OS",g3wSuiteDescription:"Publiez et gérez vos projets QGIS sur le Web",productOf:"Framework développé par"},logout:"Quitter",no_other_projects:"Il n'y a pas d'autres projets dans ce groupe de cartes",no_other_groups:"Il n'y a pas d'autres groupes dans ce macrogroupe",yes:"Oui",no:"No",back:"Retour",backto:"Retour à ",changemap:"Changer de carte",change_session:"Changer de sessuib",component:"Composant générique",search:"Recherches",no_results:"Aucun résultat trouvé",print:"Imprimer",create_print:"Créer une impression",dosearch:"Recherche",catalog:"Carte",data:"Données",externalwms:"WMS",baselayers:"Bases",tools:"Outils",tree:"Strates",legend:"Légende",nobaselayer:"Pas de carte de base",street_search:"Adresse de recherche",show:"Afficher",hide:"Cacher",copy_form_data:"Copier les données du formulaire",paste_form_data:"Coller",copy_form_data_from_feature:"Copier les données de la carte",error_map_loading:"Erreur de chargement de la nouvelle carte",check_internet_connection_or_server_admin:"Vérifiez la connexion internet ou contactez l'administrateur",could_not_load_vector_layers:"Erreur de connexion au serveur : il n'a pas été possible de charger les vecteurs demandés",server_saver_error:"Erreur de sauvegarde sur le serveur",server_error:"Une erreur s'est produite dans la requête au serveur",save:"Sauvegarder",cancel:"Supprimer",update:"Mise à jour",close:"Fermer",dont_show_again:"Ne plus afficher ce message",enlange_reduce:"Agrandir / Réduire",add:"Ajouter",exitnosave:"Quitter sans sauvegarder",annul:"Annuler",layer_is_added:"Couche avec le même nom déjà ajoutée",wms_layer_id_already_added:"Couche WMS déjà ajoutée",wms_url_already_added:"URL WMS déjà ajouté",sidebar:{wms:{panel:{title:"Ajouter une couche WMS",label:{position:"Position sur la carte",name:"Nom",projections:"Projection",layers:"Couches"}},add_wms_layer:"Ajouter une couche WMS",delete_wms_url:"Supprimer une url WMS",layer_id_already_added:"La couche est déjà présente.",url_already_added:"L'URL WMS est déjà présent.",layer_add_error:"Couche WMS non ajoutée. Veuillez vérifier tous les paramètres de l'URL"}},info:{title:"Résultats",list_of_relations:"Liste des relations",open_link:"Ouvrir le document joint",server_error:"Une erreur s'est produite dans la requête au serveur",no_results:"Aucun résultat pour cette requête/recherche",link_button:"Ouvrir"},mapcontrols:{geolocation:{error:"Votre position ne peut être calculée."},geocoding:{choose_layer:"Choisissez un calque où ajouter cette entité",placeholder:"Adresse ...",nolayers:"Aucune couche de points modifiable trouvée sur ce projet",noresults:"Aucun résultat",notresponseserver:"Le serveur ne répond pas"},add_layer_control:{header:"Ajouter une couche",select_projection:"Sélectionnez le système de projection de couches",select_field_to_show:"Sélectionnez le champ à afficher sur la carte",select_csv_separator:"Sélectionner le séparateur",select_csv_x_field:"Sélectionnez le champ X",select_csv_y_field:"Sélectionnez le champ Y",select_color:"Sélectionnez la couleur du layer",drag_layer:"Faire glisser le layer vers cette zone"},query:{input_relation:"Cliquez pour voir les relations"},length:{tooltip:"Longueur"},area:{tooltip:"Zone"},screenshot:{error:"Erreur de création de la capture d'écran",securityError:' \n

Erreur de sécurité : une couche externe empêche l\'impression de la carte. Pour vérifier, procédez comme suit :

\n
    \n
  1. supprimer toutes les couches externes ajoutées manuellement (par exemple, les couches WMS)
  2. \n
  3. forcer le rechargement de la page : CTRL + F5
  4. \n
  5. imprimer à nouveau la carte
  6. \n
\n

Pour plus d\'informations, veuillez contacter l\'administrateur du serveur à propos de : ℹ️ sécurité et toiles souillées

\n '}},catalog_items:{helptext:"Cliquez avec le bouton droit de la souris sur les différentes couches pour accéder à des fonctionnalités supplémentaires",contextmenu:{zoomtolayer:"Zoom sur le layer",open_attribute_table:"Ouvrir la table attributaire",show_metadata:"Métadonnées",styles:"Styles",vector_color_menu:"Définir/changer la couleur",layer_opacity:"Opacité",filters:"Filters"}},dataTable:{previous:"Précédent",next:"Suivant",lengthMenu:"Afficher _MENU_ valeurs par page",info:"_TOTAL_ résultats",nodatafilterd:"Aucun résultat trouvé",infoFiltered:"(Filtré par _MAX_ rangs totaux)"}}}},{}],138:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=c(e("./it")),n=c(e("./en")),r=c(e("./fi")),o=c(e("./se")),s=c(e("./fr")),l=c(e("./de")),u=c(e("./ro")),e=c(e("./pl"));function c(e){return e&&e.__esModule?e:{default:e}}i={it:i.default,en:n.default,fi:r.default,se:o.default,fr:s.default,de:l.default,ro:u.default,pl:e.default};a.default=i},{"./de":134,"./en":135,"./fi":136,"./fr":137,"./it":139,"./pl":140,"./ro":141,"./se":142}],139:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Errore di connessione",at_moment:"Al momento non è possibile caricare la mappa",f5:"Premi Ctrl+F5"},cookie_law:{message:"Questo sito utilizza i cookie per garantire una buona usabilità all'utilizzatore finale.",buttonText:"Ho capito!"},default:"predefinito",sign_in:"Accedi",layer_selection_filter:{tools:{filter:"Attiva/Disattiva Filtro",nofilter:"Rimuovi filtro",invert:"Inverti Selezione",clear:"Annulla selezione",show_features_on_map:"Aggiorna i risultati quando si sposta la mappa",savefilter:"Salva Filtro",filterName:"Nome Filtro"}},warning:{not_supported_format:"Formato non supportato"},layer_position:{top:"in cima",bottom:"in fondo",message:"Posizione"},sdk:{atlas:{template_dialog:{title:"Seleziona Template"}},spatialbookmarks:{title:"Segnalibri",helptext:"Posizionati all'estensione del tuo nuovo segnalibro, definisci il nome e clicca Aggiungi",input:{name:"Nome"},sections:{project:{title:"Segnalibri Progetto"},user:{title:"Segnalibri Utente"}}},search:{all:"TUTTE",no_results:"Nessun valore trovato",searching:"Sto cercando ..",error_loading:"Errore nel caricamento valori",layer_not_searchable:"Il layer non è ricercabile",layer_not_querable:"Il layer non è interrogabile",autocomplete:{inputshort:{pre:"Digita almeno",post:"caratteri"}},help_filter:"I valori di ricerca sono limitati sulla base del filtro attivo. Rimuovere il filtro per ricercare su tutti i dati.",autofilter:"Filtro sui risultati"},print:{no_layers:"Nessun Layer visibile",template:"Template",labels:"Etichette",scale:"Scala",format:"Formato",rotation:"Rotazione",download_image:"Scarica Immagine",fids_instruction:"Valori accettati: da 1 al valore massimo indicato da [max]. Possibile indicare anche range di valori es. 4-6",fids_example:"Es. 1,4-6 verranno stampati gli id 1,4,5,6",help:"I livelli esportati sono definiti dall'amministratore"},querybuilder:{title:"Ricerca avanzata",search:{run:"Esegui",info:"Informazioni",delete:"Rimuovi",edit:"Modifica"},messages:{changed:"Salvato correttamente",number_of_features:"Elementi trovati:"},panel:{button:{all:"TROVA UN VALORE",save:"SALVA",test:"VERIFICA",clear:"PULISCI",run:"ESEGUI",manual:"MANUALE"},layers:"LAYERS",fields:"CAMPI",values:"VALORI",operators:"OPERATORI",expression:"ESPRESSIONE"},error_run:"Si è verificato un errore. Verificare se la query è corretta",error_test:"Errore nell'esecuzione della query",delete:"Vuoi confermare la cancellazione?",additem:"Inserisci nome della ricerca"},errors:{layers:{load:"Alcuni livelli presenti nel progetto non sono attualmente disponibili e quindi non compaiono nell'attuale visualizzazione"},unsupported_format:"Formato non supportato",add_external_layer:"Errore nel caricamento del layer"},metadata:{title:"Metadati",groups:{general:{title:"GENERALE",fields:{title:"TITOLO",name:"NOME",description:"DESCRIZIONE",abstract:"ABSTRACT",keywords:"LISTA DELLE PAROLE CHIAVE",fees:"CANONI",accessconstraints:"VINCOLI DI ACCESSO",contactinformation:"CONTATTI",subfields:{contactinformation:{contactelectronicmailaddress:"E-mail",personprimary:"Riferimenti",contactvoicetelephone:"Telefono",contactorganization:"Organizzazione",ContactOrganization:"Organizzazione",contactposition:"Posizione",ContactPosition:"Posizione",contactperson:"Persona",ContactPerson:"Persona"}},wms_url:"WMS"}},spatial:{title:"INFO SPAZIALI",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"STRATI",groups:{general:"GENERALE",spatial:"INFO SPAZIALI"},fields:{layers:"STRATI",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITOLO",name:"NOME",geometrytype:"GEOMETRIA",source:"SORGENTE",attributes:"ATTRIBUTI",abstract:"ABSTRACT",attribution:"ATTRIBUTION",keywords:"PAROLE CHIAVE",metadataurl:"METADATA URL",dataurl:"DATA URL"}}}}},tooltips:{relations:{form_to_row:"Visualizza riga",row_to_form:"Visualizza modulo",zoomtogeometry:"Zoom sulla geometria"},zoom_to_features_extent:"Zoom sulle features",copy_map_extent_url:"Copia URL di condivisione",download_shapefile:"Scarica Shapefile",download_gpx:"Scarica GPX",download_gpkg:"Scarica GPKG",download_csv:"Scarica CSV",download_xls:"Scarica XLS",download_pdf:"Scarica PDF",show_chart:"Mostra Grafico",atlas:"Stampa Atlas",editing:"Modifica"},mapcontrols:{query:{tooltip:"Interroga Layer",actions:{add_selection:{hint:"Aggiungi/Rimuovi Selezione"},zoom_to_features_extent:{hint:"Zoom sulle geometrie"},add_features_to_results:{hint:"Aggiungi elementi ai risultati"},remove_feature_from_results:{hint:"Rimuovi elemento dai risultati"},zoom_to_feature:{hint:"Zoom sulla geometria"},relations:{hint:"Visualizza Relazioni"},relations_charts:{hint:"Visualizza grafici relazioni"},download_features_shapefile:{hint:"Scarica come Shapefile"},download_shapefile:{hint:"Scarica come Shapefile"},download_features_gpx:{hint:"Scarica come GPX"},download_features_gpkg:{hint:"Scarica come GPKG"},download_gpx:{hint:"Scarica come GPX"},download_gpkg:{hint:"Scarica come GPKG"},download_features_csv:{hint:"Scarica come CSV"},download_csv:{hint:"Scarica come CSV"},download_features_xls:{hint:"Scarica come XLS"},download_xls:{hint:"Scarica come XLS"},download_pdf:{hint:"Scarica come PDF"},atlas:{hint:"Stampa Atlas"},copy_zoom_to_fid_url:{hint:"Condividi tramite link",hint_change:"URL copiato negli appunti"}}},queryby:{title:"Interroga un area",layer:"Livello selezionato:",none:"NESSUNO",new:"LIVELLO TEMPORANEO",all:"TUTTI",methods:{intersects:"interseca",within:"all'interno"},querybypolygon:{tooltip:"seleziona un poligono"},querybydrawpolygon:{tooltip:"disegna un poligono"},querybbox:{tooltip:"disegna un rettangolo"},querybycircle:{tooltip:"disegna un cerchio"}},querybypolygon:{download:{title:"Download attributi",choiches:{feature:{label:"Solo features"},feature_polygon:{label:"Features+Poligono Interrogazione"}}},tooltip:"Interroga per poligono",no_geometry:"Non contiene la geometria nella risposta",help:{message:"
  • Seleziona un livello (visibile).
  • Clicca su una geometria nella mappa.
"}},querybydrawpolygon:{tooltip:"Disegna un poligono per interrogare",help:{message:"
  • Clicca sulla mappa per aggiungere un nuovo vertice
  • Doppio click per terminare ed interrogare i livelli (sottolineati in giallo nella legenda)
"}},querybbox:{tooltip:"Interroga per BBOX",nolayers_visible:"Nessun layer interrogabile è visibile. Assicurarsi che almeno un layer wfs sia visibile per eseguire l'interrogazione",help:{message:"
  • Trascina il mouse per disegnare un rettangolo ed interrogare i livelli (sottolineati in giallo nella legenda)
"}},querybycircle:{tooltip:"Disegna un cerchio per interrogare",label:"Raggio",help:{message:"
  • Clicca sulla mappa per disegnare il cerchio
"}},addlayer:{messages:{csv:{warning:"Il risultato in mappa è parziale a causa della presenza dei seguenti records non corretti:"}},tooltip:"Aggiungi livello"},geolocation:{tooltip:"Mostra la mia posizione"},measures:{title:"Misura",length:{tooltip:"Lunghezza",help:"Clicca sulla mappa per continuare a disegnare la linea.
CANC se si vuole cancellare l'ultimo vertice inserito"},area:{tooltip:"Area",help:"Clicca per continuare a disegnare il poligono.
CANC se si vuole cancellare l'ultimo vertice inserito"}},screenshot:{title:"Cattura schermata",screenshot:"PNG",geoscreenshot:"GeoTIFF",download:"Genera"},scale:{no_valid_scale:"Scala non valida"},scaleline:{units:{metric:"Metri",nautical:"Miglio Nautico"}},zoomhistory:{zoom_last:"Zoom Precedente",zoom_next:"Zoom Successivo"}},relations:{relation_data:"Dati Relazione",no_relations_found:"Nessuna relazione trovata",back_to_relations:"Ritorna alle relazioni",list_of_relations_feature:"Lista delle relazioni della feature",error_missing_father_field:"Il campo relazionato non esiste",field:"Campo chiave relazione"},form:{loading:"Caricamento ...",inputs:{messages:{errors:{picklayer:"Nessuna feature selezionata. Verificare se il layer è in editing o non visibile alla scala attuale"}},tooltips:{picklayer:"Prendi valore dalla mappa",lonlat:"Clicca sulla mappa per prendere le coordinate"},input_validation_mutually_exclusive:"Campo mutualmente esclusivo con ",input_validation_error:"Campo obbligatorio o tipo valore non corretto",input_validation_error_type:"Tipo valore non corretto",input_validation_min_field:"Valore deve essere magiore uguale a quello del camp ",input_validation_max_field:"Valore deve essere minore uguale a quello del campo ",input_validation_exclude_values:"Campo deve contenere un valore diverso",integer:"intero",bigint:"intero",text:"testuale",varchar:"testuale",textarea:"testuale",string:"stringa",date:"data",datetime:"data",float:"float",table:"table"},footer:{required_fields:"Campi obbligatori"},messages:{qgis_input_widget_relation:"Gestisci le relazioni tramite form dedicato"}},catalog:{current_map_theme_prefix:"TEMA",choose_map_theme:"SCEGLI TEMA",choose_map_theme_input_label:"Nome del nuovo tema",project_map_theme:"Temi Progetto",user_map_theme:"Temi Utente",question_delete_map_theme:"Vuoi cancellare il tema ?",delete_map_theme:"Tema cancellato con successo",saved_map_theme:"Tema salvato con successo",updated_map_theme:"Tema aggiornato con successo",invalid_map_theme_name:"Nome già esistente o non corretto",menu:{layerposition:"Posizione Layer",setwmsopacity:"Cambia opacità",wms:{title:"",copy:"Clicca qui per copiare url",copied:"Copiato"},download:{unknow:"Scarica",geotiff_map_extent:"GeoTiff (vista attuale)"}}},wps:{list_process:"Lista dei processi",tooltip:"Clicca sulla mappa"}},credits:{g3wSuiteFramework:"Applicativo realizzato con il framework OS",g3wSuiteDescription:"Pubblica e gestisci i tuoi progetti QGIS sul Web",productOf:"Framework sviluppato da"},toggle_color_scheme:"Cambia colore",logout:"Esci",no_other_projects:"Non ci sono altri progetti in questo gruppo cartografico",no_other_groups:"Non ci sono altri gruppi in questo Macrogruppo",yes:"Si",no:"No",back:"Indietro",backto:"Torna a ",changemap:"Cambia mappa",change_session:"Cambia Sessione",component:"Componente Generico",search:"Ricerche",no_results:"Nessun risultato trovato",print:"Stampa",create_print:"Crea Stampa",dosearch:"Cerca",catalog:"Mappa",data:"Dati",externalwms:"WMS",baselayers:"Basi",tools:"Strumenti",tree:"Strati",legend:"Legenda",nobaselayer:"Nessuna mappa di base",street_search:"Cerca indirizzo",show:"Mostra",hide:"Nascondi",copy_form_data:"Copia i dati del modulo",paste_form_data:"Incolla",copy_form_data_from_feature:"Copia i dati dalla mappa",error_map_loading:"Errore di caricamento della nuova mappa",check_internet_connection_or_server_admin:"Controllare la connessione internet o contattare l'amministratore",could_not_load_vector_layers:"Errore di connessione al server: non è stato possibile caricare i vettoriali richiesti",server_saver_error:"Errore nel salvataggio sul server",server_error:"Si è verificato un errore nella richiesta al server",save:"Salva",cancel:"Cancella",update:"Aggiorna",close:"Chiudi",dont_show_again:"Non mostrare più",enlange_reduce:"Allarga / Riduci",add:"Aggiungi",exitnosave:"Esci senza salvare",annul:"Annulla",layer_is_added:"Esiste già un livello con lo stesso nome",sidebar:{wms:{panel:{title:"Aggiunta livello WMS",label:{position:"Posizione su Mappa",name:"Nome",projections:"Sistema di riferimento",layers:"Livelli"}},add_wms_layer:"Aggiungi livello WMS",delete_wms_url:"Rimuovi",layer_id_already_added:"Esiste già una connessione WMS con questo nome",url_already_added:"URL/Nome WMS già aggiunto",layer_add_error:"WMS Layer non aggiunto. Verificare i parametri o l'url"}},info:{title:"Risultati",list_of_relations:"Lista delle relazioni",open_link:"Apri documento allegato",server_error:"Si è verificato un errore nella richiesta al server",no_results:"Nessun risultato per questa interrogazione/ricerca ",link_button:"Apri"},mapcontrols:{geolocation:{error:"Non è possibile ottenere la tua posizione."},geocoding:{choose_layer:"Scegli un livello in cui aggiungere questa funzionalità",placeholder:"Indirizzo ...",nolayers:"Nessun layer di punti modificabile trovato in questo progetto",noresults:"Nessun risultato",notresponseserver:"Il server non risponde"},add_layer_control:{header:"Aggiungi livello",select_projection:"Sistema di riferimento",select_field_to_show:"valore mostrato sulla mappa",select_csv_separator:"Separatore",select_csv_x_field:"Campo X",select_csv_y_field:"Campo Y",select_color:"Colore",drag_layer:"Aggiungi qui il tuo file",persistent_data:"Persistenza",persistent_help:"salva il livello nella memoria del browser"},query:{input_relation:"Clicca per consultare le relazioni"},length:{tooltip:"Lunghezza"},area:{tooltip:"Area"},screenshot:{error:"Errore nella creazione dello screenshot",securityError:' \n

Errore di sicurezza: uno strato esterno impedisce la stampa della mappa. Per verificare, procedere come segue:

\n
    \n
  1. rimuovi eventuali layer esterni aggiunti manualmente (es. layer WMS)
  2. \n
  3. forza il ricaricamento della pagina: CTRL + F5
  4. \n
  5. stampa nuovamente la mappa
  6. \n
\n

Per maggiori informazioni contattare l\'amministratore del server in merito a: ℹ️ security and tainted canvases

\n '}},catalog_items:{helptext:"Apri menu",contextmenu:{zoomtolayer:"Zoom sul livello",open_attribute_table:"Apri tabella attributi",show_metadata:"Metadati",styles:"Stile",vector_color_menu:"Colore",layer_opacity:"Opacità",filters:"Filtri",download:"Esporta come",ogc_services:"Servizi OGC",edit:"Modifica dati"}},dataTable:{previous:"Precedente",next:"Successivo",lengthMenu:"Mostra _MENU_ valori per pagina",info:"_TOTAL_ elementi",nodatafilterd:"Nessun risultato trovato",infoFiltered:"(Filtrati da _MAX_ total righe)"},no_geometry:"Questo elemento non ha geometria",query_filter:"Filtra per:",sidebar_menu:"Menu laterale",layer_type:"Tipologia livello",choose_type:"Scegli un tipo",remote_wms_url:"WMS (URL)",local_file:"File locale",embed_map:"Incorpora mappa",homepage:"Pagina iniziale",wms_server:"Server WMS",connect_to_wms:"Connetti",disconnect_from_wms:"Disconnetti",add_new_wms_url_help:"Cerca tra le connessioni salvate o aggiungi un nuovo server",label:"Etichetta",no_csv_field:"Nessun campo valido"}}},{}],140:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Błąd połączenia",at_moment:"W tej chwili nie jest możliwe mapa pokazująca",f5:"Naciśnij Ctrl+F5"},cookie_law:{message:"Ta strona internetowa korzysta z plików cookie, aby uzyskać najlepsze wrażenia na naszej stronie internetowej.",buttonText:"Rozumiem!"},default:"domyślny",sign_in:"Zalogować się",layer_selection_filter:{tools:{filter:"Włącz/wyłącz filtr",nofilter:"Usuń filtr",invert:"Odwróć wybór",clear:"Jasny wybór",show_features_on_map:"Pokaż funkcje widoczne na mapie",savefilter:"Zapisz filtr",filterName:"Nazwa filtru"}},warning:{not_supported_format:"Nie obsługiwany format"},layer_position:{top:"SZCZYT",bottom:"SPÓD",message:"Pozycja względem warstw na TOC"},sdk:{atlas:{template_dialog:{title:"Wybierz szablon"}},spatialbookmarks:{title:"Zakładki przestrzenne",helptext:"Poruszaj zasięg mapy, wstaw nazwę i kliknij Dodaj",input:{name:"Nazwa"},sections:{project:{title:"Zakładki projektu"},user:{title:"Zakładki użytkowników"}}},search:{all:"WSZYSTKO",no_results:"Brak wyników",searching:"Poszukiwanie ...",error_loading:"Błąd Dane dotyczące ładowania",layer_not_searchable:"Warstwa nie można przeszukiwać",layer_not_querable:"Warstwa nie jest zapytana",autocomplete:{inputshort:{pre:"Podaj",post:"lub więcej znaków"}},help_filter:"Wartości wyszukiwania są ograniczone w zależności od aktywnego filtra. Usuń filtr, aby przeszukać wszystkie dane.",autofilter:"Filtruj wyniki"},print:{no_layers:"Brak warstwy do wydrukowania",template:"Szablon",labels:"Etykiety",scale:"Skala",format:"Format",rotation:"Obrót",download_image:"Pobierz obraz",fids_instruction:"Zaakceptowane wartości: od 1 do wartości [maks.]. Możliwe jest wstawienie zasięgu ex. 4-6",fids_example:"Były. 1,4-6 zostanie wydrukowany 1,4,5,6",help:"Warstwy pokazane w druku mogą być warstwy zdefiniowane w projekcie, a nie wyświetlane na mapie"},querybuilder:{search:{run:"Uruchomić",info:"Informacja",delete:"Usuwać",edit:"Edytować"},messages:{changed:"Uratowany",number_of_features:"Liczba funkcji"},panel:{button:{all:"WSZYSTKO",save:"RATOWAĆ",test:"TEST",clear:"JASNE",run:"URUCHOMIĆ",manual:"PODRĘCZNIK"},layers:"Warstwy",fields:"Pola",values:"Wartości",operators:"Operatorzy",expression:"WYRAŻENIE"},error_run:"Występuje błąd. Sprawdź zapytanie",error_test:"Błąd wystąpił podczas wykonywania zapytania",delete:"Chcesz to usunąć?",additem:"Włóż nazwę nowego wyszukiwania"},errors:{layers:{load:"Niektóre warstwy nie są dostępne"},unsupported_format:"Nie obsługiwany format",add_external_layer:"Błąd warstwy ładowania"},metadata:{title:"Metadane",groups:{general:{title:"OGÓLNY",fields:{title:"TYTUŁ",name:"NAZWA",description:"OPIS",abstract:"ABSTRAKCYJNY",keywords:"SŁOWA KLUCZOWE",fees:"OPŁATY",accessconstraints:"Ograniczenie dostępu",contactinformation:"ŁĄCZNOŚĆ",subfields:{contactinformation:{contactelectronicmailaddress:"E-mail",personprimary:"Bibliografia",contactvoicetelephone:"Telefon",contactorganization:"Organizacja",ContactOrganization:"Organizacja",contactposition:"Pozycja",ContactPosition:"Pozycja",contactperson:"Osoba",ContactPerson:"Osoba"}},wms_url:"WMS"}},spatial:{title:"PRZESTRZENNY",fields:{crs:"EPSG",extent:"Bbox"}},layers:{title:"Warstwy",fields:{layers:"Warstwy",subfields:{crs:"EPSG",bbox:"Bbox",title:"TYTUŁ",name:"NAZWA",geometrytype:"GEOMETRIA",source:"ŹRÓDŁO",attributes:"Atrybuty",abstract:"ABSTRAKCYJNY",attribution:"ATRYBUCJA",keywords:"Chiave zwolnienia warunkowego",metadataurl:"URL METADATA",dataurl:"URL danych"}},groups:{general:"OGÓLNY",spatial:"PRZESTRZENNY"}}}},tooltips:{relations:{form_to_row:"Widok wiersza",row_to_form:"Widok formularza",zoomtogeometry:"Powiększ geometrię"},copy_map_extent_url:"Kopiuj link Widok Mapa",download_shapefile:"Pobierz ShapeFile",download_gpx:"Pobierz GPX",download_gpkg:"Pobierz GPKG",download_csv:"Pobierz CSV",download_xls:"Pobierz XLS",show_chart:"Wykres pokazowy",atlas:"Wydrukuj atlas"},mapcontrols:{query:{tooltip:"Warstwa zapytania",actions:{add_selection:{hint:"Dodaj/usuń wybór"},zoom_to_features_extent:{hint:"Zoom w zakresie funkcji"},add_features_to_results:{hint:"Dodaj/usuń funkcje do wyników"},remove_feature_from_results:{hint:"Usuń funkcję z wyników"},zoom_to_feature:{hint:"Zoom do funkcji"},relations:{hint:"Pokaż relacje"},relations_charts:{hint:"Pokaż wykres relacji"},download_features_shapefile:{hint:"Pobierz funkcje ShapeFile"},download_shapefile:{hint:"Pobierz funkcję kształtu plik"},download_features_gpx:{hint:"Pobierz funkcję GPX"},download_features_gpkg:{hint:"Pobierz funkcje GPKG"},download_gpx:{hint:"Pobierz funkcję GPX"},download_gpkg:{hint:"Pobierz funkcję gpkg"},download_features_csv:{hint:"Pobierz funkcje CSV"},download_csv:{hint:"Pobierz funkcję CSV"},download_features_xls:{hint:"Pobierz funkcje XLS"},download_xls:{hint:"Pobierz funkcję XLS"},atlas:{hint:"Wydrukuj atlas"},copy_zoom_to_fid_url:{hint:"Skopiuj adres URL map z tym rozszerzeniem funkcji geometrii",hint_change:"Skopiowane"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Pobieranie atrybutów",choiches:{feature:{label:"Tylko funkcje"},feature_polygon:{label:"Funkcje+Polygon zapytania"}}},tooltip:"Zapytanie według wielokąta",no_geometry:"Brak geometrii w odpowiedzi",help:{message:"
  • Wybierz warstwę wielokąta na Toc.
  • upewnij się, że warstwa jest widoczna.
  • Kliknij funkcję wybranej warstwy.
"}},querybydrawpolygon:{tooltip:"Zapytanie przez Polygon Draw"},querybbox:{tooltip:"Zapytanie warstwa Bbox",nolayers_visible:"Nie widać zapytaniach warstw. Ustaw co najmniej jedną widoczną warstwę WFS, aby uruchomić zapytanie",help:{message:"
  • Narysuj kwadrat na mapie, aby zapytają podkreślone warstwy na Toc
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"Wynik na mapie jest częściowy ze względu na obecność poniższej listy błędnych rekordów:"}},tooltip:"Dodaj warstwę"},geolocation:{tooltip:"Geolokalizację"},measures:{length:{tooltip:"Długość",help:"Kliknij mapę, aby narysować linię. Naciśnij
Canc, jeśli chcesz usunąć ostatni wierzchołek"},area:{tooltip:"Obszar",help:"Kliknij, aby narysować Poligon.press
Canc Jeśli chcesz usunąć ostatni wierzchołek"}},scale:{no_valid_scale:"Nieprawidłowa skala"},scaleline:{units:{metric:"Metry",nautical:"Mila morska"}},zoomhistory:{zoom_last:"Zoom ostatni",zoom_next:"Zoom Dalej"}},relations:{relation_data:"Dane dotyczące relacji",no_relations_found:"Nie znaleziono żadnych relacji",back_to_relations:"Powrót do relacji",list_of_relations_feature:"Lista relacji funkcji",error_missing_father_field:"Brakuje pola",field:"Relation key field"},form:{loading:"Ładowanie ...",inputs:{messages:{errors:{picklayer:"Brak wybranej funkcji. Sprawdź, czy warstwa jest w edycji lub widoczna w bieżącej skali"}},tooltips:{picklayer:"Uzyskaj wartość z warstwy MA",lonlat:"Kliknij mapę, aby uzyskać współrzędne"},input_validation_mutually_exclusive:"Pole wzajemnie wykluczające się z",input_validation_error:"Obowiązkowe pole lub niewłaściwy typ danych",input_validation_error_type:"Niewłaściwy typ danych",input_validation_min_field:"Wartość musi być większa/równa wartości pola",input_validation_max_field:"Wartość musi być mniej/równa wartości pola",input_validation_exclude_values:"Wartość musi być wyjątkowa",integer:"liczba całkowita",bigint:"liczba całkowita",text:"tekst",varchar:"tekst",textarea:"tekst",string:"strunowy",date:"data",datetime:"data",float:"platforma",table:"tabela"},footer:{required_fields:"Wymagane pola"},messages:{qgis_input_widget_relation:"Użyj relacji konkretna forma do pracy w związku z relacją"}},catalog:{current_map_theme_prefix:"TEMAT",choose_map_theme:"Wybierz motyw",menu:{layerposition:"Pozycja warstwy",setwmsopacity:"Ustaw krycie",wms:{title:"--",copy:"Kliknij tutaj, aby skopiować adres URL",copied:"Skopiowane"},download:{unknow:"Pobierać",shp:"Pobierz ShapeFile",gpx:"Pobierz GPX",gpkg:"Pobierz GPKG",csv:"Pobierz CSV",xls:"Pobierz XLS",geotiff:"Pobierz Geotiff",geotiff_map_extent:"Pobierz Geotiff (Obecny zasięg View)"}}},wps:{list_process:"Lista procesu",tooltip:"Kliknij mapę"}},credits:{g3wSuiteFramework:"Aplikacja oparta na strukturze systemu operacyjnego",g3wSuiteDescription:"Publikuj i zarządzaj projektami QGIS w Internecie",productOf:"Ramy opracowane przez"},toggle_color_scheme:"Przełącz kolorystykę",logout:"Wyloguj",no_other_projects:"Nigdy więcej projektu dla tej grupy",no_other_groups:"Nigdy więcej grup dla tej makrogrupy",yes:"Tak",no:"NIE",back:"Z powrotem",backto:"Wrócić do",changemap:"Zmień mapę",change_session:"Zmień sesję",component:"Komponent ogólny",search:"Szukaj",no_results:"Nie znaleziono wyników",print:"Wydrukować",create_print:"Utwórz druk",dosearch:"Szukaj",catalog:"Mapa",data:"Dane",externalwms:"WMS",baselayers:"Baza",tools:"Narzędzia",tree:"Warstwy",legend:"Legenda",nobaselayer:"Brak mapy bazowej",street_search:"Znajdź adres",show:"Pokazywać",hide:"Ukrywać",copy_form_data:"Skopiuj dane",paste_form_data:"Pasta",copy_form_data_from_feature:"Skopiuj dane z mapy",error_map_loading:"Występuje błąd mapy ładowania",check_internet_connection_or_server_admin:"Sprawdź połączenie internetowe lub skontaktuj się z administratorem",could_not_load_vector_layers:"Błąd połączenia: Warstwy można załadować",server_saver_error:"Błąd zapisywania serwera",server_error:"Błąd połączenia serwera",save:"Ratować",cancel:"Anulować",close:"Zamknąć",dont_show_again:"Nie pokazuj ponownie",enlange_reduce:"Powiększ / zmniejsz",add:"Dodać",exitnosave:"Wyjdź bez zapisu",annul:"Anulować",layer_is_added:"Warstwa o tej samej nazwie już dodanej",sidebar:{wms:{panel:{title:"Dodaj warstwę WMS",label:{position:"Pozycja mapy",name:"Nazwa",projections:"Występ",layers:"Warstwy"}},add_wms_layer:"Dodaj warstwę WMS",delete_wms_url:"Usuń adres URL WMS",layer_id_already_added:"Już dodana warstwa WMS",url_already_added:"WMS URL/Nazwa już dodana",layer_add_error:"Warstwa WMS nie dodano. Sprawdź wszystkich parametrów lub adresu URL WMS"}},info:{title:"Wyniki",list_of_relations:"Lista relacji",open_link:"Otwarty załączony dokument",server_error:"Wystąpił błąd z serwera",no_results:"Nie znaleziono wyników dla tego zapytania/wyszukiwania",link_button:"otwarty"},mapcontrols:{geolocations:{error:"Nie mogę zdobyć swojej pozycji"},geocoding:{choose_layer:"Wybierz warstwę, gdzie dodać tę funkcję",placeholder:"Adres ...",nolayers:"Brak edytowalnych warstw punktowych w tym projekcie",noresults:"Brak wyników",notresponseserver:"Brak odpowiedzi z serwera"},add_layer_control:{header:"Dodaj warstwę",select_projection:"Wybierz projekcję warstwy",select_field_to_show:"Wybierz pole, aby pokazać na mapie",select_csv_separator:"Wybierz Selimiter",select_csv_x_field:"Wybierz pole x",select_csv_y_field:"Wybierz pole Y.",select_color:"Wybierz kolor warstwy",drag_layer:"Przeciągnij i upuść warstwę tutaj"},query:{input_relation:"Kliknij, aby pokazać relacje"},length:{tooltip:"Długość"},area:{tooltip:"Obszar"},screenshot:{error:"Tworzenie błędów z ekranu",securityError:' \n

Błąd bezpieczeństwa: Warstwa zewnętrzna zapobiega wydrukowaniu mapy. Aby sprawdzić, postępuj w następujący sposób:

\n
    \n
  1. Usuń wszelkie ręcznie dodane warstwy zewnętrzne (np. WMORY WMS)
  2. \n
  3. Przeładowanie strony Siły: CTRL + F5
  4. \n
  5. Wydrukuj ponownie mapę
  6. \n
\n

Aby uzyskać więcej informacji, skontaktuj się z administratorem serwera o: ℹ️ security and tainted canvases

\n '}},catalog_items:{helptext:"Kliknij indywidualną warstwę prawym przyciskiem myszy, aby uzyskać dostęp do dodatkowych funkcji",contextmenu:{zoomtolayer:"Zoom do warstwy",open_attribute_table:"Otwórz tabelę atrybutów",show_metadata:"Metadane",styles:"Style",vector_color_menu:"Ustaw/zmiana kolor",layer_opacity:"Nieprzezroczystość",filters:"Filtry"}},dataTable:{previous:"Poprzedni",next:"Następny",lengthMenu:"Pokaż menu_",info:"Pokazanie _start_ do _end_ wpisów _total_",no_data:"Brak danych",nodatafilterd:"nie znaleziono pasujacego wyniku",infoFiltered:"(Filtrowane z _max_ całkowitych rekordów)"}}}},{}],141:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Eroare de conexiune",at_moment:"Momentan nu este posibil să afișați harta",f5:"Apăsați Ctrl+F5"},cookie_law:{message:"Acest website foloseste cookie-uri pentru a furniza vizitatorilor o experiență mult mai bună de navigare",buttonText:"Am înțeles!"},default:"Implicit",sign_in:"Logare",layer_selection_filter:{tools:{filter:"Activați/Dezactivați filtrul",nofilter:"Eliminare Filtrare",invert:"Inversare Selecție",clear:"Elimină Selecția",show_features_on_map:"Rezultatele se actualizează când harta este deplasată",savefilter:"Salvează Filtrul",filterName:"Nume Filtru"}},warning:{not_supported_format:"Formatul nu este acceptat"},layer_position:{top:"SUS",bottom:"JOS",message:"Poziție relativă la straturile din TOC"},sdk:{atlas:{template_dialog:{title:"Selectați Template"}},spatialbookmarks:{title:"Marcaje spațiale",helptext:"Deplasați-vă pe întinderea hărții, introduceți numele și faceți clic pe Adăugați",input:{name:"Nume"},sections:{project:{title:"Marcaje de proiect"},user:{title:"Marcaje utilizator"}}},search:{all:"Toate",no_results:"Fără rezultat",searching:"Căutare ...",error_loading:"Încărcarea a eșuat",layer_not_searchable:"Nu se poate căuta pe strat",layer_not_querable:"Stratul nu se poate interoga",autocomplete:{inputshort:{pre:"Te rog introdu",post:"sau mai multe caractere"}},help_filter:"Valorile de căutare sunt limitate în funcție de filtrul activ. Eliminați filtrul pentru a căuta toate datele.",autofilter:"Filtrați rezultatele"},print:{no_layers:"Nu avem straturi de print",template:"Șablon",labels:"Etichete",scale:"Scară",format:"Format",rotation:"Rotație",download_image:"Descarcă Imaginea",fids_instruction:"Valori acceptate: de la 1 la valoarea [max]. Este posibilă inserarea de interval, de ex. 4-6",fids_example:"Ex. 1,4-6 vor fi tipărite id 1,4,5,6",help:"Straturile prezentate în print pot fi acelea definite în proiect și nu acelea prezentate în cadrul hărții"},querybuilder:{search:{run:"Execută",info:"Info",delete:"Elimină",edit:"Modifică"},messages:{changed:"Salvat",number_of_features:"Număr de entități"},panel:{button:{all:"TOATE",save:"SALVEAZĂ",test:"TEST",clear:"ȘTERGE",run:"RUN",manual:"MANUAL"},layers:"STRATURI",fields:"CÂMPURI",values:"VALORI",operators:"OPERATORI",expression:"EXPRESII"},error_run:"A survenit o eroare. De verificat interogarea",error_test:"A survenit o eroare în timp ce se executa interogarea",delete:"Vrei să o ștergi?",additem:"Introdu numele noii căutări"},errors:{layers:{load:"Câteva straturi nu sunt disponibile"},unsupported_format:"Formatul nu este acceptat",add_external_layer:"Eroare încărcare strat"},metadata:{title:"Metadate",groups:{general:{title:"GENERALITĂȚI",fields:{title:"TITLU",name:"NUME",description:"DESCRIERE",abstract:"ABSTRACT",keywords:"CUVINTE CHEIE",fees:"TAXE",accessconstraints:"CONSTRÂNGERI DE ACCES",contactinformation:"CONTACTE",subfields:{contactinformation:{contactelectronicmailaddress:"Email",personprimary:"Referințe",contactvoicetelephone:"Telefon",contactorganization:"Organizație",ContactOrganization:"Organizație",contactposition:"Poziție",ContactPosition:"Poziție",contactperson:"Persoana",ContactPerson:"Persoana"}},wms_url:"WMS"}},spatial:{title:"SPAȚIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"STRATURI",fields:{layers:"STRATURI",subfields:{crs:"EPSG",bbox:"BBOX",title:"TITLU",name:"NUME",geometrytype:"GEOMETRIE",source:"SURSA",attributes:"ATRIBUTE",abstract:"ABSTRACT",attribution:"ATRIBUIRE",keywords:"CUVINTE CHEIE",metadataurl:"URL METADATE",dataurl:"URL DATE"}},groups:{general:"GENERALITĂȚI",spatial:"SPAȚIAL"}}}},tooltips:{relations:{form_to_row:"Vizualizare pe rânduri",row_to_form:"Vizualizare formular",zoomtogeometry:"Măriți la geometrie"},copy_map_extent_url:"Copiază linkul de vizualizare hartă",download_shapefile:"Descarcă Shapefile",download_gpx:"Descarcă GPX",download_gpkg:"Descarcă GPKG",download_csv:"Descarcă CSV",download_xls:"Descarcă XLS",download_pdf:"Descarcă PDF",show_chart:"Arată Diagrama",atlas:"Tipărire Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Interogare strat",actions:{add_selection:{hint:"Adaugă/Elimină Selecția"},zoom_to_features_extent:{hint:"Zoom la încadrarea entităților"},add_features_to_results:{hint:"Adaugă/Elimină entități rezultat"},remove_feature_from_results:{hint:"Elimină entitate din rezultat"},zoom_to_feature:{hint:"Zoom la entitate"},relations:{hint:"Arată Relațiile"},relations_charts:{hint:"Arată diagrama de relații"},download_features_shapefile:{hint:"Descarcă entități în Shapefile"},download_shapefile:{hint:"Descarcă entitate în Shapefile"},download_features_gpx:{hint:"Descarcă entități în GPX"},download_features_gpkg:{hint:"Descarcă entități în GPKG"},download_gpx:{hint:"Descarcă entitate în GPX"},download_gpkg:{hint:"Descarcă entitate în GPKG"},download_features_csv:{hint:"Descarcă entități în CSV"},download_csv:{hint:"Descarcă entitate în CSV"},download_features_xls:{hint:"Descarcă entități în XLS"},download_xls:{hint:"Descarcă entitate în XLS"},download_pdf:{hint:"Descarcă entitate în PDF"},atlas:{hint:"Tipărire Atlas"},copy_zoom_to_fid_url:{hint:"Copiază URL hartă cu întinderea geometriei entității",hint_change:"Copiat"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Descărcare atribute",choiches:{feature:{label:"Doar entități"},feature_polygon:{label:"Entități+Poligon Interogare"}}},tooltip:"Interogare După Poligon",no_geometry:"Nu avem geometrii în răspuns",help:{message:"
  • Selectează un strat poligon din TOC.
  • Asigură-te că stratul este vizibil.
  • Click pe o entitate a stratului selectat.
"}},querybydrawpolygon:{tooltip:"Interogare prin poligon de desen"},querybbox:{tooltip:"Interogare BBox strat",nolayers_visible:"Nu este vizibil niciun strat de interogare. Trebuie setat cel puțin un strat WFS vizibil pentru a efectua interogarea",help:{message:"
  • Desenează un pătrat pe hartă pentru a interoga straturile din TOC de sub
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"Rezultateul pe hartă este parțial datorită prezenței următoarei liste de rezultate incorecte:"}},tooltip:"Adaugă Strat"},geolocation:{tooltip:"Geolocalizare"},measures:{length:{tooltip:"Lungime",help:"Click pe hartă pentru a desena linia. Apasă
CANC dacă dorești să ștergi ultimul vertex"},area:{tooltip:"Aria",help:"Click pentru desen poligon. Apasă
CANC dacă dorești să ștergi ultimul vertex"}},scale:{no_valid_scale:"Scară Invalidă"},scaleline:{units:{metric:"Metri",nautical:"Mile Nautice"}},zoomhistory:{zoom_last:"Zoom Anterior",zoom_next:"Zoom Urmatorul"}},relations:{relation_data:"Date Relații",no_relations_found:"Nu am găsit nicio relație",back_to_relations:"Înapoi la relații",list_of_relations_feature:"Lista de relații a entității",error_missing_father_field:"Câmpul de legătură lipsește",field:"Relation key field"},form:{loading:"Se încarcă ...",inputs:{messages:{errors:{picklayer:"Nu avem entitate selectată. Verifică dacă stratul este în editare sau vizibil la scara curentă if layer is on editing or visible at current scale"}},tooltips:{picklayer:"Ia valoare din strat",lonlat:"Click pe hartă pentru a prelua coordonate"},input_validation_mutually_exclusive:"Câmp ce se exclude mutual cu ",input_validation_error:"Câmp mandatoriu sau tip de date greșit",input_validation_error_type:"Tip de date greșit",input_validation_min_field:"Valoarea trebuie să fie mai mare/egală cu valoare câmpului ",input_validation_max_field:"Valoarea trebuie să fie mai mică/egală cu valoare câmpului ",input_validation_exclude_values:"Valoarea trebuie să fie unică",integer:"integer - nr. întreg",bigint:"integer - nr. întreg",text:"text",varchar:"text",textarea:"text",string:"string - text",date:"data",datetime:"data",float:"float - nr. cu zecimale",table:"tabelă"},footer:{required_fields:"Câmpuri necesare"},messages:{qgis_input_widget_relation:"Folosește formular specific de relații pentru a lucra cu relația"}},catalog:{current_map_theme_prefix:"TEMA",choose_map_theme:"ALEGE TEMA",choose_map_theme_input_label:"Numele noii tema",project_map_theme:"Tema de proiect",user_map_theme:"Tema utilizator",question_delete_map_theme:"Doriți să ștergeți tema?",delete_map_theme:"Tema a fost ștearsă cu succes",saved_map_theme:"Tema a fost salvată cu succes",updated_map_theme:"Tema a fost actualizată cu succes",invalid_map_theme_name:"Numele există deja sau este incorect",menu:{layerposition:"Poziție Strat",setwmsopacity:"Alege Opacitatea",wms:{title:"Titlu",copy:"Click pentru copiere URL",copied:"Copiat"},download:{unknow:"Descarcă",shp:"Descarcă Shapefile",gpx:"Descarcă GPX",gpkg:"Descarcă GPKG",csv:"Descarcă CSV",xls:"Descarcă XLS",geotiff:"Descarcă GEOTIFF",geotiff_map_extent:"Descarcă GEOTIFF(ce se vede în cadrul hărții)"}}},wps:{list_process:"Lista de procese",tooltip:"Click pe hartă"}},credits:{g3wSuiteFramework:"Aplicație bazată pe frameworkul",g3wSuiteDescription:"Publică și administrează proiectele de QGIS pe WEB",productOf:"Framework dezvoltat de"},toggle_color_scheme:"Comutare schemă de culori",logout:"Deconectare",no_other_projects:"No more project for this group",no_other_groups:"Nu mai sunt grupuri pentru acest macrogrup",yes:"Da",no:"Nu",back:"Înapoi",backto:"Înapoi la ",changemap:"Schimbare Hartă",change_session:"Schimbați sesiunea",component:"Componentă Generică",search:"Căutare",no_results:"Niciun rezultat găsit",print:"Tipărire",create_print:"Tipărește",dosearch:"Caută",catalog:"Hartă",data:"Data",externalwms:"WMS",baselayers:"Straturi Bază",tools:"Instrumente",tree:"Straturi",legend:"Legendă",nobaselayer:"Fără strat de bază",street_search:"Caută Adresă",show:"Arată",hide:"Ascunde",copy_form_data:"Copiază data",paste_form_data:"Lipește",copy_form_data_from_feature:"Copiază data din hartă",error_map_loading:"Sunt erori la încărcarea hărții",check_internet_connection_or_server_admin:"Verificați conexiune de internet sau contactați administratorul de sistem",could_not_load_vector_layers:"Eroare de conexiune: Straturile nu pot fi încărcate",server_saver_error:"Eroare la salvarea pe server",server_error:"Eroare de conexiune la server",save:"Salvează",cancel:"Anulează",update:"Actualizați",close:"Închide",dont_show_again:"Nu mai afișa mesajul",enlange_reduce:"Mărește / Micșorează",add:"Adaugă",exitnosave:"Ieșire fără salvare",annul:"Anulează",layer_is_added:"Există un strat cu același nume deja adăugat",sidebar:{wms:{panel:{title:"Adaugă strat WMS",label:{position:"Poziție Hartă",name:"Nume",projections:"Proiecție",layers:"Straturi"}},add_wms_layer:"Adaugă strat WMS",delete_wms_url:"Șterge URL WMS",layer_id_already_added:"Strat WMS deja adăugat",url_already_added:"URL WMS/Nume deja adăugat",layer_add_error:"Stratul WMS nu s-a adăugat. Verificați URL-ul sau parametrii WMS"}},info:{title:"Rezultate",list_of_relations:"List of Relations",open_link:"Deschide document atașat",server_error:"Serverul a întâmpinat o eroare",no_results:"Niciun rezultat",link_button:"Deschide"},mapcontrols:{geolocation:{error:"Nu te-am putut localiza"},geocoding:{choose_layer:"Alegeți un strat unde să adăugați această caracteristică",placeholder:"Adresa ...",nolayers:"Nu s-au găsit straturi de puncte editabile în acest proiect",noresults:"Niciun rezultat",notresponseserver:"Niciun răspuns de la server"},add_layer_control:{header:"Adăugare Strat",select_projection:"Selectează proiecția strat",select_field_to_show:"Selectează câmpul de arătat pe hartă",select_csv_separator:"Selectează delimitatorul",select_csv_x_field:"Selectează câmpul X - Est",select_csv_y_field:"Selectează câmpul Y - Nord",select_color:"Selectează culoare strat",drag_layer:"Trageți stratul aici (Drag&Drop)"},query:{input_relation:"Click pentru a arăta relațiile"},length:{tooltip:"Lungime"},area:{tooltip:"Arie"},screenshot:{error:"Eroare captură ecran",securityError:' \n

Eroare de securitate: un strat extern împiedică imprimarea hărții. Pentru a verifica, procedați după cum urmează:

\n
    \n
  1. eliminați orice straturi externe adăugate manual (de exemplu, straturi WMS)
  2. \n
  3. forțați reîncărcarea paginii: CTRL + F5
  4. \n
  5. tipărește din nou harta
  6. \n
\n

Pentru mai multe informații, vă rugăm să contactați administratorul serverului despre: ℹ️ securitate și pânze contaminate

\n '}},catalog_items:{helptext:"Click dreapta pe strat pentru a accesa opțiuni",contextmenu:{zoomtolayer:"Zoom pe Strat",open_attribute_table:"Deschide Tabela Atribute",show_metadata:"Metadate",styles:"Stiluri",vector_color_menu:"Setează/Schimbă Culoare",layer_opacity:"Opacitate",filters:"Filters"}},dataTable:{previous:"Anteriorul",next:"Următorul",lengthMenu:"Afișați _MENU_ valori pe pagină",info:"_TOTAL_ rezultate",no_data:"Fără date",nodatafilterd:"Niciun rezultat",infoFiltered:"(filtrat din _MAX_ de rezultate totale)"}}}},{}],142:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={translation:{error_page:{error:"Anslutningsfel",at_moment:"För närvarande är det inte möjligt att visa kartan",f5:"Tryck på Ctrl+F5"},cookie_law:{message:"Denna applikation använder cookies för att den ska fungera så bra som möjligt för dig.",buttonText:"Jag accepterar"},default:"standard",sign_in:"Logga in",layer_selection_filter:{tools:{filter:"Aktivera/inaktivera filter",nofilter:"Avlägsna Filtrera",invert:"Invertera Urval",clear:"Annullera Urval",show_features_on_map:"Rezultatele se actualizează când harta este deplasată",savefilter:"Spara Filter",filterName:"Filternamn"}},warning:{not_supported_format:"Formatet stöds inte"},layer_position:{top:"Överst",bottom:"Underst",message:"Position relativt till lager i lagerlistan"},sdk:{atlas:{template_dialog:{title:"Välj Template"}},spatialbookmarks:{title:"Rumsliga bokmärken",helptext:"Flytta på kartans omfattning, ange namn och klicka på Lägg till",input:{name:"Namn"},sections:{project:{title:"Projektbokmärken"},user:{title:"Användarbokmärken"}}},search:{all:"ALLA",no_results:"Inga resultat",searching:"Sökning ...",error_loading:"Fel vid laddning av uppgifter.",layer_not_searchable:"Nivån kan inte sökas.",layer_not_querable:"Förfrågningar kan inte göras på nivån.",autocomplete:{inputshort:{pre:"Mata in",post:"eller flera tecken"}},help_filter:"Sökvärdena är begränsade baserat på det aktiva filtret. Ta bort filtret för att söka på all data.",autofilter:"Filtrera resultaten"},print:{no_layers:"Inga nivåer att skriva ut",template:"Template",labels:"Labels",scale:"Skala",format:"Format",rotation:"Rotation",download_image:"Ladda ner bild",fids_instruction:"Godkända värden: Från ett till värdet [max]. Mellanslag tillåts, t.ex. 4-6.",fids_example:"Exempelvis 1,4-6 skriver ut id 1,4,5,6.",help:"Nivåerna på utskriften kan vara specificerade i ett projekt inte sådana som visas på karta."},querybuilder:{search:{run:"Utför",info:"Information",delete:"Ta bort",edit:"Redigera"},messages:{changed:"Sparat",number_of_features:"Antal funktione"},panel:{button:{all:"ALLA",save:"SPARA",test:"TEST",clear:"TÖM",run:"UTFÖR",manual:"MANUELL"},layers:"NIVÅER",fields:"FÄLT",values:"VÄRDEN",operators:"OPERATÖRER",expression:"KLAUSUL"},error_run:"Ett fel inträffade. Kontrollera förfrågan.",error_test:"Ett fel inträffade när förfrågan utfördes.",delete:"Vill du ta bort den?",additem:"Ge den nya sökningen ett namn."},errors:{layers:{load:"Vissa nivåer är inte tillgängliga."},unsupported_format:"Formatet stöds inte",add_external_layer:"Fel vid laddning av nivån"},metadata:{title:"Metadata",groups:{general:{title:"ALLMÄN",fields:{title:"RUBRIK",name:"NAMN",description:"BESKRIVNING",abstract:"SAMMANDRAG",keywords:"NYCKELORD",fees:"AVGIFTER",accessconstraints:"ÅTKOMSTBEGRÄNSNINGAR",contactinformation:"KONTAKTUPPGIFTER",subfields:{contactinformation:{contactelectronicmailaddress:"E-post",personprimary:"Referenser",contactvoicetelephone:"Telefon",contactorganization:"Organisation",ContactOrganization:"Organisation",contactposition:"Ställning",ContactPosition:"Ställning",contactperson:"Kontaktperson",ContactPerson:"Kontaktperson"}},wms_url:"WMS"}},spatial:{title:"SPATIAL",fields:{crs:"EPSG",extent:"BBOX"}},layers:{title:"NIVÅER",fields:{layers:"NIVÅER",subfields:{crs:"EPSG",bbox:"BBOX",title:"RUBRIK",name:"NAMN",geometrytype:"GEOMETRI",source:"KÄLLA",attributes:"ATTRIBUT",abstract:"SAMMANDRAG",attribution:"TILLSKRIVNING",keywords:"NYCKELORD",metadataurl:"METADATA URL",dataurl:"DATA URL"}},groups:{general:"ALLMÄN",spatial:"SPATIAL"}}}},tooltips:{relations:{form_to_row:"Radvy",row_to_form:"Tabellvy",zoomtogeometry:"Zooma till geometri"},copy_map_extent_url:"Kopiera länk till karta",download_shapefile:"Ladda SHP-fil",download_gpx:"Ladda GPX-fil",download_gpkg:"Ladda GPKG-fil",download_csv:"Ladda CSV-fil",download_xls:"Ladda XLS-fil",download_pdf:"Ladda PDF-fil",show_chart:"Visa diagram",atlas:"Skriv ut Atlas",editing:"Editing"},mapcontrols:{query:{tooltip:"Förfrågningsnivå",actions:{add_selection:{hint:"Lägg till/Avlägsna Urval"},zoom_to_features_extent:{hint:"Zooma till egenskapens omfattning"},add_features_to_results:{hint:"Add/Remove features to results"},remove_feature_from_results:{hint:"Remove feature from results"},zoom_to_feature:{hint:"Zooma till egenskapen"},relations:{hint:"Visa relationerna"},relations_charts:{hint:"Visa relationsdiagrammet"},download_features_shapefile:{hint:"Ladda egenskapens SHP-fil"},download_shapefile:{hint:"Ladda egenskapens SHP-fil"},download_features_gpx:{hint:"Ladda egenskapens GPX-fil"},download_features_gpkg:{hint:"Ladda egenskapens GPKG-fil"},download_gpx:{hint:"Ladda egenskapens GPX-fil"},download_gpkg:{hint:"Ladda egenskapens GPKG-fil"},download_features_csv:{hint:"Ladda egenskapens CSV-fil"},download_csv:{hint:"Ladda egenskapens CSV-fil"},download_features_xls:{hint:"Ladda egenskapens XLS-fil"},download_xls:{hint:"Ladda egenskapens XLS-fil"},download_pdf:{hint:"Ladda egenskapens PDF-fil"},atlas:{hint:"Skriv ut Atlas"},copy_zoom_to_fid_url:{hint:"Copy map URL with this geometry feature extension",hint_change:"Copied"}}},queryby:{title:"Query area",layer:"Selected layer:",none:"NONE",new:"TEMPORARY LAYER",all:"ALL",methods:{intersects:"intersects",within:"within"},querybypolygon:{tooltip:"select a polygon"},querybydrawpolygon:{tooltip:"draw a polygon"},querybbox:{tooltip:"draw a rectangle"},querybycircle:{tooltip:"draw a circle"}},querybypolygon:{download:{title:"Attributes download",choiches:{feature:{label:"Features only"},feature_polygon:{label:"Features+Query Polygon"}}},tooltip:"Förfrågan med polygon",no_geometry:"No geometry on response",help:{message:"
  • Välj polygonnivå i listan.
  • Kontrollera att nivån är synlig.
  • Välj egenskap på önskad nivå.
"}},querybydrawpolygon:{tooltip:"Fråga efter ritpolygon"},querybbox:{tooltip:"BBox-förfrågan som riktar sig till en nivå",nolayers_visible:"Inga nivåer som förfrågningar kan riktas till. Gör minst en WFS-nivå synlig för att kunna utföra sökningen.",help:{message:"
  • Rita upp en rektangel på kartan för att utföra förfrågan på de i listan understreckade nivåerna.
"}},querybycircle:{tooltip:"Query by Draw Circle ",label:"Radius",help:{message:"
  • Click on map to draw circle
"}},addlayer:{messages:{csv:{warning:"The result in the map is partial due to the presence of the below incorrect records list:"}},tooltip:"Lägg till nivå"},geolocation:{tooltip:"Geografiskt läge"},measures:{length:{tooltip:"Längd",help:"Rita upp en bruten linje på kartan. Tryck
CANC, om du vill ta bort föregående punkt."},area:{tooltip:"Område",help:"Rita upp en polygon på kartan. Tryck
CANC, om du vill ta bort föregående punkt."}},scale:{no_valid_scale:"Fel skala"},scaleline:{units:{metric:"Meters",nautical:"Nautical Mile"}},zoomhistory:{zoom_last:"Zoom Föregående",zoom_next:"Zoom Nästa"}},relations:{relation_data:"Relationsuppgifter",no_relations_found:"Inga relationer hittades.",back_to_relations:"Tillbaka till relationerna",list_of_relations_feature:"Lista på egenskapens relationer",error_missing_father_field:"Fält saknas",field:"Relation key field"},form:{loading:"Laddning...",inputs:{messages:{errors:{picklayer:"Inga egenskaper har valts. Kontroller att nivån kan redigeras eller att den syns med nuvarande skala."}},tooltips:{picklayer:"Välj värde på kartnivå",lonlat:"Click on map to get coordinates"},input_validation_mutually_exclusive:"Fälten utesluter varandra.",input_validation_error:"Obligatoriskt fält eller fel datatyp.",input_validation_error_type:"Fel datatyp.",input_validation_min_field:"Värdet ska vara större eller lika stort som värdet i fältet.",input_validation_max_field:"Värdet ska vara mindre eller lika stort som värdet i fältet.",input_validation_exclude_values:"Värdet ska vara unikt.",integer:"heltal",bigint:"heltal",text:"text",varchar:"text",textarea:"text",string:"teckensträng",date:"datum",datetime:"datum",float:"flyttal",table:"tabell"},footer:{required_fields:"Obligatoriska fält"},messages:{qgis_input_widget_relation:"Använd den specifika funktinen för att bestämma relationer"}},catalog:{current_map_theme_prefix:"THEME",choose_map_theme:"CHOOSE THEME",choose_map_theme_input_label:"Namn på det nya temat",project_map_theme:"Temat de proiect",user_map_theme:"Temat utilizator",question_delete_map_theme:"Vill du ta bort temat?",delete_map_theme:"Temat har tagits bort",saved_map_theme:"Temat har sparats",updated_map_theme:"Temat har uppdaterats",invalid_map_theme_name:"Namnet finns redan eller är felaktigt",menu:{layerposition:"Lagerposition",setwmsopacity:"Ställ in Opacitet",wms:{title:"",copy:"Tryck här för att kopiera url.",copied:"Kopierad."},download:{unknow:"Ladda",shp:"Ladda SHP-fil",gpx:"Ladda GPX-fil",gpkg:"Ladda GPKG-fil",csv:"Ladda CSV-fil",xls:"Ladda XLS-fil",geotiff:"Ladda GEOTIFF-fil",geotiff_map_extent:"Ladda GEOTIFF-fil(current view extent)"}}},wps:{list_process:"Lista på processer",tooltip:"Välj på kartan"}},credits:{g3wSuiteFramework:"Tillämpningen baserar på OS framework",g3wSuiteDescription:"Publicera och hantera QGIS-projekt på nätet.",productOf:"Framework har utvecklats av"},toggle_color_scheme:"Toggle color scheme",logout:"Logga ut",no_other_projects:"Inga projekt för denna grupp",no_other_groups:"Inga fler grupper för denna makrogrupp",yes:"Ja",no:"Nej",back:"Gå tillbaka",backto:"Tillbaka ",changemap:"Byt karta",change_session:"Ändra session",component:"Allmän komponent",search:"Sök",no_results:"Inga sökresultat",print:"Skriv ut",create_print:"Skapa utskrift",dosearch:"Sök",catalog:"Karta",data:"Data",externalwms:"WMS",baselayers:"Bakgrundskarta",tools:"Verktyg",tree:"Nivåer",legend:"Förklaring till beteckningarna",nobaselayer:"Ingen bakgrundskarta",street_search:"Sök adress",show:"Visa",hide:"Dölj",copy_form_data:"Kopiera uppgifterna",paste_form_data:"Infoga",copy_form_data_from_feature:"Kopiera uppgifter från kartan",error_map_loading:"Fel vid laddning av kartan",check_internet_connection_or_server_admin:"Kontrollera internetanslutningen eller kontakta administratören.",could_not_load_vector_layers:"Fel i anslutningen, nivåer kan inte laddas.",server_saver_error:"Fel vid lagring på servern.",server_error:"Fel på anslutningen till servern",save:"Spara",cancel:"Ånga",update:"Uppdatering",close:"Stäng",dont_show_again:"Visa inte det här meddelandet igen",enlange_reduce:"Förstora / Förminska",add:"Lägg till",exitnosave:"Lämna programmet utan att spara",annul:"Ångra",layer_is_added:"Lagret med samma namn har redan lagts till.",sidebar:{wms:{panel:{title:"Add WMS Layer",label:{position:"Map Position",name:"Name",projections:"Projection",layers:"Layers"}},add_wms_layer:"Aggiungi WMS layer",delete_wms_url:"Delete WMS url",layer_id_already_added:"WMS Nivån har redan lagts till.",url_already_added:"WMS URL/Namn har redan lagts till.",layer_add_error:"WMS Layer not added. Please check all wms parameter or url"}},info:{title:"Resultat",list_of_relations:"List of Relations",open_link:"Öppna filbilaga",server_error:"Ett fel uppstod på servern.",no_results:"Inga resultat för sökningen/förfrågan.",link_button:"Öppna"},mapcontrols:{geolocation:{error:"Du kan inte lokaliseras"},geocoding:{choose_layer:"Välj ett lager där du vill lägga till denna funktion",placeholder:"Adress ...",nolayers:"Inga redigerbara punktlager hittades i det här projektet",noresults:"Inga resultat",notresponseserver:"Inget svar från servern"},add_layer_control:{header:"Lägg till nivå",select_projection:"Välj projektion för nivån",select_field_to_show:"Select Field to show on map",select_csv_separator:"Select delimiter",select_csv_x_field:"Select X field",select_csv_y_field:"Select Y field",select_color:"Välj färg på nivån",drag_layer:"Dra och släpp nivån hit"},query:{input_relation:"Tryck för att visa relationerna"},length:{tooltip:"Längd"},area:{tooltip:"Areal"},screenshot:{error:"Screenshot error creation",securityError:' \n

Säkerhetsfel: ett externt lager hindrar kartan från att skrivas ut. Gör så här för att kontrollera:

\n
    \n
  1. ta bort alla manuellt tillagda externa lager (t.ex. WMS-lager)
  2. \n
  3. tvinga om inläsning av sidan: CTRL + F5
  4. \n
  5. skriv ut kartan igen
  6. \n
\n

För mer information kontakta serveradministratören om: ℹ️ säkerhet och nedsmutsade dukar

\n '}},catalog_items:{helptext:"Högerklicka på en enskild nivå för att komma till tilläggsegenskaperna.",contextmenu:{zoomtolayer:"Zooma till nivå",open_attribute_table:"Öppna attributtabellen",show_metadata:"Metadata",styles:"Stilar",vector_color_menu:"Ställ in/ändra färg",layer_opacity:"Opacitet",filters:"Filters"}},dataTable:{previous:"Föregående",next:"Nästa",lengthMenu:"Visa _MENU_ värden per sida",info:"_TOTAL_ resultat",no_data:"Inga uppgifter",nodatafilterd:"Inga motsvarande poster hittades",infoFiltered:"(filtered from _MAX_ total records)"}}}},{}],143:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.GeolocationControl=void 0;var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var t=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function a(){var t;if(this instanceof a)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,{visible:!0,offline:!1,enabled:!0,name:"geolocation",tipLabel:"sdk.mapcontrols.geolocation.tooltip",label:""})))._layer=new ol.layer.Vector({source:new ol.source.Vector,style:new ol.style.Style({text:new ol.style.Text({text:"",font:'900 3em "Font Awesome 5 Free"',fill:new ol.style.Fill({color:"red"}),offsetY:-15})})}),t._geolocation=new ol.Geolocation({trackingOptions:{enableHighAccuracy:!0}}),t.on("controlclick",function(e){t._geolocation.getTracking()?t._geolocation.setTracking(!1):t.geolocate()}),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(a,[{key:"_showMarker",value:function(e){var t=e.map,a=e.coordinates,e=e.show,e=void 0===e||e;this._layer&&(this._layer.getSource().clear(),e?(t.getView().setCenter(a),this._layer.getSource().addFeature(new ol.Feature({geometry:new ol.geom.Point(a)})),t.addLayer(this._layer)):t.removeLayer(this._layer))}},{key:"geolocate",value:function(){var t,a=this,i=this.getMap();i&&(t=void 0,this._geolocation.on("change:position",function(){var e=a._geolocation.getPosition();e&&(t=a.on("toggled",function(){a._showMarker({map:i,coordinates:a._geolocation.getPosition(),show:a.isToggled()})}),$(a.element).removeClass("g3w-ol-disabled"),a._showMarker({map:i,coordinates:e,show:a.isToggled()}))}),this._geolocation.on("error",function(e){a._layer=null,r.default.showUserMessage({type:"warning",title:"mapcontrols.geolocation.error",message:e.message,autoclose:!1}),a.toggle(!1),ol.Observable.unByKey(t),t=null}),this._geolocation.setProjection(i.getView().getProjection()),this._geolocation.setTracking(!0))}}]),a})(e.default)},{"map/controls/interactioncontrol":144,"services/gui":173}],144:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var e=0\n \n "}))).$mount().$el),(i=u(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e)))._options=e,i.cursorClass=e.cursorClass,i._originalonlick=null,i._onclick=e.onclick,i._enabled=e.enabled,i.offline=void 0===e.offline||e.offline,i.name=t,i.id=i.name+"_"+Math.floor(1e6*Math.random()),i.eventKeys={},i.positionCode=e.position||"tl",i.priority=e.priority||0,$(e.element).on("click",function(e){return i._handleClick(e)}),i.setVisible(e.visible),i._options.postRender&&i._options.postRender.call(i),i._toggled=!1,i._toggled=!1,i._interactionClassOptions=e.interactionClassOptions,e.interactionClass&&i.initInteraction(e),u(i)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(n,[{key:"setMouseCursor",value:function(e){var t=1t&&(e=$(this).position().left,a>$(this).outerWidth()&&(t+=a-$(this).outerWidth()),$(this).css("left",t+"px"),t=e,a=$(this).outerWidth())}),$(this.element).hide()}},{key:"setEnable",value:function(e){$(this.element).find("button").first().toggleClass("g3w-ol-disabled",!e),!e&&this._interaction&&this._interaction.setActive(!1),this._enabled=e}},{key:"getEnable",value:function(){return this._enabled}},{key:"setVisible",value:function(){var e=!(0\n \n ',data:function(){return{methods:o.SPATIAL_METHODS,method:t.getSpatialMethod()}},watch:{method:function(e){return t.setSpatialMethod(e)}},created:function(){s.default.toggleUserMessage(!1)},beforeDestroy:function(){s.default.toggleUserMessage(!0)}};break;case"custom":this.toggledTool=e.component}"how"===e.how&&this._onhover&&(this._toolButton=$(''),$(this.element).prepend(this._toolButton),this._toolButton.on("click",function(e){e.stopPropagation(),t.showToggledTool(!0)}),$(this.element).hover(function(){return t._toggled&&t._toolButton.show()}),$(this.element).mouseleave(function(){return t._toolButton.hide()}))}},{key:"showToggledTool",value:function(){!(0\n \n ',watch:{type:function(e,t){a.interactions[t].setActive(!1),a.interactions[t].clear(),a.getMap().removeInteraction(a.interactions[t]),a.getMap().addInteraction(a.interactions[e]),a.interactions[e].setActive(!0),a._interaction=a.interactions[e]}},created:function(){o.default.toggleUserMessage(!1)},beforeDestroy:function(){o.default.toggleUserMessage(!0)}})}}]),v);function v(){var e=0{var t,a=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var a,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,r({},e,{name:"queryby",label:"",tipLabel:"sdk.mapcontrols.queryby.title",enabled:!0,cursorClass:null})))).types=[],(e.types||[]).forEach(function(e){return a.addType(e)}),0===a.types.length?a.setVisible(!1):a.element.classList.add("ol-"+a.types[0]),(b.queryby=a).selectedLayer="__ALL__",a.on("toggled",function(e){var t;if(!e.toggled)return l.default.closeUserMessage();l.default.showUserMessage({title:"sdk.mapcontrols.queryby.title",type:"tool",size:"small",iconClass:"info",closable:!1,hooks:{body:{data:function(){return{types:a.types,type:a.types[0],methods:o.SPATIAL_METHODS,method:a.getSpatialMethod(),layers:[],selectedLayer:x()}},template:'\n
\n \x3c!-- DOCS URL --\x3e\n \n \n \n \x3c!-- SPATIAL METHOD --\x3e\n
\n \n
\n \x3c!-- QUERY TYPE --\x3e\n
\n \n
\n \x3c!-- RADIUS TYPE IN METERS--\x3e\n
\n \n
\n \n \x3c!-- CLEAR RADIUS --\x3e\n \n
\n
\n \x3c!-- SELECTED LAYER --\x3e\n
\n \n \n
\n \x3c!-- HELP TEXT --\x3e\n
\n \x3c!-- CLEAR SELECTION --\x3e\n \n
',computed:{control:function(){return b[this.type]},queryable:function(){var t=this;return(this.control.layers||[]).filter(function(e){return"querybypolygon"!==t.type||_.includes(e.getGeometryType())})},no_layers:function(){return!this.queryable||!k(this.control)},help:function(){return"sdk.mapcontrols."+this.type+".help.message"},all:function(){return this.no_layers?"sdk.mapcontrols.queryby.none":"sdk.mapcontrols.queryby.all"},radius:{get:function(){return w.radius},set:function(e){Number.isNaN(e)||e<0?this.radius=w.radius:(w.radius=Math.floor(e*("m"===l.default.getService("map").getMapUnits()?1:ol.proj.Units.METERS_PER_UNIT.degrees)),w.dfeature&&0  '+e.text+""):e.text},templateLayer:function(t){var e;return t.id&&"__NEW__"!==t.id?(e=l.default.getService("map").getLegacyExternalLayers(),e=(0,g.getCatalogLayerById)(t.id)||e.find(function(e){return e.get("id")===t.id}),e="__ALL__"!==t.id&&e?'  ':"",$(""+e+t.text+"")):t.text}},mounted:function(){b.queryby.usermessage=this,l.default.toggleUserMessage(!1),this.reset()},beforeDestroy:function(){l.default.toggleUserMessage(!0),a.types.forEach(function(e){b[e].toggle(!1),b[e].autorun=!1,b.queryby.element.classList.toggle("ol-"+e,e===a.types[0]),b[e].layers.forEach(function(e){return e.setTocHighlightable(!1)})})}}}})}),a;throw new TypeError("Cannot call a class as a function")}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e),i(n,[{key:"addType",value:function(n){var e,t,a=this;this.types.includes(n)||(this.types.splice(this.types.includes("querybypolygon")?this.types.indexOf("querybypoyling"):this.types.length,0,n),t=b[n]=new d.default({name:n,offline:!1,visible:!1,geometryTypes:["querybypolygon","querybydrawpolygon"].includes(n)?_:[],cursorClass:"querybypolygon"!==n?"ol-crosshair":"ol-pointer",interactionClass:{querybbox:ol.interaction.DragBox,querybycircle:ol.interaction.Draw,querybydrawpolygon:ol.interaction.Draw,querybypolygon:p.default}[n],interactionClassOptions:["querybydrawpolygon","querybycircle"].includes(n)?{type:"querybydrawpolygon"===n?"Polygon":"Circle"}:{},layers:S(n),onSetMap:function(e){var t,a,i=this,e=e.setter;"after"===e&&("querybbox"===n&&(t=null,this._interaction.on("boxstart",function(e){return t=e.coordinate}),this._interaction.on("boxend",(0,f.throttle)(function(e){w.bbox=ol.extent.boundingExtent([t,e.coordinate]),i.dispatchEvent({type:"bboxend",extent:w.bbox}),t=null,i._autountoggle&&i.toggle()})),this.setEventKey({eventType:"bboxend",eventKey:this.on("bboxend",function(){return b.queryby.runSpatialQuery("querybbox")})})),"querybycircle"===n&&this._interaction.on("drawstart",function(e){var t=e.feature.getGeometry();t.setRadius(w.radius),t.on("change",function(){return w.radius=t.getRadius()}),0{switch(t){case"querybypolygon":return w.feature;case"querybydrawpolygon":return w.dfeature;case"querybycircle":var e=w.dfeature.clone();return e.setGeometry(ol.geom.Polygon.fromCircle(w.dfeature.getGeometry(),64)),e}})(),external:{add:"querybypolygon"===t||!a||e.some(function(e){return e===a}),filter:{SELECTED:["querybydrawpolygon","querybycircle"].includes(t)&&(!a||e.some(function(e){return e===a}))}},type:(t||"").replace("queryby","")||void 0,multilayers:[].concat(i.state.querymultilayers).includes("querybypolygon"),filterConfig:{spatialMethod:n.getSpatialMethod()}},outputs:{show:function(e){e=e.error;return!(void 0!==e&&e)}}})),n.autorun=!0)}catch(e){}}),function(e){return t.apply(this,arguments)})}]),n})(d.default);function k(e){var t=l.default.getService("map").getSelectedLayer();return"querybypolygon"===e.name?!(!t||!t.isVisible()||!e.layers.some(function(e){return e!==t&&e.isVisible()&&e.isFilterable({ows:"WFS"})})&&!l.default.getService("map").getLegacyExternalLayers().find(function(e){return e!==t&&!0===e.visible})):!(!(e.layers||[]).some(function(e){return e.isVisible()})&&!l.default.getService("map").getLegacyExternalLayers().some(function(e){return e.visible}))}function S(t){var e=a("services/map").default.MapLayersStoresRegistry.getQuerableLayersStores();return[].concat(y(new Set([].concat(y(e.flatMap(function(e){return e.getLayers({GEOLAYER:!0,FILTERABLE:!0,SELECTED_OR_ALL:!0},{filtrable:{ows:"WFS"}})}).filter(function(e){return"wfs"===e.getProvider("filter").getName()})),y((l.default.getService("map").getLegacyExternalLayers()||[]).filter(function(e){return"querybypolygon"!==t||_.includes(e.getGeometryType())})),y("querybypolygon"===t?e.flatMap(function(e){return e.getLayers({GEOLAYER:!0,QUERYABLE:!0,SELECTED_OR_ALL:!0},{})}):[])))))}},{"g3w-constants":126,"g3w-eventbus":127,"g3w-i18n":129,"map/controls/interactioncontrol":144,"map/interactions/pickcoordinatesinteraction":150,"services/data":172,"services/gui":173,"services/map":175,"store/application":178,"utils/getCatalogLayerById":203,"utils/throttle":241}],147:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.ScaleControl=void 0;var i=function(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),e};function n(e,t){for(var a=0;a{var t=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(o.__proto__||Object.getPrototypeOf(o)).call(this,e));return t.isMobile=e.isMobile||!1,t}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(o,[{key:"layout",value:function(t){var i=this,a=!1,n=!1,r=$(this.element).children("select").select2({tags:!0,dropdownParent:$(t.getTargetElement()),width:"120px",height:"20px",language:{noResults:function(){return d("sdk.mapcontrols.scale.no_valid_scale")}},minimumResultsForSearch:this.isMobile?-1:0,createTag:function(){var e=0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,r({name:"maptoimage",tipLabel:"Screenshot",label:"",clickmap:!0,enabled:!0,layers:[]},e)));return i.types=[],(e.types||[]).forEach(function(e){return i.addType(e)}),i.layers=e.layers,i.setVisible(i.checkVisible(i.layers)),i.isVisible()&&(s.default.getService("map").onafter("loadExternalLayer",i._addLayer.bind(i)),s.default.getService("map").onafter("unloadExternalLayer",i._removeLayer.bind(i))),i}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i(n,[{key:"addType",value:function(e){var t,a=this;this.types.push(e),this.toggledTool=this.toggledTool||{__title:"sdk.mapcontrols.screenshot.title",__iconClass:"camera",data:function(){return{types:a.types,type:a.types[0]}},template:'\n
\n \n \n
',methods:{download:(t=c(function*(e){var t=s.default.getService("map");o.default.download=!0,e.target.disabled=!0;try{var a,i=yield t.createMapImage();"screenshot"===this.type?window.saveAs(i,"map_"+Date.now()+".png"):((a=new FormData).append("image",i),a.append("csrfmiddlewaretoken",t.getCookie("csrftoken")),a.append("bbox",t.getMapBBOX().toString()),window.saveAs(yield(yield fetch("/"+t.project.getType()+"/api/asgeotiff/"+t.project.getId()+"/",{method:"POST",body:a})).blob(),"map_"+Date.now()+".tif"))}catch(e){s.default.showUserMessage({type:"SecurityError"===err.name?"warning":"alert",message:"SecurityError"===err.name?"mapcontrols.screenshot.securityError":"mapcontrols.screenshot.error",autoclose:!1})}return o.default.download=!1,!(e.target.disabled=!1)}),function(e){return t.apply(this,arguments)})},created:function(){s.default.toggleUserMessage(!1)},beforeDestroy:function(){s.default.toggleUserMessage(!0)}}}},{key:"_addLayer",value:function(e){var t=this;this.layers.push(e),this.change(this.layers),e.on("change:visible",function(){return t.change(t.layers)})}},{key:"_removeLayer",value:function(t){this.layers=this.layers.filter(function(e){return e!==t}),this.change(this.layers)}},{key:"change",value:function(){this.setVisible(this.checkVisible(0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var t,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,r({},e,{offline:!1,visible:!0,name:"streetview",tipLabel:"StreetView",clickmap:!0,label:"",interactionClass:p.default,interactionClassOptions:{cursor:"ol-streetview"},cursorClass:"ol-streetview"})))).key=l.default.keys.vendorkeys.google,t.key&&c.XHR.get({url:g+"streetview",params:{location:0,size:"456x456",key:t.key}}).catch(function(e){t.keyError=e.responseText}),$script(g+"js?"+(t.key?"key="+t.key:"")),t._sv=null,t._panorama=null,t._map=null,t._projection=null,t._lastposition=null,t._streetViewFeature=new ol.Feature,t.active=!1,t._layer=new ol.layer.Vector({source:new ol.source.Vector({features:[]}),style:function(e){var e=e.getGeometry().getCoordinates(),t=(this._lastposition=this._lastposition||e,e[0]-this._lastposition[0]),a=e[1]-this._lastposition[1],a=-Math.atan2(a,t),t=[new ol.style.Style({text:new ol.style.Text({text:"",font:"bold 18px icomoon",fill:new ol.style.Fill({color:"#ffffff"})})}),new ol.style.Style({image:new ol.style.Icon({src:"/static/client/images/streetviewarrow.png",rotation:a})})];return this._lastposition=e,t}}),t.key&&u.default.on("closecontent",function(){t.isToggled()&&t._layer.getSource().clear()}),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o(n,[{key:"setProjection",value:function(e){this._projection=e}},{key:"setPosition",value:function(e){var t,a=this,i=this;this.active=!0,this._sv||(this._sv=new google.maps.StreetViewService),this._sv.getPanorama({location:e},function(e){i._panorama=new google.maps.StreetViewPanorama(document.getElementById("streetview"),{imageDateControl:!0}),i._panorama.addListener("position_changed",function(){var e;i.isToggled()&&(e=ol.proj.transform([this.getPosition().lng(),this.getPosition().lat()],"EPSG:4326",i._projection.getCode()),i._streetViewFeature.setGeometry(new ol.geom.Point(e)),(t=i._map.getPixelFromCoordinate(e))[0]+15>i._map.getSize()[0]||t[1]+15>i._map.getSize()[1]||t[0]<15||t[1]<15)&&i._map.getView().setCenter(e)}),e&&e.location&&(i._panorama.setPov({pitch:0,heading:0}),i._panorama.setPosition(e.location.latLng))}).then(function(e){void 0===e&&u.default.closeContent()}).catch(function(e){a.toggle()})}},{key:"setMap",value:function(e){var t=this;this._map=e,s(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"setMap",this).call(this,e),this.setProjection(this._map.getView().getProjection()),this._map.addLayer(this._layer),this._interaction.on("picked",function(e){e=e.coordinate;t.showStreetView(e),t._autountoggle&&t.toggle()})}},{key:"showStreetView",value:function(e){var t=ol.proj.transform(e,this._map.getView().getProjection().getCode(),"EPSG:4326"),t=i(t,2),a=t[0],t=t[1];this.key?(u.default.setContent({title:"StreetView",content:'
'+(this.keyError?''+this.keyError+"
":"")+""}),this.keyError||this.setPosition({lng:a,lat:t})):(this._streetViewFeature.setGeometry(new ol.geom.Point(e)),window.open("https://www.google.com/maps/@?api=1&map_action=pano&viewpoint="+t+","+a))}},{key:"clearMarker",value:function(){this._streetViewFeature.setGeometry(null)}},{key:"clear",value:function(){this._layer.getSource().clear(),this._streetViewFeature.setGeometry(null),this.clearMarker(),this._panorama=null,this.active&&u.default.closeContent(),this.active=!1}},{key:"toggle",value:function(e){s(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"toggle",this).call(this,e),this.isToggled()?this._layer.getSource().addFeatures([this._streetViewFeature]):this.clear()}}]),n})(d.default);a.StreetViewControl=e},{"map/controls/interactioncontrol":144,"map/interactions/pickcoordinatesinteraction":150,"services/gui":173,"store/application":178,"utils/XHR":181}],150:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,n({handleDownEvent:function(e){var t=this;return this._centerMap=e.map.getView().getCenter(),setTimeout(function(){t._centerMap===e.map.getView().getCenter()&&t.handleUpEvent(e)},300),!1},handleUpEvent:function(e){return this.dispatchEvent({type:"picked",coordinate:e.coordinate}),!1},handleMoveEvent:function(e){return e.map.getViewport().classList.add(this._cursor),!0}},e))))._cursor=e.cursor||"ol-pointer",t._centerMap=null,t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r(i,[{key:"shouldStopEvent",value:function(){return!1}},{key:"setActive",value:function(e){var t=this.getMap();t&&t.getViewport().classList.remove(this._cursor),o(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"setActive",this).call(this,e)}},{key:"setMap",value:function(e){e||this.getMap().getViewport().classList.remove(this._cursor),o(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"setMap",this).call(this,e)}}]),i})(ol.interaction.Pointer);a.default=s},{}],151:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,n({handleDownEvent:function(e){return this.pickedFeature_=this.featuresAtPixel_(e.pixel,e.map),this.pickedFeature_},handleUpEvent:function(e){return this.pickedFeature_&&this.dispatchEvent({type:"picked",feature:this.pickedFeature_,coordinate:e.coordinate,layer:this.pickedLayer_}),!0},handleMoveEvent:function(e){e.map.getTargetElement().style.cursor=this.featuresAtPixel_(e.pixel,e.map)?"pointer":""}},e))),a=e.features,t.features_=Array.isArray(a)&&0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var t,a=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this))).state={new:!1,state:null,visible:!0},t._uid=(0,u.getUniqueDomId)(),t._geometry=!1,a.feature&&a.properties&&Array.isArray(a.properties)?a.properties.forEach(function(e){return t.set(e,a.feature.get(e))}):a.feature&&t.setProperties(a.feature.getProperties()),a.feature&&(t.setId(a.feature.getId()),t.setGeometryName(a.feature.getGeometryName())),(e=a.feature&&a.feature.getGeometry())&&(t._geometry=!0,t.setGeometry(e)),(i=t.getStyle())&&t.setStyle(i),t;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r(n,[{key:"getUid",value:function(){return this._uid}},{key:"isGeometry",value:function(){return this._geometry}},{key:"cloneNew",value:function(e){var t=this.clone();return t._uid=(0,u.getUniqueDomId)(),t.setTemporaryId(),e&&!1===e.editable&&t.set(e.name,null),t}},{key:"clone",value:function(){var e=o(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"clone",this).call(this);return e.setId(this.getId()),this.isGeometry()&&e.setGeometry(e.getGeometry().clone()),(e=new n({feature:e}))._uid=this.getUid(),e.setState(this.getState()),this.isNew()&&e.setNew(),e}},{key:"setTemporaryId",value:function(){this.setId("_new_"+(0,u.getUniqueDomId)()),this.setNew()}},{key:"setNew",value:function(){this.state.new=!0}},{key:"delete",value:function(){return this.state.state="delete",this}},{key:"update",value:function(){return this.state.state="update",this}},{key:"add",value:function(){return this.state.state="add",this}},{key:"isNew",value:function(){return this.state.new}},{key:"isAdded",value:function(){return"add"===this.state.state}},{key:"isUpdated",value:function(){return"update"===this.state.state}},{key:"isDeleted",value:function(){return"delete"===this.state.state}},{key:"setState",value:function(e){this.state.state=e}},{key:"getState",value:function(){return this.state.state}},{key:"getAlphanumericProperties",value:function(){return Object.entries(this.getProperties()).filter(function(e){e=i(e,2),e=e[0];return!l.default.GEOMETRY_FIELDS.includes(e)}).reduce(function(e,t){t=i(t,2);return e[t[0]]=t[1],e},{})}},{key:"clearState",value:function(){this.state.state=null,this.state.new=!1}},{key:"isVisible",value:function(){return this.state.visible}},{key:"setVisible",value:function(){this.state.visible=!(0{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this)))._features=e.features||[],t._provider=e.provider||null,t._loadedIds=[],t._lockIds=[],t.setters={addFeatures:function(){var t=this;(0=this.state.maxscale&&e<=this.state.minscale)}},{key:"getStyles",value:function(){return(this.config.source.external?this.config.source:this.config).styles}},{key:"getStyle",value:function(){return this.config.source.external?this.config.source.styles:this.config.styles?this.config.styles.find(function(e){return e.current}).name:""}},{key:"getOpacity",value:function(){return this.state.opacity}},{key:"setCurrentStyle",value:function(t){var e=!this.config.styles.find(function(e){return t===e.name}).current;return this.config.styles.forEach(function(e){return e.current=t===e.name}),e}},{key:"getCurrentStyle",value:function(){return this.config.styles.find(function(e){return e.current})}},{key:"setDisabled",value:function(e){if(this.state.scalebasedvisibility){for(var e=(0,l.getScaleFromResolution)(e,1=this.state.maxscale&&e<=this.state.minscale),this.state.disabled=0===this.state.minscale?!(e>=this.state.maxscale):this.state.disabled,!0),a=this.state.parentGroup;a;)t=t&&a.checked,a=a.parentGroup;t&&this.setVisible(!this.state.disabled),this.isFilterable()&&this.setTocHighlightable(!this.state.disabled)}else this.state.disabled=!1}},{key:"getMultiLayerId",value:function(){return this.config.multilayerid}},{key:"getGeometryType",value:function(){return this.config.geometrytype}},{key:"getOwsMethod",value:function(){return this.config.ows_method}},{key:"setProjection",value:function(){this.config.projection=s.default.get(0{var a,i={};for(a in e)0<=t.indexOf(a)||Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=e[a]);return i})(s,["force"]);l||(t=e.resolution,a=e.mapUnits,this.allLayers.forEach(function(e){return e.setDisabled(t,a),e.isDisabled()})),"XYZ"===this.config.type?this._olLayer.setVisible(this.layer.isVisible()):(s=this.layers.filter(function(e){return e.isVisible()&&(!u.layerId||u.layerId===e.getId())})||[]).length<=0?this._olLayer.setVisible(!1):(i=[],n=[],o=r=void 0,s.forEach(function(e){var t=(0,P.get_legend_params)(e),a=t.LEGEND_ON,t=t.LEGEND_OFF;i.push(e.getStyle()),n.push(parseInt(e.getOpacity()/100*255)),a&&(r=void 0===r?a:r+";"+a),t&&(o=void 0===o?t:o+";"+t)}),this._olLayer.setVisible(!0),this._olLayer.getSource().updateParams&&this._olLayer.getSource().updateParams(T({},u,{LEGEND_ON:r,LEGEND_OFF:o,filtertoken:C.default.tokens.filtertoken,LAYERS:(s[0].isArcgisMapserver()?"show:":"")+s.map(function(e){return e.getWMSLayerName()}).join(","),STYLES:i.join(","),OPACITIES:n.join(",")})))}},{key:"setupCustomMapParamsToLegendUrl",value:function(){var t=0{var t,a,i,n,r,o,s,l,u,c,d,p,f,g,h,y=v;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function v(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(v.__proto__||Object.getPrototypeOf(v)).call(this))),t=t.project||x.default.project,i=e.baselayer?"":t.getType()+"/"+t.getId()+"/"+e.id+"/",n=e.baselayer?"":t.state.vectorurl,r=e.baselayer?"":t.state.rasterurl,r=(a.config=Object.assign(e,m({id:e.id||"Layer",title:e.title||e.name,download:!!e.download,geolayer:!1,baselayer:!!e.baselayer,fields:e.fields||{},urls:m({query:e.infourl||e.wmsUrl},e.urls||{},e.baselayer?{}:{filtertoken:n+"filtertoken/"+i,data:n+"data/"+i,shp:n+"shp/"+i,csv:n+"csv/"+i,xls:n+"xls/"+i,gpx:n+"gpx/"+i,gpkg:n+"gpkg/"+i,geotiff:r+"geotiff/"+i,editing:n+"editing/"+i,commit:n+"commit/"+i,config:n+"config/"+i,unlock:n+"unlock/"+i,widget:{unique:n+"widget/unique/data/"+i},featurecount:t.getUrl("featurecount"),pdf:"/html2pdf/"})},e.baselayer?{}:{searchParams:{I:0,J:0}},{search_endpoint:"api"})),t.getRelations().filter(function(e){return[e.referencedLayer,e.referencingLayer].includes(a.getId())})),n=(a._relations={_relations:(r||[]).reduce(function(e){var t=1{var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this))).config={id:e.id||Date.now(),projection:e.projection,extent:e.extent,initextent:e.initextent,wmsUrl:e.wmsUrl,catalog:!0!==e.catalog&&!1!==e.catalog||e.catalog},t.state={layerstree:[],relations:null},t._isQueryable=!0!==e.queryable&&!1!==e.queryable||e.queryable,t._layers=t.config.layers||{},t.setters={setLayerSelected:function(t,a){this.getLayers().forEach(function(e){return e.state.selected=t===e.getId()&&a})},addLayers:function(){var t=this;(0{var t,a=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var r,e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,e,o))).setters={clearFeatures:function(){this._featuresstore.clearFeatures()},addFeature:function(e){this._featuresstore.addFeature(e)},updateFeature:function(e){this._featuresstore.updateFeature(e)},setFeatures:function(e){this._featuresstore.setFeatures(e)},setColor:function(e){this._color=e},getFeatures:function(){var t=this,a=0{var t=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(){var e=0{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t)))._mapLayer=null,a.type=f.Layer.LayerTypes.VECTOR,i=e.servertype+" "+(e.source&&e.source.type),a.setup(e,t),"G3WSUITE geojson"==i&&(a._g3w_geojson=!0,a.config.style=e.style,a.setup(e)),a;throw new TypeError("Cannot call a class as a function")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r(n,[{key:"getEditingLayer",value:function(){return this.getMapLayer().getOLLayer()}},{key:"resetEditingSource",value:function(){var e=0+this.tovalidate[e.validate.min_field].value:this.tovalidate[e.validate.max_field].validate.empty||+e.value<+this.tovalidate[e.validate.max_field].value,e.validate.valid&&(this.tovalidate[t].validate.valid=!0));this.valid=Object.values(this.tovalidate).reduce(function(e,t){return e&&t.validate.valid},!0)}},created:function(){this.tovalidate=[]},destroyed:function(){this.tovalidate=null}}},{}],165:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var e=e("services/gui"),i=(e=e)&&e.__esModule?e:{default:e};a.default={methods:{showLayer:function(){this.visible=!this.visible,this.layer.setVisible(this.visible)}},created:function(){var e=this.data,t=i.default.getService("map").getProjection().getCode(),a=void 0;switch(e.type){case"Point":case"MultiPoint":a=[new ol.style.Style({image:new ol.style.Circle({radius:6,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})}),new ol.style.Style({image:new ol.style.Circle({radius:2,fill:new ol.style.Fill({color:[255,255,255,1]}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})})];break;case"Line":case"MultiLineString":case"Polygon":case"MultiPolygon":a=new ol.style.Style({fill:new ol.style.Fill({color:"rgba(255, 255, 255, 0.3)"}),stroke:new ol.style.Stroke({color:[0,0,0,1],width:2})})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:(new ol.format.GeoJSON).readFeatures(e,{featureProjection:t})}),visible:!!this.visible,style:a}),i.default.getService("map").getMap().addLayer(this.layer)},beforeDestroy:function(){i.default.getService("map").getMap().removeLayer(this.layer)}}},{"services/gui":173}],166:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.mixins=a.autocompleteMixin=a.baseInputMixin=a.formInputsMixins=a.select2Mixin=a.selectMixin=a.resizeMixin=a.geoMixin=a.mediaMixin=a.fieldsMixin=void 0;var i=d(e("mixins/autocomplete")),n=d(e("mixins/fields")),r=d(e("mixins/media")),o=d(e("mixins/geo")),s=d(e("mixins/resize")),l=d(e("mixins/select")),u=d(e("mixins/select2")),c=d(e("mixins/form-inputs")),e=d(e("mixins/base-input"));function d(e){return e&&e.__esModule?e:{default:e}}var p={autocompleteMixin:i.default,fieldsMixin:n.default,mediaMixin:r.default,geoMixin:o.default,resizeMixin:s.default,selectMixin:l.default,select2Mixin:u.default,formInputsMixins:c.default,baseInputMixin:e.default};a.fieldsMixin=n.default,a.mediaMixin=r.default,a.geoMixin=o.default,a.resizeMixin=s.default,a.selectMixin=l.default,a.select2Mixin=u.default,a.formInputsMixins=c.default,a.baseInputMixin=e.default,a.autocompleteMixin=i.default,a.mixins=p,a.default=p},{"mixins/autocomplete":160,"mixins/base-input":161,"mixins/fields":163,"mixins/form-inputs":164,"mixins/geo":165,"mixins/media":167,"mixins/resize":168,"mixins/select":169,"mixins/select2":170}],167:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a.default={computed:{filename:function(){return this.value&&this.value.split("/").pop()}},methods:{isMedia:function(e){return!(!e||"object"!==(void 0===e?"undefined":i(e))||Object!==e.constructor||!e.mime_type)},getMediaType:function(e){var t={type:null,options:{}};switch(e){case"image/gif":case"image/png":case"image/jpeg":case"image/bmp":t.type="image";break;case"application/pdf":t.type="pdf";break;case"video/mp4":case"video/ogg":case"video/x-ms-wmv":case"video/x-msvideo":case"video/quicktime":t.type="video",t.options.format=e;break;case"application/gzip":case"application/zip":t.type="zip";break;case"application/msword":case"application/vnd.oasis.opendocument.text":t.type="text";break;case"application/vnd.ms-office":case"application/vnd.oasis.opendocument.spreadsheet":t.type="excel";break;case"application/vnd.openxmlformats-officedocument.presentationml.presentation":case"application/vnd.ms-powerpoint":case"application/vnd.oasis.opendocument.presentation":t.type="ppt";break;default:t.type="unknow"}return t}}}},{}],168:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=e("services/gui"),n=(i=i)&&i.__esModule?i:{default:i},i=e("utils/throttle"),e=e("utils/debounce");function r(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}var o,s={throttle:i.throttle,debounce:e.debounce};a.default={created:function(){var e=this.delayType&&s[this.delayType]||s.throttle;this.delayResize=this.resize?e(this.resize.bind(this),this.delayTime):null,n.default.on("resize",this.delayResize)},mounted:(o=r(function*(){yield this.$nextTick(),this.resize&&this.resize()}),function(){return o.apply(this,arguments)}),beforeDestroy:function(){n.default.off("resize",this.delayResize),this.delayResize=null,this.delayTime=null}}},{"services/gui":173,"utils/debounce":198,"utils/throttle":241}],169:[function(e,t,a){function i(e){return function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})}}var n,r;Object.defineProperty(a,"__esModule",{value:!0}),a.default={methods:{getLanguage:function(){return window.initConfig.user.i18n||"en"},changeSelect:(r=i(function*(e){this.state.value="null"===e?null:e,yield this.$nextTick(),this.change()}),function(e){return r.apply(this,arguments)}),getValue:function(e){return null===e?"null":e},resetValues:function(){this.state.input.options.values.splice(0)}},computed:{autocomplete:function(){return"select_autocomplete"===this.state.input.type&&this.state.input.options.usecompleter}},watch:{notvalid:(n=i(function*(e){yield this.$nextTick(),this.select2&&this.select2.data("select2").$container[e?"addClass":"removeClass"]("input-error-validation")}),function(e){return n.apply(this,arguments)})}}},{}],170:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=n(e("store/application")),e=n(e("mixins/resize"));function n(e){return e&&e.__esModule?e:{default:e}}a.default={mixins:[e.default],methods:{setValue:function(){this.select2.val(this.state.value).trigger("change")},resize:function(){this.select2&&!i.default.ismobile&&this.select2.select2("close")}},beforeDestroy:function(){this.select2&&(this.select2.select2("destroy"),this.select2.off(),this.select2=null)}}},{"mixins/resize":168,"store/application":178}],171:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var i=e("g3w-constants"),e=e("g3w-object");e=new((e=e)&&e.__esModule?e:{default:e}).default({setters:{online:function(){},offline:function(){}}});e.version=i.APP_VERSION,a.default=e},{"g3w-constants":126,"g3w-object":130}],172:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t{var a,i={};for(a in e)0<=t.indexOf(a)||Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=e[a]);return i})(t,["layer"]),i=(a.filter=[].concat(a.filter),a.page_size=(a.page_sizes||[])[0],[]),n=[];return{data:(yield Promise.allSettled([].concat(e).map(function(e,t){return e.searchFeatures(c({},a,{filter:a.filter[t]}))}))).filter(function(e){return"fulfilled"===e.status}).map(function(){var e,t=(0{var t,a,i,n,r,o,s,l,u=c;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function c(e){var t,a;if(this instanceof c)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,e))).setters={setContent:(a=L(function*(){var e,t=0 "+n+" "):$(n):n,$(i.parent).append(e),_.default.contentsdata.push({content:e,options:t})):(n.mount&&"function"==typeof n.mount?(-1!==(e=_.default.contentsdata.findIndex(function(e){return e.content.getId&&n.getId()===e.content.getId()}))&&(yield(0,k.promisify)(_.default.contentsdata[e].content.unmount()),_.default.contentsdata.splice(e,1)),yield(0,k.promisify)(n.mount(i.parent,t.append||!1)),$(i.parent).localize()):i.parent.appendChild(n),_.default.contentsdata.push({content:n,options:t})),Array.from(i.internalComponent.$el.children).forEach(function(e,t,a){return e.style.display=t===a.length-1?"block":"none"}),i.setOpen(!0),this._layoutComponents(a)}),function(){return a.apply(this,arguments)})},t.isready=!1,t.push_content=!1,t._closeUserMessage=!0,t.dialog=bootbox,t.notify={warning:function(e){t.showUserMessage({type:"warning",message:e,autoclose:1 "+t+" "):$(t):t,$(a).append(e),n.push({content:e,options:i})):(t.mount&&"function"==typeof t.mount?(-1!==(e=n.findIndex(function(e){return e.content.getId&&t.getId()===e.content.getId()}))&&(yield(0,k.promisify)(n[e].content.unmount()),n.splice(e,1)),yield(0,k.promisify)(t.mount(a,i.append||!1)),$(a).localize()):a.appendChild(t),n.push({content:t,options:i}))}),function(e){return r.apply(this,arguments)})},{key:"closePanel",value:(n=L(function*(){var e,t=_.default.sidebar.contentsdata;t.length<=0||((e=t.slice(-1)[0].content)instanceof v.default||e instanceof m.default?yield(0,k.promisify)(e.unmount()):$(_.default.sidebar.parent).empty(),t.pop(),(e=_.default.sidebar.contentsdata.at(-1))&&($(e.content.internalPanel.$el).show(),_.default.sidebar.title=e.content.title))}),function(){return n.apply(this,arguments)})},{key:"showUserMessage",value:function(){var e=0
')}},{key:"hideSpinner",value:function(){$("#"+(0{var t,a,i,n,r,o,s,u=c;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function c(){var t,a;if(this instanceof c)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(c.__proto__||Object.getPrototypeOf(c)).call(this))).state={mapUnits:"m",bbox:[],hidemaps:[],resolution:null,center:null,loading:!1,hidden:!0,scale:0,map_info:{info:null,style:null},mapunits:["metric"]},t._ready=new Promise(function(e){return t.once("viewerset",e)}),t.viewer=null,t.target="map",t.layersCount=0,t.project=y.default.project,t._controls=[],t._layers={base:{},g3w:[],external_wms:[],external_vector:[],external:[]},t._externalInteractions=[],t.defaultsLayers={mapcenter:new ol.layer.Vector({source:new ol.source.Vector,style:new ol.style.Style({image:new ol.style.Icon({opacity:1,src:"/static/client/images/mapcentermarker.svg",scale:.8})})}),_style:{highlightLayer:{color:void 0},selectionLayer:{color:"red"}},highlightLayer:new ol.layer.Vector({source:new ol.source.Vector,style:function(e){return[(0,x.createSelectedStyle)({geometryType:e.getGeometry().getType(),color:t.defaultsLayers._style.highlightLayer.color,fill:!0})]}}),selectionLayer:new ol.layer.Vector({source:new ol.source.Vector})},t.layersExtraParams={},t._drawShadow={type:"coordinate",outer:[],inner:[],scale:null,rotation:null,listener:null},t.config=window.initConfig,t._howManyAreLoading=0,t._marker=null,t.onLayerLoadStart=t.onLayerLoadStart.bind(t),t.onLayerLoadEnd=t.onLayerLoadEnd.bind(t),t.onLayerLoadError=t.onLayerLoadError.bind(t),t.onExtraParamsSet=t.onExtraParamsSet.bind(t),t.updateMapLayers=t.updateMapLayers.bind(t),t._keyEvents={ol:[],stores:[],unwatches:[]},t.project.onafter("setBaseLayer",t.updateMapLayers),t.debounces={setupCustomMapParamsToLegendUrl:{fnc:function(){t._setupCustomMapParamsToLegendUrl.apply(t,arguments)},delay:1e3}},t.setters={setupControls:function(){var s=this,e=this.config,t=e.header_terms_of_use_text,e=e.header_terms_of_use_link,a=!!t&&(e?''+t+"":''+t+"");if(this.getMapLayers().forEach(function(e){return e.getSource().setAttributions(a)}),(a||(0,k.getMapLayersByFilter)({BASELAYER:!0}).length)&&this.getMap().addControl(new ol.control.Attribution({collapsible:!1,target:"map_footer_left"})),this.config&&this.config.mapcontrols)return e=Array.isArray(this.config.mapcontrols)?this.config.mapcontrols.reduce(function(e,t){return e[t]={},e},{}):this.config.mapcontrols,Object.entries(e).forEach(function(e){var a,i,t,n,e=p(e,2),r=e[0],e=e[1],o=void 0===e?{}:e;switch(r){case"zoom":s.createMapControl(r);break;case"zoombox":isMobile.any||s.createMapControl(r,{}).on("zoomend",function(e){return s.viewer.fit(e.extent)});break;case"zoomtoextent":s.createMapControl(r,{options:{label:"",extent:s.project.state.initextent}});break;case"mouseposition":isMobile.any||(a="degrees"===s.getProjection().getUnits(),i=s.getEpsg(),n=s.createMapControl(r,{add:!(t=function(e,t){return"EPSG:4326"===e?ol.coordinate.format(ol.proj.transform(t,i,"EPSG:4326")," Lng: {x}, Lat: {y}   [EPSG:4326] ",4):ol.coordinate.format(t," "+(a?"Lng":"X")+": {x}, "+(a?"Lat":"Y")+": {y}   ["+e+"] ",a?4:2)}),options:{coordinateFormat:t.bind(null,i),undefinedHTML:!1,projection:s.getCrs()}}),"EPSG:4326"!==i&&n.on("change:epsg",function(e){return n.setCoordinateFormat(t.bind(null,e.epsg))}));break;case"screenshot":case"geoscreenshot":isMobile.any||(s.getMapControlByType("screenshot")?s.getMapControlByType("screenshot").addType(r):s.createMapControl("screenshot",{options:{types:[r],layers:[].concat(F(R.layers.getLayers()),F(s._layers.external))}}));break;case"scale":s.createMapControl(r,{add:!1,options:{coordinateFormat:ol.coordinate.createStringXY(4),projection:s.getCrs(),isMobile:isMobile.any}});break;case"query":s.createMapControl(r,{add:!0,toggled:!0});break;case"querybypolygon":case"querybbox":case"querybycircle":case"querybydrawpolygon":isMobile.any||(s.getMapControlByType("queryby")?s.getMapControlByType("queryby").addType(r):s.createMapControl("queryby",{options:{types:[r]}}));break;case"streetview":s.createMapControl(r,{});break;case"scaleline":s.createMapControl(r,{add:!1,options:{position:"br"}});break;case"overview":!isMobile.any&&window.initConfig.overviewproject&&(0,V.getProject)(window.initConfig.overviewproject).then(function(i){var a=s.getMap(),n=new ol.View(s._calculateViewOptions({project:i,width:200,height:150}));n.on("change:center",function(){var e=n.getCenter(),t=a.getView().constrainCenter(e);t[0]===e[0]&&t[1]===e[1]||n.setCenter(t)}),s.createMapControl(r,{add:!1,options:{view:n,position:"bl",collapsed:!1,className:"ol-overviewmap ol-custom-overviewmap",collapseLabel:$('')[0],label:$('')[0],layers:Object.entries(i.getLayersStore().getLayers({GEOLAYER:!0,BASELAYER:!1}).reduce(function(e,t){var a=t.getMultiLayerId();return e[a]=e[a]||[],e[a].push(t),e},{})||[]).map(function(e){var e=p(e,2),t=e[0],e=e[1],a=new(d("map/layers/imagelayer").RasterLayer)({url:i.state.WMSUrl,id:"overview_layer_"+t,tiled:e[0].state.tiled});return e.reverse().forEach(function(e){return a.addLayer(e)}),a.getOLLayer(!0)}).reverse()}}),document.querySelector(".g3w-map-controls-left-bottom").style.left="230px",new MutationObserver(function(e){e.forEach(function(e){"class"===e.attributeName&&(document.querySelector(".g3w-map-controls-left-bottom").style.left=e.target.classList.contains("ol-collapsed")?"50px":"230px")})}).observe(document.querySelector(".ol-custom-overviewmap"),{attributes:!0})}).catch(function(e){});break;case"geocoding":case"nominatim":s.createMapControl(r,{add:!1,options:{config:o}});break;case"geolocation":s.createMapControl(r).on("click",(0,T.throttle)(function(e){return s.showMarker(e.coordinates)}));break;case"addlayers":isMobile.any||s.createMapControl(r,{}).on("addlayer",function(){return s.showAddLayerModal()});break;case"length":case"area":isMobile.any||(s.getMapControlByType("measure")?s.getMapControlByType("measure").addType(r):s.createMapControl("measure",{options:{name:"measure",tipLabel:"sdk.mapcontrols.measures.title",types:[r],interactionClassOptions:{projection:s.getProjection(),help:"sdk.mapcontrols.measures."+r+".help"}}}));break;case"zoomhistory":$(".g3w-map-controls-left-bottom").append(s.createMapControl(r,{add:!1}).element)}}),this.getMapControls()},addHideMap:function(){var e=(0'),this.viewer.map.getInteractions().forEach(function(e){return d._watchInteraction(e)}),this.viewer.map.getInteractions().on("add",function(e){return d._watchInteraction(e.element)}),this._marker=new ol.Overlay({position:null,positioning:"center-center",element:document.getElementById("marker"),stopEvent:!1}),this.viewer.map.addOverlay(this._marker),this.viewer.map.getLayers().on("add",function(e){e=d.setLayerZIndex({layer:e.element,zindex:e.element.get("basemap")||"bottom"===e.element.get("position")?0:void 0});d.defaultsLayers.mapcenter&&d.defaultsLayers.mapcenter.setZIndex(e+1),d.defaultsLayers.highlightLayer&&d.defaultsLayers.highlightLayer.setZIndex(e+1),d.defaultsLayers.selectionLayer&&d.defaultsLayers.selectionLayer.setZIndex(e+2)}),this.viewer.map.getLayers().on("remove",function(e){e.element.getZIndex()===d.layersCount&&d.layersCount--}),this.state.bbox=this.getMapBBOX(),this.state.resolution=this.viewer.getResolution(),this.state.center=this.viewer.getCenter(),this._setupAllLayers(),this.setUpMapOlEvents(),R.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this)),R.layers.onafter("addLayersStore",this._setUpEventsKeysToLayersStore.bind(this)),R.layers.onafter("removeLayersStore",this._removeEventsKeysToLayersStore.bind(this)),this.emit("viewerset"),this.setupControls(),this.emit("ready"))}),function(e,t){return a.apply(this,arguments)}),controlClick:function(e){},loadExternalLayer:function(e){},unloadExternalLayer:function(e){}},t.on("extraParamsSet",t.onExtraParamsSet),t;throw new TypeError("Cannot call a class as a function")}return u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(u,e):u.__proto__=e),f(c,[{key:"onExtraParamsSet",value:function(t,e){var a=this;e&&this.getMapLayers().forEach(function(e){return e.update(a.state,t)})}},{key:"onLayerLoadStart",value:function(){0===this._howManyAreLoading&&(this.emit("loadstart"),O.default.showSpinner({container:$("#map-spinner"),id:"maploadspinner",style:"transparent"})),this._howManyAreLoading+=1}},{key:"onLayerLoadEnd",value:function(){--this._howManyAreLoading,0===this._howManyAreLoading&&(this.emit("loadend"),O.default.hideSpinner("maploadspinner"))}},{key:"onLayerLoadError",value:function(){this.project.state.show_load_layer_error&&(this.onLayerLoadError.shown||(O.default.notify.warning("sdk.errors.layers.load"),this.onLayerLoadError.shown=!0),this.onLayerLoadEnd())}},{key:"isReady",value:function(){return this._ready}},{key:"setUpMapOlEvents",value:function(){var e=this,t=this.project.state.context_base_legend;this._keyEvents.ol.forEach(function(e){return ol.Observable.unByKey(e)}),this._keyEvents.ol.push(this.viewer.map.getView().on("change:resolution",function(){e.state.bbox=e.getMapBBOX(),e.state.resolution=e.viewer.getResolution(),e.state.center=e.viewer.getCenter(),e.updateMapLayers(),t&&e.setupCustomMapParamsToLegendUrl()})),t?this._keyEvents.ol.push(this.viewer.map.on("moveend",function(){return e.setupCustomMapParamsToLegendUrl()})):this.setupCustomMapParamsToLegendUrl()}},{key:"clear",value:function(){this.removeListener("extraParamsSet",this.onExtraParamsSet),this._keyEvents.ol.forEach(function(e){return ol.Observable.unByKey(e)}),this._keyEvents.ol.splice(0),R.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this))}},{key:"_addHideMap",value:function(){var e=0{var a,r,n,t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var t,a;if(this instanceof i)return(t=((e,t)=>{if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")})(this,(i.__proto__||Object.getPrototypeOf(i)).call(this))).setters={setQueryResponse:function(a){var i,n,b=this,e=1a._projectLayerIds.indexOf(t.id)?1:-1}),e.forEach(function(e,t){e.filter.pagination=e.filter.pagination||!!(a.state.query.pagination&&a.state.query.pagination.counts[t]>e.features.length),i.add||i.update?a.updateLayerResultFeatures(e,i.update):a.state.layers.push(e)}),this.setActionsForLayers(e,{add:i.add,update:i.update}),this.state.changed=!0},addComponent:function(e){this.state.components.push(e)},addActionsForLayers:function(e,t){},postRender:function(e){},closeComponent:function(){},changeLayerResult:function(i){var n=this;this.state.layersactions[i.id].forEach(function(e){return e.change&&e.change(i)}),(i.features||[]).forEach(function(e,t){var a=n.state.currentactiontools[i.id];void 0!==a&&(void 0===a[t]&&Vue.set(a,t,null),a[t]=null)})},activeMapInteraction:function(){},editFeature:function(){var e=0{if(Array.isArray(e)){for(var t=0,a=Array(e.length);t')+'
"}),x.default.showModalDialog({title:O("sdk.atlas.template_dialog.title"),message:i,buttons:{success:{label:"OK",className:"skin-button",callback:function(){var e=$('input[name="template"]:checked').attr("g3w_atlas_index");if(void 0===e)return!1;a._printSingleAtlas({features:n,atlas:r[e]})}}}}))}},{key:"showLayerDownloadFormats",value:function(e){e.downloadformats.active=!e.downloadformats.active,this.setLayerActionTool({layer:e,component:e.downloadformats.active?f.default:null,config:e.downloadformats.active?w({},this.state.actiontools.downloadformats[e.id],{downloads:this.state.actiontools.downloadformats[e.id].downloads.filter(function(e){return"pdf"!==e.format})}):null})}},{key:"downloadFeatures",value:(a=P(function*(t,a){var e,i=22":(Math.round(100*r)/100).toFixed(3)+" m2"),u.innerHTML=(void 0!==r?"Area: "+r+"
":"")+(void 0!==r&&void 0!==i?'
':"")+(void 0!==i?i:""),c.setPosition(t)})}};var a=e("store/application"),d=(a=a)&&a.__esModule?a:{default:a},p=e("utils/isLineGeometryType"),f=e("utils/isPolygonGeometryType"),g=e("utils/isMultiGeometry")},{"store/application":178,"utils/isLineGeometryType":223,"utils/isMultiGeometry":224,"utils/isPolygonGeometryType":226}],194:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.createRelationsUrl=function(e){var t=e.layer,t=void 0===t?{}:t,a=e.relation,a=void 0===a?{}:a,i=e.fid,n=e.type,n=void 0===n?"data":n,e=e.formatter,e=void 0===e?1:e;return r.default.project.getLayerById(void 0===a.father?t.id===a.referencedLayer?a.referencingLayer:a.referencedLayer:t.id===a.father?a.child:a.father).getUrl(n)+"?relationonetomany="+a.id+"|"+(0,o.sanitizeFidFeature)(i)+"&formatter="+e};var a=e("store/application"),r=(a=a)&&a.__esModule?a:{default:a},o=e("utils/sanitizeFidFeature")},{"store/application":178,"utils/sanitizeFidFeature":238}],195:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.createSelectedStyle=function(){var e=0{if(Array.isArray(e)){for(var t=0,a=Array(e.length);t\n \n ',data:function(){return{errors:s}}}},autoclose:!1}),u.length?new ol.layer.Vector({source:new ol.source.Vector({features:u}),name:a,_fields:"csv"===i?o.headers:Object.keys(u[0].getProperties()).filter(function(e){return c.GEOMETRY_FIELDS.indexOf(e)<0}),id:(0,d.getUniqueDomId)(),style:t}):Promise.reject()},n=function(){var s=i.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})},function(){return n.apply(this,arguments)});var i,n,c=e("g3w-constants"),d=e("utils/getUniqueDomId")},{"g3w-constants":126,"utils/getUniqueDomId":217}],198:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.debounce=function(i){var n=1{var a=i[t];void 0!==a.id&&r.state.layers.forEach(function(e){if(a.id===e.id)return a.name=e.name,e.wmsUrl=r.state.WMSUrl,e.project=r,a[t]=Object.assign(e,a),!1}),Array.isArray(a.nodes)&&(a.title=a.name,e(a.nodes))})(t)}((r=Object.assign(new u.default,{setters:{setBaseLayer:function(t){var a=this;window.initConfig.baselayers.forEach(function(e){a._layersStore.getLayerById(e.id).setVisible(t===e.id),e.visible=t===e.id})}},state:m[a],urls:{map_themes:"/"+m[a].type+"/api/prjtheme/"+m[a].id+"/",vector_data:m[a].vectorurl+"data/"+m[a].type+"/"+m[a].id+"/",featurecount:m[a].vectorurl+"featurecount/"+m[a].type+"/"+m[a].id+"/"},_projection:d.default.get(_(m[a].crs)),_layersStore:new y.LayersStore,getQueryPointTolerance:function(){return r.state.query_point_tolerance},getRelations:function(){return r.state.relations},getRelationById:function(t){return r.state.relations.find(function(e){return t===e.id})},getLayerById:function(e){return r._layersStore.getLayerById(e)},getLayers:function(){return[].concat(v(r.state.layers),v(r.state.baselayers))},getState:function(){return r.state},getPrint:function(){return r.state.print||[]},getId:function(){return r.state.id},getType:function(){return r.state.type},getGid:function(){return r.state.gid},getName:function(){return r.state.name},getCrs:function(){return r._projection.getCode()},getProjection:function(){return r._projection},getLayersStore:function(){return r._layersStore},getUrl:function(e){return r.urls[e]},getConfigLayers:function(){var t=(0{e=function*(t){try{t.resolve(yield a instanceof Promise?a:a())}catch(e){t.reject(e)}};var e,t=function(){var s=e.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})};return function(e){return t.apply(this,arguments)}})()).promise()}},{}],233:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.prompt=void 0;a.prompt=(i=function*(e){var t=e.value,a=e.label,e=e.callback,i={value:t,id:(0,o.getUniqueDomId)()},n=new Vue({template:'\n
\n \n \n
',data:function(){return i}});new Promise(function(e,t){var a=r.default.showModalDialog({message:n.$mount().$el,closeButton:!1,buttons:{ok:{label:"Ok",className:"btn-success",callback:function(){return e(i.value)}},cancel:{label:"Cancel",className:"btn-danger",callback:function(){return t()}}}}).find("button.btn-success");a.prop("disabled",0===i.value.trim().length),n.$watch("value",function(e){a.prop("disabled",0===e.trim().length)})}).then(e).catch(function(e){}).finally(function(){n.$destroy(),i=n=null})},n=function(){var s=i.apply(this,arguments);return new Promise(function(r,o){return function t(e,a){try{var i=s[e](a),n=i.value}catch(e){return void o(e)}if(!i.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});r(n)}("next")})},function(e){return n.apply(this,arguments)});var i,n,a=e("services/gui"),r=(a=a)&&a.__esModule?a:{default:a},o=e("utils/getUniqueDomId")},{"services/gui":173,"utils/getUniqueDomId":217}],234:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.removeMeasureTooltip=function(e){var t=e.map,a=e.tooltip,e=e.unbyKey;t.removeOverlay(a),ol.Observable.unByKey(e)}},{}],235:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.removeZValueToOLFeatureGeometry=function(){var e=(0{var e=v.split,t=v.feature,i=void 0!==t.getCoordinates()[0][2],a=!1,n=[],r=new jsts.io.WKTReader,o=new ol.format.WKT,s=new jsts.io.OL3Parser,l=r.read(o.writeGeometry(e)),e=o.writeGeometry(t);i&&(e=e.replace(" Z",""));for(var u=(o=r.read(e)).getCoordinates(),c=new jsts.geom.GeometryFactory,d=[],p=void 0,f=void 0,g=0;g 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],2:[function(require,module,exports){\nvar inserted = exports.cache = {}\n\nfunction noop () {}\n\nexports.insert = function (css) {\n if (inserted[css]) return noop\n inserted[css] = true\n\n var elem = document.createElement('style')\n elem.setAttribute('type', 'text/css')\n\n if ('textContent' in elem) {\n elem.textContent = css\n } else {\n elem.styleSheet.cssText = css\n }\n\n document.getElementsByTagName('head')[0].appendChild(elem)\n return function () {\n document.getElementsByTagName('head')[0].removeChild(elem)\n inserted[css] = false\n }\n}\n\n},{}],3:[function(require,module,exports){\nvar _FieldText = require('components/FieldText.vue');\n\nvar _FieldText2 = _interopRequireDefault(_FieldText);\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldImage = require('components/FieldImage.vue');\n\nvar _FieldImage2 = _interopRequireDefault(_FieldImage);\n\nvar _FieldGeo = require('components/FieldGeo.vue');\n\nvar _FieldGeo2 = _interopRequireDefault(_FieldGeo);\n\nvar _FieldMedia = require('components/FieldMedia.vue');\n\nvar _FieldMedia2 = _interopRequireDefault(_FieldMedia);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n simple_field: _FieldText2.default,\n text_field: _FieldText2.default,\n link_field: _FieldLink2.default,\n image_field: _FieldImage2.default,\n geo_field: _FieldGeo2.default,\n photo_field: _FieldImage2.default,\n media_field: _FieldMedia2.default,\n vue_field: _FieldVue2.default\n};\n\n},{\"components/FieldGeo.vue\":44,\"components/FieldImage.vue\":45,\"components/FieldLink.vue\":46,\"components/FieldMedia.vue\":47,\"components/FieldText.vue\":48,\"components/FieldVue.vue\":49}],4:[function(require,module,exports){\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _toRawType = require('utils/toRawType');\n\nvar Fields = require('./fields');\n\nmodule.exports = {\n /**\n * Get Type field from field value\n * field: Object contains the value of the field\n * @param field\n * @returns {string}\n */\n getType: function getType(field) {\n var type = field.type;\n if ('vue' !== type) {\n var fieldValue = field.value;\n var value = fieldValue && 'Object' === (0, _toRawType.toRawType)(fieldValue) && !fieldValue.coordinates && !fieldValue.vue ? fieldValue.value : fieldValue;\n if (!value) {\n type = 'simple';\n } else if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n if (value.coordinates) {\n type = 'geo';\n } else if (value.vue) {\n type = 'vue';\n }\n } else if (value && Array.isArray(value)) {\n if (value.length && value[0].photo) {\n type = 'photo';\n } else {\n type = 'simple';\n }\n } else if (value.toString().toLowerCase().match(/[^\\s]+.(png|jpg|jpeg|gif)$/g)) {\n type = 'photo';\n } else if (value.toString().match(/^(https?:\\/\\/[^\\s]+)/g)) {\n type = 'link';\n } else {\n type = 'simple';\n }\n }\n return type + '_field';\n },\n isSimple: function isSimple(field) {\n return 'simple_field' === this.getType(field);\n },\n isLink: function isLink(field) {\n return 'link_field' === this.getType(field);\n },\n isImage: function isImage(field) {\n return 'image_field' === this.getType(field);\n },\n isPhoto: function isPhoto(field) {\n return 'photo_field' === this.getType(field);\n },\n isVue: function isVue(field) {\n return 'vue_field' === this.getType(field);\n },\n\n /**\n * Method to add a new field type to Fields\n * @param type\n * @param field\n */\n add: function add(_ref) {\n var type = _ref.type,\n field = _ref.field;\n\n Fields[type] = field;\n },\n\n /**\n * Remove field from a Fields list\n * @param type\n */\n remove: function remove(type) {\n delete Fields[type];\n }\n};\n\n},{\"./fields\":3,\"utils/toRawType\":242}],5:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(CheckBoxService, _Service);\n\n function CheckBoxService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, CheckBoxService);\n\n opts.validatorOptions = {\n values: opts.state.input.options.values.map(function (v) {\n return v;\n })\n };\n return _possibleConstructorReturn(this, (CheckBoxService.__proto__ || Object.getPrototypeOf(CheckBoxService)).call(this, opts));\n }\n\n return CheckBoxService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],6:[function(require,module,exports){\nvar _InputCheckbox = require('components/InputCheckbox.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputCheckbox);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar CheckBoxInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = CheckBoxInput;\n\n},{\"components/InputCheckbox.vue\":63}],7:[function(require,module,exports){\nvar _InputColor = require('components/InputColor.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputColor.vue\":64}],8:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _convertQGISDateTimeFormatToMoment2 = require('utils/convertQGISDateTimeFormatToMoment');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(DateTimePickerService, _Service);\n\n function DateTimePickerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, DateTimePickerService);\n\n var _this = _possibleConstructorReturn(this, (DateTimePickerService.__proto__ || Object.getPrototypeOf(DateTimePickerService)).call(this, opts));\n\n _this.validatorOptions = {};\n return _this;\n }\n\n _createClass(DateTimePickerService, [{\n key: 'getLocale',\n value: function getLocale() {\n return window.initConfig.user.i18n ? window.initConfig.user.i18n : 'en';\n }\n }, {\n key: 'convertQGISDateTimeFormatToMoment',\n value: function convertQGISDateTimeFormatToMoment(datetimeformat) {\n return (0, _convertQGISDateTimeFormatToMoment2.convertQGISDateTimeFormatToMoment)(datetimeformat);\n }\n }, {\n key: 'setValidatorOptions',\n value: function setValidatorOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.validatorOptions = opts;\n }\n }]);\n\n return DateTimePickerService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/convertQGISDateTimeFormatToMoment\":187}],9:[function(require,module,exports){\nvar _InputDateTimePicker = require('components/InputDateTimePicker.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputDateTimePicker);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar DateTimePickerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = DateTimePickerInput;\n\n},{\"components/InputDateTimePicker.vue\":65}],10:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(FloatService, _Service);\n\n function FloatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FloatService);\n\n return _possibleConstructorReturn(this, (FloatService.__proto__ || Object.getPrototypeOf(FloatService)).call(this, opts));\n }\n\n return FloatService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],11:[function(require,module,exports){\nvar _InputFloat = require('components/InputFloat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputFloat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar FloatInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = FloatInput;\n\n},{\"components/InputFloat.vue\":66}],12:[function(require,module,exports){\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _InputBase = require('components/InputBase.vue');\n\nvar _InputBase2 = _interopRequireDefault(_InputBase);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputServices = require('./services');\n\nvar Input = {\n props: ['state'],\n mixins: [_mixins.baseInputMixin],\n components: {\n 'baseinput': _InputBase2.default\n },\n watch: {\n 'notvalid': function notvalid(_notvalid) {\n if (_notvalid) {\n this.service.setErrorMessage();\n }\n },\n 'state.value': function stateValue() {\n var _this = this;\n\n if (undefined !== this.state.input.options.default_expression) {\n // need to postpone state.value watch parent that use mixin\n setTimeout(function () {\n return _this.change();\n });\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.service = new InputServices[this.state.input.type]({ state: this.state });\n\n this.$watch(function () {\n return _application2.default.language;\n }, _asyncToGenerator(function* () {\n if (_this2.state.visible) {\n _this2.state.visible = false;\n _this2.service.setErrorMessage();\n yield _this2.$nextTick();\n _this2.state.visible = true;\n }\n }));\n\n if (this.state.editable && this.state.validate.required) {\n this.service.validate();\n }\n\n this.$emit('addinput', this.state);\n /**\n * in case of input value is fill with default value option we need to emit changeinput event\n * without check validation. Example:\n * {\n \"name\": \"id\",\n \"type\": \"integer\",\n \"label\": \"id\",\n \"editable\": false,\n \"validate\": {\n \"required\": true,\n \"unique\": true\n },\n \"pk\": true,\n \"default\": \"nextval('g3wsuite.zone_id_seq'::regclass)\",\n \"input\": {\n \"type\": \"text\",\n \"options\": {}\n }\n }\n in this case if we start a validation, it fail because default value is a string while input is interger\n */\n if (this.state.value_from_default_value) {\n this.$emit('changeinput', this.state);\n }\n },\n destroyed: function destroyed() {\n // emit remove input to form (in case for example tab visibility condition)\n this.$emit('removeinput', this.state);\n }\n};\n\nmodule.exports = Input;\n\n},{\"./services\":28,\"components/InputBase.vue\":62,\"mixins\":166,\"store/application\":178}],13:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(IntegerService, _Service);\n\n function IntegerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, IntegerService);\n\n return _possibleConstructorReturn(this, (IntegerService.__proto__ || Object.getPrototypeOf(IntegerService)).call(this, opts));\n }\n\n return IntegerService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],14:[function(require,module,exports){\nvar _InputInteger = require('components/InputInteger.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputInteger);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar IntegerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = IntegerInput;\n\n},{\"components/InputInteger.vue\":69}],15:[function(require,module,exports){\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(LonLatService, _Service);\n\n function LonLatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LonLatService);\n\n var _this = _possibleConstructorReturn(this, (LonLatService.__proto__ || Object.getPrototypeOf(LonLatService)).call(this, opts));\n\n _this.coordinatebutton;\n _this.mapService = _gui2.default.getService('map');\n _this.mapEpsg = _this.mapService.getCrs();\n\n _this.mapControlToggleEventHandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n _this.coordinatebutton.active && _this.toggleGetCoordinate();\n }\n };\n _this.map = _this.mapService.getMap();\n _this.outputEpsg = _this.state.epsg || _this.mapEpsg;\n //Store event map key\n _this.eventMapKey;\n return _this;\n }\n\n _createClass(LonLatService, [{\n key: 'setCoordinateButtonReactiveObject',\n value: function setCoordinateButtonReactiveObject(coordinatebutton) {\n this.coordinatebutton = coordinatebutton;\n }\n }, {\n key: 'validate',\n value: function validate() {\n if (this.state.values.lon < -180) {\n this.state.values.lon = -180;\n } else if (this.state.values.lon > 180) {\n this.state.values.lon = 180;\n }\n if (this.state.values.lat < -90) {\n this.state.values.lon = -90;\n } else if (this.state.values.lat > 90) {\n this.state.values.lon = 90;\n }\n\n this.state.validate.valid = !Number.isNaN(1 * this.state.values.lon);\n }\n }, {\n key: 'toggleGetCoordinate',\n value: function toggleGetCoordinate() {\n this.coordinatebutton.active = !this.coordinatebutton.active;\n this.coordinatebutton.active ? this.startToGetCoordinates() : this.stopToGetCoordinates();\n }\n }, {\n key: 'startToGetCoordinates',\n value: function startToGetCoordinates() {\n var _this2 = this;\n\n this.mapService.deactiveMapControls();\n this.mapService.on('mapcontrol:toggled', this.mapControlToggleEventHandler);\n this.eventMapKey = this.map.on('click', function (evt) {\n evt.originalEvent.stopPropagation();\n evt.preventDefault();\n var coordinate = _this2.mapEpsg !== _this2.outputEpsg ? ol.proj.transform(evt.coordinate, _this2.mapEpsg, _this2.outputEpsg) : evt.coordinate;\n _this2.state.value = [coordinate];\n\n var _coordinate = _slicedToArray(coordinate, 2),\n lon = _coordinate[0],\n lat = _coordinate[1];\n\n _this2.state.values.lon = lon;\n _this2.state.values.lat = lat;\n });\n }\n }, {\n key: 'stopToGetCoordinates',\n value: function stopToGetCoordinates() {\n ol.Observable.unByKey(this.eventMapKey);\n this.mapService.off('mapcontrol:toggled', this.mapControlToggleEventHandler);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stopToGetCoordinates();\n }\n }]);\n\n return LonLatService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"services/gui\":173}],16:[function(require,module,exports){\nvar _InputLonLat = require('components/InputLonLat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputLonLat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar LatLontInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = LatLontInput;\n\n},{\"components/InputLonLat.vue\":70}],17:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(MediaService, _Service);\n\n function MediaService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediaService);\n\n return _possibleConstructorReturn(this, (MediaService.__proto__ || Object.getPrototypeOf(MediaService)).call(this, opts));\n }\n\n return MediaService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],18:[function(require,module,exports){\nvar _InputMedia = require('components/InputMedia.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputMedia);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar MediaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = MediaInput;\n\n},{\"components/InputMedia.vue\":71}],19:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _pickfeatureinteraction = require('map/interactions/pickfeatureinteraction');\n\nvar _pickfeatureinteraction2 = _interopRequireDefault(_pickfeatureinteraction);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n function PickLayerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickLayerService);\n\n this.pick_type = opts.pick_type || 'wms';\n this.ispicked = false;\n this.fields = opts.fields || [opts.value];\n this.layerId = opts.layer_id;\n this.mapService = _gui2.default.getService('map');\n this.interaction = 'map' === this.pick_type ? new _pickfeatureinteraction2.default({\n layers: [this.mapService.getLayerById(this.layerId)]\n }) : new _pickcoordinatesinteraction2.default();\n }\n\n /**\n *\n * @return {boolean|*}\n */\n\n\n _createClass(PickLayerService, [{\n key: 'isPicked',\n value: function isPicked() {\n return this.ispicked;\n }\n }, {\n key: 'escKeyUpHandler',\n\n\n /**\n * bind interrupt event\n */\n value: function escKeyUpHandler(_ref) {\n var keyCode = _ref.keyCode,\n owner = _ref.data.owner;\n\n if (27 === keyCode) {\n owner.unpick();\n }\n }\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n $(document).on('keyup', { owner: this }, this.escKeyUpHandler);\n }\n }, {\n key: 'pick',\n\n\n /**\n *\n * @return {Promise}\n */\n value: function pick() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this.bindEscKeyUp();\n var values = {};\n _this.ispicked = true;\n var afterPick = function afterPick(feature) {\n if (feature) {\n var attributes = feature.getProperties();\n //filter eventually null or undefined field\n _this.fields.filter(function (f) {\n return f;\n }).forEach(function (field) {\n return values[field] = attributes[field];\n });\n resolve(values);\n } else {\n reject();\n }\n _this.ispicked = false;\n _this.unpick();\n };\n _gui2.default.setModal(false);\n _this.mapService.addInteraction(_this.interaction);\n\n _this.interaction.once('picked', function (e) {\n if ('map' === _this.pick_type) {\n var feature = e.feature;\n afterPick(feature);\n } else if ('wms' === _this.pick_type) {\n var layer = _gui2.default.getService('map').getProjectLayer(_this.layerId);\n if (layer) {\n _data2.default.getQueryLayersPromisesByCoordinates([layer], {\n map: _this.mapService.getMap(),\n feature_count: 1,\n coordinates: e.coordinate\n }).then(function (response) {\n var _response$0$data = response[0].data,\n data = _response$0$data === undefined ? [] : _response$0$data;\n\n var feature = data.length && data[0].features[0] || null;\n afterPick(feature);\n }).fail(function (e) {\n return console.warn(e);\n });\n }\n }\n });\n });\n }\n }, {\n key: 'unpick',\n\n\n /**\n *\n */\n value: function unpick() {\n this.mapService.removeInteraction(this.interaction);\n _gui2.default.setModal(true);\n this.unbindEscKeyUp();\n this.ispicked = false;\n }\n }, {\n key: 'clear',\n\n\n /**\n *\n */\n value: function clear() {\n if (this.isPicked()) {\n this.unpick();\n }\n this.mapService = this.interaction = this.field = null;\n }\n }]);\n\n return PickLayerService;\n}();\n\n},{\"map/interactions/pickcoordinatesinteraction\":150,\"map/interactions/pickfeatureinteraction\":151,\"services/data\":172,\"services/gui\":173}],20:[function(require,module,exports){\nvar _InputPickLayer = require('components/InputPickLayer.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputPickLayer);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PickLayerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = PickLayerInput;\n\n},{\"components/InputPickLayer.vue\":72}],21:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RadioService, _Service);\n\n function RadioService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RadioService);\n\n return _possibleConstructorReturn(this, (RadioService.__proto__ || Object.getPrototypeOf(RadioService)).call(this, opts));\n }\n\n return RadioService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],22:[function(require,module,exports){\nvar _InputRadio = require('components/InputRadio.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRadio);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RadioInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RadioInput;\n\n},{\"components/InputRadio.vue\":73}],23:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RangeService, _Service);\n\n function RangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RangeService);\n\n var _opts$state$input$opt = opts.state.input.options.values[0],\n min = _opts$state$input$opt.min,\n max = _opts$state$input$opt.max;\n\n opts.state.info = '[MIN: ' + min + ' - MAX: ' + max + ']';\n\n var _this = _possibleConstructorReturn(this, (RangeService.__proto__ || Object.getPrototypeOf(RangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * min && value <= 1 * max;\n }\n });\n return _this;\n }\n\n _createClass(RangeService, [{\n key: 'isValueInRange',\n value: function isValueInRange(value, min, max) {\n return value <= max && value >= min;\n }\n }]);\n\n return RangeService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],24:[function(require,module,exports){\nvar _InputRange = require('components/InputRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputRange.vue\":74}],25:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(SelectService, _Service);\n\n function SelectService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SelectService);\n\n var _this = _possibleConstructorReturn(this, (SelectService.__proto__ || Object.getPrototypeOf(SelectService)).call(this, opts));\n\n _this.layer = null;\n return _this;\n }\n\n _createClass(SelectService, [{\n key: '_getLayerById',\n value: function _getLayerById(layer_id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer_id);\n }\n }, {\n key: 'addValue',\n value: function addValue(value) {\n this.state.input.options.values.push(value);\n }\n }, {\n key: 'sortValues',\n value: function sortValues() {\n var orderbyvalue = this.state.input.options.orderbyvalue;\n\n this.state.input.options.values.sort(function (a, b) {\n var val1 = a[orderbyvalue ? 'value' : 'key'];\n var val2 = b[orderbyvalue ? 'value' : 'key'];\n if (val1 < val2) {\n return -1;\n }\n if (val1 > val2) {\n return 1;\n }\n return 0;\n });\n }\n }, {\n key: 'getKeyByValue',\n value: function getKeyByValue() {\n var _this2 = this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n search = _ref.search;\n\n var _state$input$options = this.state.input.options,\n value = _state$input$options.value,\n key = _state$input$options.key;\n\n return new Promise(function (resolve, reject) {\n _this2.getData({\n key: key,\n value: value,\n search: search\n }).then(function (values) {\n values.forEach(function (_ref2) {\n var key = _ref2.$value,\n value = _ref2.text;\n\n _this2.addValue({\n key: key,\n value: value\n });\n });\n _this2.sortValues();\n resolve(_this2.state.input.options.values);\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }, {\n key: 'getData',\n\n\n /**\n *\n * @param layer_id\n * @param key\n * @param value\n * @param search\n * @return {Promise}\n */\n value: function getData() {\n var _this3 = this;\n\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$layer_id = _ref3.layer_id,\n layer_id = _ref3$layer_id === undefined ? this.state.input.options.layer_id : _ref3$layer_id,\n _ref3$key = _ref3.key,\n key = _ref3$key === undefined ? this.state.input.options.key : _ref3$key,\n _ref3$value = _ref3.value,\n value = _ref3$value === undefined ? this.state.input.options.value : _ref3$value,\n search = _ref3.search;\n\n return new Promise(function (resolve, reject) {\n var _this3$_layer$getData;\n\n if (!_this3._layer) {\n _this3._layer = _this3._getLayerById(layer_id);\n }\n _this3._layer.getDataTable((_this3$_layer$getData = {}, _defineProperty(_this3$_layer$getData, Array.isArray(search) ? 'field' : 'suggest', Array.isArray(search) //take in account multiselect value\n ? search.map(function (_, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: key, value: search[j], operator: \"eq\", logicop: null });\n }).join('|OR,') || '' : (key + '|' + search).trim()), _defineProperty(_this3$_layer$getData, 'ordering', _this3.state.input.options.orderbyvalue ? value : key), _this3$_layer$getData)).then(function (response) {\n var values = response.features.map(function (f) {\n return {\n text: f.properties[key],\n id: f.properties[value],\n $value: f.properties[value]\n };\n });\n resolve(values);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }]);\n\n return SelectService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203}],26:[function(require,module,exports){\nvar _InputSelect = require('components/InputSelect.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSelect);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar SelectInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = SelectInput;\n\n},{\"components/InputSelect.vue\":75}],27:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toRawType = require('utils/toRawType');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar Validators = {\n\n validators: {\n float: function float() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return !Number.isNaN(Number(1 * value));\n };\n },\n\n\n /**\n * @since v3.10.0\n * @param options\n */\n bigint: function bigint() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n value = 1 * value;\n return !Number.isNaN(value) ? value <= Number.MAX_SAFE_INTEGER : false;\n };\n },\n integer: function integer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n var integer = 1 * value;\n return !Number.isNaN(integer) ? Number.isSafeInteger(integer) && integer <= 2147483647 : false;\n };\n },\n checkbox: function checkbox() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return (this.options.values || []).includes(value);\n };\n },\n datetimepicker: function datetimepicker() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value, options) {\n return moment(value, options.fielddatetimeformat, true).isValid();\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n char: function char(options) {\n this.options = options;\n this.validate = function (value) {\n return value && 1 === ('' + value).length;\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n varchar: function varchar() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n text: function text() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n string: function string() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n radio: function radio() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n default: function _default() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n range: function range() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var min = options.min,\n max = options.max;\n\n this.validate = function (value) {\n value = 1 * value;\n return value >= min && value <= max;\n };\n }\n },\n\n get: function get(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return new (this.validators[type] || this.validators.default)(options);\n }\n};\n\nmodule.exports = function () {\n function Service() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Service);\n\n // set state of input\n this.state = options.state || {};\n // type of input\n //this.state.validate.required && this.setValue(this.state.value);\n /*\n * set starting value of input based on value or default value on options\n */\n this.setValue(this.state.value);\n this.setEmpty(this.state.value);\n var type = this.state.type;\n var validatorOptions = options.validatorOptions || this.state.input.options || {};\n // useful for the validator to validate input\n this._validator = Validators.get(type, validatorOptions);\n this.setErrorMessage();\n }\n\n _createClass(Service, [{\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: 'getValue',\n value: function getValue() {\n return this.state.value;\n }\n }, {\n key: 'setValue',\n\n\n /**\n * @param value\n *\n * @returns {void}\n */\n value: function setValue(value) {\n if (![null, undefined].includes(value)) {\n return;\n }\n\n var options = this.state.input.options;\n\n var default_value = options.default;\n\n /** @TODO (maybe need to removed in v3.9.0) double check G3W-ADMIN server configuration. */\n if (Array.isArray(options)) {\n if (options[0].default) {\n default_value = options[0].default;\n } else if (Array.isArray(options.values) && options.values.length > 0) {\n default_value = options.values[0] && (options.values[0].value || options.values[0]);\n }\n }\n\n // check if the default value is set\n var get_default_value = this.state.get_default_value && // ref: core/layers/tablelayer.js::getFieldsWithValues()\n undefined !== default_value && null !== default_value;\n\n // check if we can state.check get_default_value from input.options.default is set\n if (get_default_value && undefined === options.default_expression) {\n this.state.value = default_value;\n }\n\n this.state.value_from_default_value = get_default_value;\n }\n }, {\n key: 'addValueToValues',\n value: function addValueToValues(value) {\n this.state.input.options.values.unshift(value);\n }\n }, {\n key: '_getValidatorType',\n value: function _getValidatorType() {\n return this.state.type;\n }\n }, {\n key: 'setState',\n value: function setState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state = 'Object' === (0, _toRawType.toRawType)(state) ? state : {};\n }\n }, {\n key: 'getValidator',\n\n\n // return validator\n value: function getValidator() {\n return this._validator;\n }\n }, {\n key: 'setValidator',\n value: function setValidator(validator) {\n this._validator = validator;\n }\n }, {\n key: 'setEmpty',\n\n\n /**\n * set input empty '', null, undefined or []\n */\n value: function setEmpty() {\n this.state.validate.empty = null === this.state.value //value is null\n || !(Array.isArray(this.state.value) && this.state.value.length > 0 || //or empty array\n !_.isEmpty(('' + this.state.value).trim())) // or empty string\n ;\n }\n }, {\n key: 'validate',\n\n\n // the general method to check the value of the state is valid or not\n value: function validate() {\n if (this.state.validate.empty) {\n this.state.value = null; //force to null\n // check if you require or check validation\n this.state.validate.valid = !this.state.validate.required;\n } else {\n if (['integer', 'float', 'bigint'].includes(this.state.input.type)) {\n if (+this.state.value < 0) {\n this.state.value = null;\n this.state.validate.empty = true;\n this.state.validate.valid = !this.state.validate.required;\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n //check exclude_values state.validate.unique (QGIS field property [x] Enforce unique constraint)\n if (this.state.validate.unique && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n //need to convert this.state.value to string because editing store exclude_values items as string\n this.state.validate.valid = !this.state.validate.exclude_values.has('' + this.state.value);\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n\n return this.state.validate.valid;\n }\n }, {\n key: 'setErrorMessage',\n value: function setErrorMessage() {\n //in vase of\n if (this.state.validate.error) {\n this.state.validate.message = t(this.state.validate.error);\n return;\n }\n var message = void 0;\n if (this.state.validate.mutually && !this.state.validate.mutually_valid) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_mutually_exclusive\") + ' ( ' + this.state.validate.mutually.join(',') + ' )';\n } else if (this.state.validate.max_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_max_field\") + ' (' + this.state.validate.max_field + ')';\n } else if (this.state.validate.min_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_min_field\") + ' (' + this.state.validate.min_field + ')';\n } else if (('unique' === this.state.input.type || this.state.validate.unique) && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n this.state.validate.message = '' + t(\"sdk.form.inputs.input_validation_exclude_values\");\n } else if (this.state.validate.required) {\n message = t(\"sdk.form.inputs.input_validation_error\") + ' ( ' + t(\"sdk.form.inputs.\" + this.state.type) + ' )';\n if (this.state.info) {\n message = message + '\\n
\\n ' + this.state.info + '\\n
\\n ';\n }\n this.state.validate.message = this.state.info || message;\n } else {\n //@since 3.11.0\n // in case of state.validate.valid false and not required need to show a right message (info or type)\n this.state.validate.message = this.state.info || t(\"sdk.form.inputs.input_validation_error_type\") + ' ( ' + t(\"sdk.form.inputs.\" + this.state.type) + ' )';\n }\n }\n }, {\n key: 'setUpdate',\n\n /**\n * Method to set update\n */\n value: function setUpdate() {\n var _state = this.state,\n value = _state.value,\n _value = _state._value;\n\n if ('media' === this.state.input.type && 'Object' !== (0, _toRawType.toRawType)(value) && 'Object' !== (0, _toRawType.toRawType)(_value)) {\n this.state.update = value.value != _value.value;\n } else if (\"datetimepicker\" === this.state.input.type) {\n //check\n this.state.update = (null !== value ? value.toUpperCase() : value) != (_value ? _value.toUpperCase() : _value);\n } else {\n this.state.update = value != _value;\n }\n }\n }]);\n\n return Service;\n}();\n\n},{\"g3w-i18n\":129,\"utils/toRawType\":242}],28:[function(require,module,exports){\nvar InputsServices = {\n 'text': require('./service'),\n 'textarea': require('./service'),\n 'texthtml': require('./service'),\n 'integer': require('./integer/service'),\n 'string': require('./service'),\n 'float': require('./float/service'),\n 'radio': require('./radio/service'),\n 'check': require('./checkbox/service'),\n 'range': require('./range/service'),\n 'datetimepicker': require('./datetimepicker/service'),\n 'unique': require('./unique/service'),\n 'select': require('./select/service'),\n 'media': require('./media/service'),\n 'select_autocomplete': require('./select/service'),\n 'picklayer': require('./service'),\n 'color': require('./service'),\n 'slider': require('./sliderrange/service'),\n 'lonlat': require('./lonlat/service')\n};\n\nmodule.exports = InputsServices;\n\n},{\"./checkbox/service\":5,\"./datetimepicker/service\":8,\"./float/service\":10,\"./integer/service\":13,\"./lonlat/service\":15,\"./media/service\":17,\"./radio/service\":21,\"./range/service\":23,\"./select/service\":25,\"./service\":27,\"./sliderrange/service\":29,\"./unique/service\":34}],29:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nvar SliderRangeService = function (_Service) {\n _inherits(SliderRangeService, _Service);\n\n function SliderRangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SliderRangeService);\n\n var state = opts.state;\n\n opts.state.info = '[MIN: ' + state.input.options.min + ' - MAX: ' + state.input.options.max + ']';\n\n var _this = _possibleConstructorReturn(this, (SliderRangeService.__proto__ || Object.getPrototypeOf(SliderRangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * opts.state.input.options.min && value <= 1 * opts.state.input.options.max;\n }\n });\n return _this;\n }\n\n _createClass(SliderRangeService, [{\n key: 'validate',\n value: function validate() {\n this.state.value = 1 * this.state.value;\n this.state.validate.valid = this.state.value >= this.state.input.options.min || this.state.value <= this.state.input.options.max;\n }\n }, {\n key: 'changeInfoMessage',\n value: function changeInfoMessage() {\n this.state.info = '[MIN: ' + this.state.input.options.min + ' - MAX: ' + this.state.input.options.max + ']';\n }\n }]);\n\n return SliderRangeService;\n}(Service);\n\nmodule.exports = SliderRangeService;\n\n},{\"gui/inputs/service\":27}],30:[function(require,module,exports){\nvar _InputSliderRange = require('components/InputSliderRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSliderRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputSliderRange.vue\":76}],31:[function(require,module,exports){\nvar _InputText = require('components/InputText.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputText);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputText.vue\":77}],32:[function(require,module,exports){\nvar _InputTextArea = require('components/InputTextArea.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextArea);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextAreaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextAreaInput;\n\n},{\"components/InputTextArea.vue\":78}],33:[function(require,module,exports){\nvar _InputTextHtml = require('components/InputTextHtml.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextHtml);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextHtmlInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextHtmlInput;\n\n},{\"components/InputTextHtml.vue\":79}],34:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(UniqueService, _Service);\n\n function UniqueService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, UniqueService);\n\n return _possibleConstructorReturn(this, (UniqueService.__proto__ || Object.getPrototypeOf(UniqueService)).call(this, opts));\n }\n\n return UniqueService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],35:[function(require,module,exports){\nvar _InputUnique = require('components/InputUnique.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputUnique);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar UniqueInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = UniqueInput;\n\n},{\"components/InputUnique.vue\":80}],36:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden;max-width:calc(100% - 150px)}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid #aaa;border-top-width:0;border-radius:0;margin-top:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}#menu-toggler[data-v-6659a6eb]{display:none}.navbar-toggler[data-v-6659a6eb]{color:#fff;margin:12px;font-size:1.3em;position:absolute;z-index:101;right:0}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-toggler[data-v-6659a6eb]{display:block;cursor:pointer;user-select:none}#menu-toggler:checked~hgroup[data-v-6659a6eb]{position:fixed;top:0;background:var(--skin-color);padding-left:8px}#menu-toggler:checked~ul[data-v-6659a6eb]{position:fixed;inset:50px 0 0 0;background:var(--skin-color);z-index:100;flex-direction:column;border-top:1px solid #fff}#menu-toggler:not(:checked)~[data-v-6659a6eb]:not(.navbar-toggler),.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none!important}.navbar-nav[data-v-6659a6eb]{flex-direction:column}.user-footer .btn-default[data-v-6659a6eb]{padding:10px}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueCookieLaw = require('vue-cookie-law');\n\nvar _vueCookieLaw2 = _interopRequireDefault(_vueCookieLaw);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _UserMessage = require('components/UserMessage.vue');\n\nvar _UserMessage2 = _interopRequireDefault(_UserMessage);\n\nvar _CatalogContextMenu = require('components/CatalogContextMenu.vue');\n\nvar _CatalogContextMenu2 = _interopRequireDefault(_CatalogContextMenu);\n\nvar _ModalLogin = require('components/ModalLogin.vue');\n\nvar _ModalLogin2 = _interopRequireDefault(_ModalLogin);\n\nvar _ModalAddLayer = require('components/ModalAddLayer.vue');\n\nvar _ModalAddLayer2 = _interopRequireDefault(_ModalAddLayer);\n\nvar _ModalChangeMap = require('components/ModalChangeMap.vue');\n\nvar _ModalChangeMap2 = _interopRequireDefault(_ModalChangeMap);\n\nvar _ModalMetadata = require('components/ModalMetadata.vue');\n\nvar _ModalMetadata2 = _interopRequireDefault(_ModalMetadata);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'app',\n\n data: function data() {\n var custom_links = (window.initConfig.header_custom_links || []).concat(_application2.default.navbaritems).filter(Boolean);\n\n custom_links.unshift({\n id: 'credits',\n type: 'metadata',\n target: '#metadata_credits',\n icon: 'far fa-question-circle',\n title: 'Credits'\n });\n\n custom_links.forEach(function (item) {\n return !item.id && (item.id = (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return {\n language: null,\n cookie_law_buttonText: t('cookie_law.buttonText'),\n app: _application2.default,\n state: _application2.default.viewport,\n updatePreviousTitle: false,\n header: t('main navigation'),\n custom_links: custom_links\n };\n },\n\n\n components: {\n CookieLaw: _vueCookieLaw2.default,\n userMessage: _UserMessage2.default,\n CatalogContextMenu: _CatalogContextMenu2.default,\n ModalLogin: _ModalLogin2.default,\n ModalAddlayer: _ModalAddLayer2.default,\n ModalChangemap: _ModalChangeMap2.default,\n ModalMetadata: _ModalMetadata2.default,\n Teleport: _vue2Teleport2.default\n },\n\n computed: {\n languages: function languages() {\n var languages = Array.isArray(this.appconfig.i18n) && this.appconfig.i18n || [];\n return languages.length > 1 && languages;\n },\n dropdownParent: function dropdownParent() {\n return window.innerWidth >= 768;\n },\n appconfig: function appconfig() {\n return window.initConfig;\n },\n isIframe: function isIframe() {\n return window.top !== window.self;\n },\n urls: function urls() {\n return this.appconfig.urls;\n },\n logo_url: function logo_url() {\n return _application2.default.project.state.thumbnail || '' + this.appconfig.mediaurl + window.initConfig.header_logo_img;\n },\n project_title: function project_title() {\n return _application2.default.project.getState().name;\n },\n user: function user() {\n return this.appconfig.user && this.appconfig.user.username ? this.appconfig.user : null;\n },\n login_url: function login_url() {\n return this.appconfig.user.login_url;\n },\n has_iframe_login: function has_iframe_login() {\n return this.login_url && ('/' === this.login_url[0] || (0, _sameOrigin.sameOrigin)(this.login_url, window.location.href));\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return this.appconfig.macrogroups.length + this.appconfig.groups.length + this.appconfig.projects.length > 1;\n },\n main_title: function main_title() {\n var main_title = this.appconfig.main_map_title;\n var group_name = this.appconfig.title || this.appconfig.slug;\n return main_title ? main_title + ' - ' + group_name : group_name;\n },\n breadcrumb: function breadcrumb() {\n return this.state.content.contentsdata.filter(function (c) {\n return c.options.crumb;\n }).map(function (c) {\n return c.options.crumb;\n });\n },\n showresize: function showresize() {\n var layout = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n var currentPerc = layout[this.state.split === 'h' ? 'width' : 'height'];\n return this.state.secondaryPerc > 0 && this.state.secondaryPerc < 100 && currentPerc < 100 && currentPerc > 0;\n },\n showresizeicon: function showresizeicon() {\n return 100 !== this.state.secondaryPerc;\n },\n usermessage: function usermessage() {\n return this.state.usermessage;\n },\n showtitle: function showtitle() {\n if (this.state.content.contentsdata.length > 0) {\n var options = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options;\n if (true === options.showtitle || false === options.showtitle) {\n return options.showtitle;\n }\n }\n return true;\n },\n styles: function styles() {\n return {\n map: {\n width: this.state.map.sizes.width + 'px',\n height: this.state.map.sizes.height + 'px'\n },\n content: {\n width: this.state.content.sizes.width + 'px',\n height: this.state.content.sizes.height + 'px',\n zIndex: 1,\n minHeight: 'v' === this.state.split ? _g3wConstants.VIEWPORT.resize.content.min + 'px' : null,\n paddingTop: '8px',\n paddingBottom: '8px'\n }\n };\n },\n contentTitle: function contentTitle() {\n if (this.state.content.contentsdata.length) {\n var _state$content$conten = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options,\n title = _state$content$conten.title,\n post_title = _state$content$conten.post_title,\n _state$content$conten2 = _state$content$conten.text,\n text = _state$content$conten2 === undefined ? false : _state$content$conten2;\n\n return { title: title, post_title: post_title, text: text };\n }\n },\n backOrBackTo: function backOrBackTo() {\n return this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? !this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title ? 'back' : 'backto' : false;\n },\n previousTitle: function previousTitle() {\n var _this = this;\n\n var title = this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title : null;\n this.updatePreviousTitle = true;\n this.$nextTick(function () {\n return _this.updatePreviousTitle = false;\n });\n return title;\n },\n title: function title() {\n return _application2.default.sidebar.title;\n },\n disabled: function disabled() {\n return _application2.default.gui.sidebar.disabled;\n },\n panels: function panels() {\n return _application2.default.sidebar.contentsdata;\n },\n showmainpanel: function showmainpanel() {\n return _application2.default.sidebar.components.length > 0 && !this.panels.length;\n },\n componentname: function componentname() {\n return _application2.default.sidebar.components.length ? _application2.default.sidebar.components.slice(-1)[0].getTitle() : '';\n },\n panelname: function panelname() {\n return this.panels.length ? this.panels.slice(-1)[0].content.getTitle() : '';\n }\n },\n\n methods: {\n templateResultLanguages: function templateResultLanguages(state) {\n if (!state.id) {\n return state.text;\n }\n return $('\\n
\\n \\n ' + state.text + ' \\n ');\n },\n oncCustomItemClick: function oncCustomItemClick(e, item) {\n if (!['modal', 'metadata'].includes(item.type)) {\n return;\n }\n e.preventDefault();\n if (item.target && 'modal' === item.type && document.querySelector(item.target)) {\n return $(item.target).modal('show');\n }\n if (item.target && 'metadata' === item.type && document.querySelector('#modal-metadata')) {\n $('#modal-metadata').modal('show');\n document.querySelector('#modal-metadata a[href=\"' + item.target + '\"]').click();\n return;\n }\n $('body').append('\\n
\\n
\\n
' + item.content + '
\\n
\\n
\\n ');\n $('#custom_modal').modal('show');\n $('#custom_modal').on('hidden.bs.modal', function () {\n return $('#custom_modal').remove();\n });\n },\n showEmbedModal: function showEmbedModal() {\n var url = new URL(location.href);\n url.searchParams.set('map_extent', _gui2.default.getService('map').getMapExtent().toString());\n\n $('body').append('\\n
\\n
\\n
\\n
\\n

' + this.$t('sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint') + '

\\n
\\n
\\n \\n \\n
\\n
\\n
\\n ');\n $('#share_modal').modal('show');\n $('#share_modal').on('hidden.bs.modal', function () {\n return $('#share_modal').remove();\n });\n },\n initDialogMessages: function () {\n var _ref = _asyncToGenerator(function* () {\n var messages = _application2.default.project.state.messages;\n\n if (!messages) {\n return;\n }\n\n var pid = _application2.default.project.getId();\n\n var _loop = function* _loop(i) {\n var message = messages.items[i];\n var item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id);\n var data = (item ? JSON.parse(item) : undefined) || _g3wConstants.LOCAL_ITEM_IDS.MESSAGES.value;\n data[pid] = data[pid] || [];\n\n if (undefined !== data[pid].find(function (id) {\n return id === message.id;\n })) {\n return 'continue';\n }\n\n var doNotShowAgainVueComponent = new (Vue.extend({\n data: function data() {\n return { id: (0, _getUniqueDomId.getUniqueDomId)(), checked: false };\n },\n template: '\\n
\\n \\n
'\n }))();\n\n var content = document.createElement('div');\n\n content.append.apply(content, _toConsumableArray(new DOMParser().parseFromString(message.body, 'text/html').body.childNodes));\n\n content.append(doNotShowAgainVueComponent.$mount().$el);\n\n yield new Promise(function (resolve) {\n _gui2.default.showModalDialog({\n title: message.title,\n message: content,\n size: 'large',\n closeButton: false,\n className: 'g3w-modal-project-message ' + Object.entries(messages.levels).find(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return value === message.level;\n })[0],\n buttons: {\n close: {\n label: t('close'),\n className: 'btn-secondary',\n callback: function callback() {\n try {\n if (doNotShowAgainVueComponent.checked) {\n data[pid].push(message.id);\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id, JSON.stringify(data));\n }\n } catch (e) {\n console.warn(e);\n }\n resolve();\n }\n }\n }\n });\n });\n };\n\n for (var i = 0; i < messages.items.length; i++) {\n var _ret = yield* _loop(i);\n\n if (_ret === 'continue') continue;\n }\n });\n\n function initDialogMessages() {\n return _ref.apply(this, arguments);\n }\n\n return initDialogMessages;\n }(),\n showaddLayerModal: function showaddLayerModal() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-changemap').modal('show');\n },\n isNotLastCrumb: function isNotLastCrumb(index) {\n return index < this.breadcrumb.length - 1;\n },\n closeContent: function closeContent() {\n _gui2.default.closeContent();\n },\n gotoPreviousContent: function gotoPreviousContent() {\n _gui2.default.popContent();\n },\n closeUserMessage: function closeUserMessage() {\n _gui2.default.closeUserMessage();\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.addEventListener('mousemove', this.wrapMoveFnc);\n document.addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref4 = _asyncToGenerator(function* () {\n document.removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref4.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n resizeFull: function resizeFull() {\n _gui2.default.toggleFullViewContent();\n _gui2.default.emit('resize');\n },\n moveFnc: function moveFnc(e) {\n e.preventDefault();\n var size = 'h' === this.state.split ? 'width' : 'height';\n var sidebarSize = size === 'width' ? $('.sidebar-collapse').length ? 0 : _application2.default.viewport.SIDEBARWIDTH : $('.navbar').height();\n var viewPortSize = $(this.$el)[size]();\n var mapSize = ('width' === size ? e.pageX + 2 : e.pageY + 2) - sidebarSize;\n var _VIEWPORT$resize = _g3wConstants.VIEWPORT.resize,\n content = _VIEWPORT$resize.content,\n map = _VIEWPORT$resize.map;\n\n if (mapSize > viewPortSize - content.min) {\n mapSize = viewPortSize - content.min;\n } else if (mapSize < map.min) {\n mapSize = map.min;\n }\n _application2.default.viewport.resized[this.state.split] = true;\n _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === this.state.split ? 'width' : 'height'] = 100 - Math.round(mapSize / viewPortSize * 100);\n _gui2.default._layout('resize');\n },\n closePanel: function closePanel() {\n _gui2.default.closePanel();\n },\n closeAllPanels: function () {\n var _ref5 = _asyncToGenerator(function* () {\n _application2.default.sidebar.title = null;\n var data = _application2.default.sidebar.contentsdata;\n if (data.length) {\n yield Promise.allSettled(data.map(function () {\n var _ref6 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n });\n\n return function (_x) {\n return _ref6.apply(this, arguments);\n };\n }()));\n data.splice(0, data.length);\n }\n });\n\n function closeAllPanels() {\n return _ref5.apply(this, arguments);\n }\n\n return closeAllPanels;\n }(),\n toggleSidebar: function toggleSidebar() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n _gui2.default.toggleSidebar();\n },\n toggleSidebarItem: function toggleSidebarItem(e) {\n var mini = document.body.classList.contains('sidebar-mini');\n var collapsed = document.body.classList.contains('sidebar-collapse');\n\n if (mini && collapsed) {\n _gui2.default.showSidebar();\n }\n\n var li = e.target.closest('.sidebaritem');\n var component = _application2.default.sidebar.components.find(function (comp) {\n return comp.id === li.id;\n });\n var open = component && component.getOpen();\n var menu = li.querySelector('.treeview-menu');\n\n if (!component || open && collapsed || menu && menu.contains(e.target)) {\n return;\n }\n\n if (!component.collapsible && window.innerWidth <= 767) {\n _gui2.default.toggleSidebar();\n }\n\n component.click({ open: !open });\n }\n },\n\n watch: {\n 'language': function language(_language, cl) {\n if (cl) {\n i18next.changeLanguage(_language);\n\n _application2.default.lng = _language;\n _application2.default.language = _language;\n var pathArray = window.location.pathname.split('/');\n pathArray[1] = _language;\n history.replaceState(null, null, pathArray.join('/'));\n this.cookie_law_buttonText = t('cookie_law.buttonText');\n }\n }\n },\n\n created: function created() {\n this.language = this.appconfig.user.i18n;\n },\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.initDialogMessages();\n\n yield this.$nextTick();\n\n this.language = this.appconfig.user.i18n;\n\n yield this.$nextTick();\n\n $('#startingspinner').remove();\n\n var resize = function resize() {\n $(\".main-sidebar\").css('height', $(window).height() - $(\".navbar\").height());\n $('.g3w-sidebarpanel').css('height', $(window).height() - $(\".navbar\").height());\n };\n\n resize();\n $(window, \".wrapper\").resize(resize);\n\n this.iframe = _application2.default.iframe;\n\n if (!this.iframe) {\n document.body.classList.add('sidebar-mini');\n }\n\n document.body.classList.toggle('is-mobile', this.isMobile());\n document.body.classList.toggle('is-iframe', this.iframe);\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.app.gui.app.disabled),expression:\"app.gui.app.disabled\"}],staticClass:\"wrapper\",attrs:{\"id\":\"app\"}},[(!_vm.isIframe)?_c('nav',{ref:\"navbar\",staticClass:\"navbar no-print\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"start\",\"height\":\"50px\"},attrs:{\"role\":\"navigation\"}},[(_vm.logo_url)?_c('a',{staticStyle:{\"padding\":\"4px\",\"display\":\"inline-block\",\"height\":\"50px\"},attrs:{\"href\":_vm.appconfig.header_logo_link || _vm.urls.frontendurl || '#',\"target\":_vm.appconfig.header_logo_link ? '_blank' : ''}},[_c('img',{staticStyle:{\"height\":\"100%\"},attrs:{\"alt\":\"\",\"src\":_vm.logo_url}})]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"menu-toggler\",attrs:{\"id\":\"menu-toggler\",\"type\":\"checkbox\",\"autocomplete\":\"off\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('label',{staticClass:\"navbar-toggler\",attrs:{\"for\":\"menu-toggler\",\"hidden\":\"\"}},[_c('i',{class:_vm.$fa('bars')}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"MENU\")])]),_vm._v(\" \"),_c('hgroup',{staticClass:\"project_title\"},[_c('p',{staticClass:\"h2\"},[_vm._v(_vm._s(_vm.main_title))]),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.project_title))])]),_vm._v(\" \"),_c('ul',{staticClass:\"nav-links\",staticStyle:{\"display\":\"flex\",\"text-align\":\"center\",\"white-space\":\"nowrap\",\"list-style\":\"none\",\"padding\":\"0\",\"margin\":\"0\"}},[_vm._l((_vm.custom_links),function(item){return _c('li',{key:item.id,class:(\"nav-\" + (item.id)),style:({ order: item.position })},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:(item.i18n ? item.title : (' ' + item.title + ' ')),expression:\"item.i18n ? item.title : (' ' + item.title + ' ')\",modifiers:{\"create\":true}}],attrs:{\"href\":item.url || '#',\"target\":item.target,\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){return _vm.oncCustomItemClick($event, item)}}},[(item.icon)?_c('i',{class:item.icon}):_vm._e(),_vm._v(\" \"),(item.img)?_c('img',{attrs:{\"height\":\"20\",\"src\":item.img,\"title\":item.img_title,\"alt\":item.img_title}}):_vm._e(),_vm._v(\" \"),(item.i18n)?_c('span',{directives:[{name:\"t-html\",rawName:\"v-t-html\",value:(item.text || item.title || item.img_title),expression:\"item.text || item.title || item.img_title\"}],attrs:{\"hidden\":item.text ? undefined : ''}}):_vm._e(),_vm._v(\" \"),(!item.i18n)?_c('span',{attrs:{\"hidden\":item.text ? undefined : ''},domProps:{\"innerHTML\":_vm._s(item.text || item.title || item.img_title)}}):_vm._e()])])}),_vm._v(\" \"),_c('li',{staticClass:\"nav-user dropdown\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"#\",\"data-toggle\":\"dropdown\"}},[_c('i',{class:_vm.$fa('user')}),_vm._v(\" \"),(_vm.user)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_vm._v(\" \"),_c('i',{staticClass:\"triangle\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.user)?_c('li',{staticClass:\"user-header\"},[_vm._v(\"\\n 👋\\n \"),(!_vm.user.first_name && !_vm.user.last_name)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',[_vm._v(_vm._s(_vm.user.first_name)+\" \"+_vm._s(_vm.user.last_name))])]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"user-footer\"},[(!_vm.user)?_c('a',{staticClass:\"nav-login btn btn-default btn-flat skin-color\",attrs:{\"src\":_vm.login_url,\"data-toggle\":_vm.has_iframe_login ? 'modal' : undefined,\"data-target\":_vm.has_iframe_login ? '#modal-login' : undefined}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_c('i',{class:_vm.$fa('sign-in')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.admin_url)?_c('a',{staticClass:\"nav-admin btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.admin_url}},[_c('b',[_vm._v(\"Admin\")]),_c('i',{class:_vm.$fa('tool')})]):_vm._e(),_vm._v(\" \"),(_vm.urls.frontendurl)?_c('a',{staticClass:\"nav-home btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.urls.frontendurl}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('homepage'),expression:\"'homepage'\"}]}),_c('i',{class:_vm.$fa('home')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.logout_url)?_c('a',{staticClass:\"nav-logout btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.logout_url}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('logout'),expression:\"'logout'\"}]}),_c('i',{class:_vm.$fa('sign-out')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-embedmap btn btn-default btn-flat skin-color\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showEmbedModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('embed_map'),expression:\"'embed_map'\"}]}),_c('i',{class:_vm.$fa('link')})]),_vm._v(\" \"),(_vm.hasRelatedMaps)?_c('a',{staticClass:\"nav-changemap btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]}),_c('i',{class:_vm.$fa('refresh')})]):_vm._e(),_vm._v(\" \"),('legend' !== _vm.activeTab)?_c('a',{staticClass:\"nav-addlayer btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]}),_c('i',{class:_vm.$fa('layers')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-sidebar btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSidebar}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar_menu'),expression:\"'sidebar_menu'\"}]}),_c('i',{staticClass:\"fa fa-toggle-on\"})])])])]),_vm._v(\" \"),(_vm.languages)?_c('li',{staticClass:\"nav-lang\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('language'),expression:\"'language'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],staticClass:\"form-control\",staticStyle:{\"cursor\":\"pointer\",\"width\":\"130px\"},attrs:{\"templateSelection\":_vm.templateResultLanguages,\"templateResult\":_vm.templateResultLanguages,\"dropdownAutoWidth\":true,\"dropdownParent\":_vm.dropdownParent},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang[0],domProps:{\"value\":lang[0],\"selected\":lang[0] === _vm.language && 'selected'}},[_vm._v(\"\\n \"+_vm._s(lang[1])+\"\\n \")])}),0)]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('aside',[_c('div',{staticClass:\"main-sidebar no-print\",class:{ iframe: _vm.iframe, 'g3w-disabled': _vm.disabled }},[_c('div',{attrs:{\"id\":\"disable-sidebar\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panels.length > 0),expression:\"panels.length > 0\"}],staticClass:\"g3w-sidebarpanel\"},[_c('div',{attrs:{\"id\":\"g3w-sidebarpanel-header-placeholder\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},style:({ justifyContent: _vm.app.sidebar.title ? 'space-between' : 'flex-end' })},[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticStyle:{\"display\":\"inline-block\",\"font-weight\":\"bold\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.panels.length > 1)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('back'),expression:\"'back'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closePanel}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('close'),expression:\"'close'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closeAllPanels}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('close')})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-sidebarpanel-placeholder\",attrs:{\"id\":\"g3w-sidebarpanel-placeholder\"}})]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showmainpanel),expression:\"showmainpanel\"}],staticClass:\"sidebar-menu\",class:{ 'g3w-disabled': _vm.disabled },attrs:{\"id\":\"g3w-sidebarcomponents\"},on:{\"click\":_vm.toggleSidebarItem}},[_c('li',{staticClass:\"treeview sidebaritem\",attrs:{\"id\":\"metadata\"}},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"skin-tooltip-right\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"data-placement\":\"right\",\"data-container\":\"body\",\"data-toggle\":\"modal\",\"data-target\":\"#modal-metadata\"}},[_c('div',[_c('i',{class:_vm.$fa('file'),staticStyle:{\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"treeview-label\"})])])])])]),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sidebar_menu'),expression:\"'sidebar_menu'\",modifiers:{\"create\":true}}],staticClass:\"sidebar-aside-toggle\",class:{ 'g3w-disabled': _vm.disabled, 'iframe': _vm.iframe},staticStyle:{\"z-index\":\"2\"},attrs:{\"href\":\"#\",\"role\":\"button\",\"data-placement\":\"right\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleSidebar($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",style:({ paddingTop: _vm.isIframe ? 0 : null })},[_c('transition',{attrs:{\"name\":\"fade\",\"duration\":{ enter: 500, leave: 500 }}},[(_vm.usermessage.show)?_c('user-message',{attrs:{\"title\":_vm.usermessage.title,\"subtitle\":_vm.usermessage.subtitle,\"id\":_vm.usermessage.id,\"message\":_vm.usermessage.message,\"draggable\":_vm.usermessage.draggable,\"closable\":_vm.usermessage.closable,\"duration\":_vm.usermessage.duration,\"position\":_vm.usermessage.position,\"autoclose\":_vm.usermessage.autoclose,\"textMessage\":_vm.usermessage.textMessage,\"size\":_vm.usermessage.size,\"type\":_vm.usermessage.type,\"icon-class\":_vm.usermessage.iconClass},on:{\"close-usermessage\":_vm.closeUserMessage}},[(_vm.usermessage.hooks.header)?_c('template',{slot:\"header\"},[_c(_vm.usermessage.hooks.header,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.body)?_c('template',{slot:\"body\"},[_c(_vm.usermessage.hooks.body,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.footer)?_c('template',{slot:\"footer\"},[_c(_vm.usermessage.hooks.footer,{tag:\"component\"})],1):_vm._e()],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g3w-view map\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.map),attrs:{\"id\":\"g3w-view-map\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showresize),expression:\"showresize\"}],class:(\"split-\" + (_vm.state.split)),style:({ cursor: 'v' === _vm.state.split ? 'ns-resize' : 'col-resize' }),attrs:{\"id\":\"resize-map-and-content\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"application-notifications\"}},[_c('div',{class:{ 'g3w-hide': _vm.app.online },staticStyle:{\"color\":\"#999\"},attrs:{\"id\":\"offline_notification\"}},[_c('i',{class:_vm.$fa('wifi')}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"0.4em\"}},[_vm._v(\"offline\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"download\",rawName:\"v-download.show\",modifiers:{\"show\":true}}],staticClass:\"skin-color\",attrs:{\"id\":\"download_notification\",\"title\":\"DOWNLOAD\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('download'),staticStyle:{\"padding\":\"3px\"}})],1),_vm._v(\" \"),_c('div',{class:{ 'g3w-hide': 0 === _vm.app.plugins.length },staticStyle:{\"color\":\"#994b10\"},attrs:{\"id\":\"plugins_notification\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('plugin')})],1)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.content.disabled),expression:\"state.content.disabled\"}],staticClass:\"g3w-view content\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.content),attrs:{\"id\":\"g3w-view-content\"}},[(_vm.breadcrumb.length > 1)?_c('section',{ref:_vm.breadcrumb,staticClass:\"content_breadcrumb\"},_vm._l((_vm.breadcrumb),function(crumb,index){return _c('span',{key:crumb.title},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(crumb.text ? null : crumb.title),expression:\"crumb.text ? null : crumb.title\"}],staticClass:\"skin-color-dark\",style:({fontWeight: _vm.isNotLastCrumb(index) ? 'bold' : 'normal'})},[(crumb.text)?_c('span',[_vm._v(\" \"+_vm._s(crumb.title)+\" \")]):_vm._e()]),_vm._v(\" \"),(_vm.isNotLastCrumb(index))?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin\":\"3px 0\"}},[_vm._v(\"/\")]):_vm._e()])}),0):_vm._e(),_vm._v(\" \"),((_vm.showtitle && _vm.contentTitle) || _vm.previousTitle || (_vm.state.content.closable && _vm.state.content.aside))?_c('div',{staticClass:\"close-panel-block\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[(_vm.previousTitle)?_c('div',{staticClass:\"g3w_contents_back g3w-long-text\"},[('back' === _vm.backOrBackTo )?_c('div',{class:_vm.backOrBackTo},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}]})]):_c('div',{class:_vm.backOrBackTo,on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoPreviousContent()}}},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('backto'),expression:\"'backto'\"}]}),_vm._v(\" \"),(!_vm.updatePreviousTitle)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.previousTitle),expression:\"previousTitle\"}]}):_vm._e()])]):_vm._e(),_vm._v(\" \"),(!_vm.previousTitle && _vm.showtitle && _vm.contentTitle)?_c('div',{staticClass:\"panel-title\",class:{'mobile': _vm.isMobile()},style:([_vm.state.content.style.title])},[_c('b',{attrs:{\"id\":\"contenttitle\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.text ? null : _vm.contentTitle.title),expression:\"contentTitle.text ? null : contentTitle.title\"}]},[(_vm.contentTitle.text )?_c('span',[_vm._v(_vm._s(_vm.contentTitle.title))]):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.post_title),expression:\"contentTitle.post_title\"}]})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g3-content-header-action-tools\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_vm._l((_vm.state.content.headertools),function(tool){return _c(tool,{tag:\"component\"})}),_vm._v(\" \"),(_vm.showresizeicon)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-size\":\"1em\",\"padding\":\"0\",\"align-self\":\"center\",\"margin-left\":\"auto\",\"cursor\":\"pointer\"},style:({ marginRight: _vm.state.content.closable ? '5px': '0px' })},[(undefined !== _vm.state.split)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('enlange_reduce'),expression:\"'enlange_reduce'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa((\"resize-\" + (_vm.state.split))),staticStyle:{\"margin-right\":\"3px\"},on:{\"click\":_vm.resizeFull}}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.state.content.closable && _vm.state.content.aside)?_c('span',{staticClass:\"action-button\",class:{'mobile': _vm.isMobile()},staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"},on:{\"click\":_vm.closeContent}},[_c('i',{staticClass:\"skin-color-dark\",class:_vm.$fa('close')})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.state.content.loading}})],1)],1),_vm._v(\" \"),_c('catalog-context-menu'),_vm._v(\" \"),_c('cookie-law',{attrs:{\"theme\":\"dark-lime\",\"buttonText\":_vm.cookie_law_buttonText}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('cookie_law.message'),expression:\"'cookie_law.message'\"}],attrs:{\"slot\":\"message\"},slot:\"message\"})]),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":\"modal-fullscreen\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"data-backdrop\":\"static\",\"data-keyboard\":\"false\",\"aria-labelledby\":\"modal-fullscreen\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(!_vm.user && _vm.has_iframe_login)?_c('modal-login'):_vm._e(),_vm._v(\" \"),_c('modal-addlayer'),_vm._v(\" \"),_c('modal-changemap'),_vm._v(\" \"),_c('modal-metadata')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ModalAddLayer.vue\":84,\"components/ModalChangeMap.vue\":85,\"components/ModalLogin.vue\":86,\"components/ModalMetadata.vue\":87,\"components/UserMessage.vue\":111,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/gui\":173,\"store/application\":178,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/sameOrigin\":237,\"vue-cookie-law\":\"vue-cookie-law\",\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],37:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tabbable-line>.nav-tabs>li.active{border-bottom:4px solid var(--skin-color)}.catalog #legend div.selected,.catalog .tree-item.selected{background-color:var(--skin-color)}.catalog-context-menu li.title{border-bottom-color:var(--skin-color)!important}.skin-blue .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-green .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-purple .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-red .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ff5542}.skin-red .tabbable-line.tabs-below>.nav-tabs>li.active,.skin-red .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ff5542}.skin-yellow .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #ffdf12}.tabbable-panel{padding:10px}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line .nav-tabs ul li{color:#fff}.tabbable-line>.nav-tabs>li{margin-right:2px;border-bottom:4px solid #21292d}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#fff}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a{border:0;background:none!important}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover) .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{position:relative;font-weight:700}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#fff;background-color:#2c3b41}.tabbable-line>.nav-tabs>li.active>a>i{color:#fff}.tabbable-line>.tab-content.catalog-tab-content{margin-top:-3px;border:0;color:#fff;padding:5px 0 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;color:#fff}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.nav-tabs>li.active>a,.nav-tabs>li.active>a:is(:focus,:hover){color:#fff}.catalog>.title{padding:10px;font-weight:700}.catalog ul{line-height:1.75em;list-style-type:none}.catalog .list-group-item{color:#fff;background-color:#2c3b41}.catalog #legend div.selected ul.layer-categories,.catalog .tree-item.selected ul.layer-categories{background-color:#222d32}.catalog #legend div div.tree-node-title,.catalog .tree-item div.tree-node-title{padding-left:3px;cursor:pointer;width:80%;display:inline-flex;justify-content:space-between;user-select:none}.catalog #legend div div.tree-node-title.disabled,.catalog .tree-item div.tree-node-title.disabled{color:#999}.catalog #legend div div.tree-node-title .selection-filter-icon,.catalog .tree-item div.tree-node-title .selection-filter-icon{box-shadow:0 2px 5px rgba(0,0,0,.3);padding:5px;border-radius:3px;margin:0 3px;font-weight:700;color:#fff!important}.catalog #legend div div.tree-node-title .selection-filter-icon.active,.catalog .tree-item div.tree-node-title .selection-filter-icon.active{box-shadow:none;background-color:#384247}.catalog .tree-item{cursor:pointer;margin-bottom:3px}.catalog .tree-item.disabled>span{color:#999}.catalog .root{padding:2px 1px 1px 5px}.catalog .root .tree-item.group{padding-left:1px}.catalog .root.fa-chevron-right{padding-right:5px;padding-left:0}.catalog .root-categories.fa-chevron-right{padding-right:7px}.catalog .root-categories.fa-chevron-down{padding-right:3px}.bold{font-weight:700;color:#fff}.highlightlayer{border-bottom:2px dashed;border-color:#ffb516}.catalog{padding:3px}.catalog .tree-root{padding-left:0}.catalog .tree-root li>.root{padding-left:5px}.catalog .tree-root li.tree-item ul.tree-content-items.root{padding-left:18px}.catalog .tree-root li.tree-item ul.tree-content-items.root>.tree-item.group{padding-left:1px!important}.catalog .tree-root li.tree-item ul.tree-content-items{padding-left:17px;padding-top:2px}.g3w-lendplace-toc{padding-left:23px}.g3w-lendplace-toc.group{padding-left:17px}.g3w-lendplace-toc.root{padding-left:18px}.g3w-lendplace-toc.root>li.itemmarginbottom{margin-left:-13px}.g3w-lendplace-toc.root>li.itemmarginbottom div.layer-legend{padding-left:56px}.g3w-lendplace-toc.root>li.itemmarginbottom>span.child{padding-left:18px!important}.catalog .tree-root span.root.collapse-expande-collapse-icon{width:19px}.catalog .tree-root span.root.collapse-expande-collapse-icon.project-root{width:17px}.catalog .tree-root span.collapse-expande-collapse-icon{width:10px}.catalog span.legend-collapse-expande-collapse-icon{font-size:1.2em}.catalog .child-categories{padding:5px 3px 1px 12px}.catalog .layer-legend{padding:3px 0 0 35px;background-color:#222d32}.catalog .catalalog-nav-tabs{display:flex;flex:1 1 0}.catalog .catalalog-nav-tabs>li{font-size:1em;white-space:normal;display:flex;flex:1 1 0;align-items:stretch}.catalog .catalalog-nav-tabs>li a{padding:10px 0;text-align:center;height:100%;width:100%}.catalog .tree{color:#fff}.catalog .tree.disabled{color:#999;cursor:not-allowed}.catalog .g3w-external_wms_layers-group{padding:5px}.catalog .baselayers .radio{margin:0}#baselayers-content{display:grid;justify-content:center;grid-gap:5px;padding:0;margin:5px}#baselayers-content.mobile{grid-template-columns:repeat(auto-fill,minmax(80px,110px))}#baselayers-content .baseselayer-text{white-space:pre-line;font-weight:700}#baselayers-content .baselayer{cursor:pointer}#baselayers-content .baselayer .baselayer-name{font-weight:700;white-space:pre-line;text-align:center}#catalog #layers ul.g3w-external_layers-group{padding-left:0!important}#catalog #layers ul.g3w-external_layers-group li{padding-left:2px!important}#catalog #layers .sidebar-menu>li>a{border:0}#catalog>a{display:none!important}#catalog .tree-item>.toggle-context-menu{opacity:0;position:absolute;inset:0 4px auto auto;color:#fff;padding:4px 8px;border:1px solid;border-radius:3px}#catalog .tree-item:not(.group):hover>.toggle-context-menu{opacity:1}\\n#legend .divider[data-v-f931b03a]{display:block;position:relative;padding:0;margin:8px auto;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none}.legend-item[data-v-f931b03a]{width:100%;position:relative}.g3w-catalog-layers-group>div[data-v-f931b03a]{border:1px solid #ffffff33;margin:5px}.g3w-catalog-layers-group>div>h4[data-v-f931b03a]{margin:5px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _CatalogChangeMapThemes = require('components/CatalogChangeMapThemes.vue');\n\nvar _CatalogChangeMapThemes2 = _interopRequireDefault(_CatalogChangeMapThemes);\n\nvar _CatalogTristateTree = require('components/CatalogTristateTree.vue');\n\nvar _CatalogTristateTree2 = _interopRequireDefault(_CatalogTristateTree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\nexports.default = {\n name: 'catalog',\n\n data: function data() {\n return {\n state: this.$options.service.state || {},\n legend_position: _application2.default.project.state.legend_position || 'tab',\n iframe: _application2.default.iframe,\n showlegend: false,\n currentBaseLayer: null,\n activeTab: 'layers',\n loading: false\n };\n },\n\n\n components: {\n CatalogChangeMapThemes: _CatalogChangeMapThemes2.default,\n CatalogTristateTree: _CatalogTristateTree2.default\n },\n\n computed: {\n project: function project() {\n return _application2.default.project;\n },\n title: function title() {\n return this.project.state.name;\n },\n baselayers: function baselayers() {\n return this.project.state.baselayers;\n },\n hasBaseLayers: function hasBaseLayers() {\n return this.project.state.baselayers.length > 0;\n },\n hasLayers: function hasLayers() {\n return this.state.external.vector.length > 0 || this.state.layerstrees.reduce(function (a, l) {\n return l.tree.length + a;\n }, 0) > 0 || this.state.layersgroups.length > 0;\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return window.initConfig.macrogroups.length + window.initConfig.groups.length + window.initConfig.projects.length > 1;\n }\n },\n\n methods: {\n onLegendError: function onLegendError(legendurl) {\n legendurl.error = true;\n legendurl.loading = false;\n },\n onLegendLoad: function onLegendLoad(legendurl) {\n legendurl.loading = false;\n },\n getLegendSrc: function getLegendSrc() {\n var _this = this;\n\n var change = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if ('tab' !== this.legend_position) {\n return;\n }\n\n this.state.layerstrees.forEach(function (t) {\n var layers = _this._traverseVisibleLayers(t.tree);\n _this.showlegend = _this.showlegend || layers.length > 0;\n t.tree.forEach(function () {\n var _ref = _asyncToGenerator(function* (tree) {\n try {\n if (change && (tree.legendurls && 0 === tree.legendurls.length || layers.some(function (l) {\n return l.legend.change;\n }) || _application2.default.project.state.context_base_legend)) {\n layers.filter(function (l) {\n return l.legend.change;\n }).forEach(function (l) {\n return l.legend.change = false;\n });\n }\n tree.legendurls = yield _this._getLegendSrc(layers);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n },\n _traverseVisibleLayers: function _traverseVisibleLayers(obj) {\n var _layers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = obj[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layer = _step.value;\n\n if (null !== layer.id && undefined !== layer.id && layer.visible && layer.geolayer && !layer.exclude_from_legend) {\n _layers.push(layer);\n }\n if (null !== layer.nodes && undefined !== layer.nodes) {\n this._traverseVisibleLayers(layer.nodes, _layers);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return _layers;\n },\n _getLegendSrc: function () {\n var _ref2 = _asyncToGenerator(function* (visiblelayers) {\n var legendurls = [];\n\n var layers = visiblelayers.filter(function (l) {\n return l.geolayer;\n });\n\n var http = { GET: {}, POST: {} };\n\n layers.forEach(function (layer) {\n var name = http[layer.source && layer.source.url || layer.external ? 'GET' : layer.ows_method];\n var catalogLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n\n var url = catalogLayer ? catalogLayer.getLegendUrl((window.initConfig.layout || {}).legend, {\n all: !_application2.default.project.state.context_base_legend,\n format: 'image/png',\n categories: layer.categories\n }) : undefined;\n\n if (undefined === catalogLayer) {\n return;\n }\n\n if (layer.source && layer.source.url) {\n name[url] = [];\n return;\n }\n\n var prefix = url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[0];\n\n if (!name[prefix]) {\n name[prefix] = [];\n }\n\n name[prefix].unshift({\n layerName: url.split('LAYER=')[1],\n style: (Array.isArray(layer.styles) && layer.styles.find(function (style) {\n return style.current;\n }) || { name: false }).name,\n legend_on: (url.split('LAYER=')[0].split('LEGEND_ON=')[1] || '').replace('&', ''),\n legend_off: (url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[1] || '').replace('&', '') });\n });\n\n for (var method in http) {\n var _loop = function* _loop(url) {\n var obj = {\n loading: true,\n url: null,\n error: false\n };\n\n legendurls.push(obj);\n\n var params = {\n LAYERS: [],\n STYLES: [],\n LEGEND_ON: [],\n LEGEND_OFF: []\n };\n\n (http[method][url] || []).reduce(function (_, layer) {\n params.LAYERS.push(layer.layerName);\n params.STYLES.push(layer.style);\n if (layer.legend_on) {\n params.LEGEND_ON.push(layer.legend_on);\n }\n if (layer.legend_off) {\n params.LEGEND_OFF.push(layer.legend_off);\n }\n return params;\n }, params);\n\n var url_params = [__('LAYERS=', params.LAYERS.join(',')), __('STYLES=', params.STYLES.join(',')), __('LEGEND_ON=', params.LEGEND_ON.join(',')), __('LEGEND_OFF=', params.LEGEND_OFF.join(',')), __('filtertoken=', _application2.default.tokens.filtertoken)].filter(function (p) {\n return p;\n }).join('&');\n\n try {\n obj.url = 'GET' === method ? url + (http[method][url].length ? url_params : '') : URL.createObjectURL((yield (yield fetch(url.split('?')[0], {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n\n body: url.split('?')[1].split('&').filter(function (p) {\n return p.split('=')[0];\n }).map(function (p) {\n return p.split('=')[0] + '=' + encodeURIComponent(p.split('=')[1]);\n }).join('&') + '&' + url_params\n })).blob()));\n } catch (e) {\n console.warn(e);\n }\n\n obj.loading = false;\n };\n\n for (var url in http[method]) {\n yield* _loop(url);\n }\n }\n\n return legendurls;\n });\n\n function _getLegendSrc(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return _getLegendSrc;\n }(),\n getMapThemeFromThemeName: function () {\n var _ref3 = _asyncToGenerator(function* (theme) {\n var project = _application2.default.project;\n\n var config = Object.values(project.state.map_themes).flat().find(function (c) {\n return theme === c.theme;\n });\n if (config && undefined === config.layerstree) {\n try {\n var response = yield _XHR.XHR.get({ url: '' + project.urls.map_themes + theme + '/' });\n if (response.result) {\n config.layerstree = response.data;\n }\n } catch (e) {\n console.warn('Error while retreiving map theme configuration', e);\n }\n }\n return config;\n });\n\n function getMapThemeFromThemeName(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return getMapThemeFromThemeName;\n }(),\n setLayersTreePropertiesFromMapTheme: function () {\n var _ref5 = _asyncToGenerator(function* (_ref4) {\n var map_theme = _ref4.map_theme,\n layerstree = _ref4.layerstree;\n\n var project = _application2.default.project;\n layerstree = undefined !== layerstree ? layerstree : project.state.layerstree;\n\n var theme = yield this.getMapThemeFromThemeName(map_theme);\n\n var changes = { layers: {} };\n var promises = [];\n\n var groups = [];\n var traverse = function traverse(mapThemeLayersTree, layerstree, checked) {\n mapThemeLayersTree.forEach(function (node, index) {\n if (node.nodes) {\n groups.push({\n node: node,\n group: layerstree[index]\n });\n traverse(node.nodes, layerstree[index].nodes, checked && node.checked);\n } else {\n node.style = theme.styles[node.id];\n if (layerstree[index].checked !== node.visible) {\n changes.layers[node.id] = {\n visibility: true,\n style: false\n };\n }\n layerstree[index].checked = node.visible;\n\n if (node.style) {\n var promise = new Promise(function (resolve) {\n var setCurrentStyleAndResolvePromise = function setCurrentStyleAndResolvePromise(node) {\n if (changes.layers[node.id] === undefined) changes.layers[node.id] = {\n visibility: false,\n style: false\n };\n changes.layers[node.id].style = project.getLayerById(node.id).setCurrentStyle(node.style);\n resolve();\n };\n if (project.getLayersStore()) {\n setCurrentStyleAndResolvePromise(node);\n } else {\n (function (node) {\n return setTimeout(function () {\n return setCurrentStyleAndResolvePromise(node);\n });\n })(node);\n }\n });\n promises.push(promise);\n }\n }\n });\n };\n traverse(theme.layerstree, layerstree);\n\n yield Promise.allSettled(promises);\n\n groups.forEach(function (_ref6) {\n var group = _ref6.group,\n _ref6$node = _ref6.node,\n checked = _ref6$node.checked,\n expanded = _ref6$node.expanded;\n\n group.checked = checked;\n group.expanded = expanded;\n });\n\n return changes;\n });\n\n function setLayersTreePropertiesFromMapTheme(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayersTreePropertiesFromMapTheme;\n }(),\n changeMapTheme: function () {\n var _ref7 = _asyncToGenerator(function* (map_theme) {\n _gui2.default.closeContent();\n\n this.state.layerstrees[0].checked = true;\n\n var changes = (yield this.setLayersTreePropertiesFromMapTheme({\n map_theme: map_theme,\n rootNode: this.state.layerstrees[0],\n layerstree: this.state.layerstrees[0].tree[0].nodes\n })).layers;\n\n var layers = Object.keys(changes).filter(function (id) {\n return changes[id].style;\n });\n var styles = (yield this.getMapThemeFromThemeName(map_theme)).styles;\n\n layers.forEach(function (id) {\n if (!changes[id].visible) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(id);\n layer.clearCategories();\n layer.change();\n }\n });\n\n layers.forEach(function (id) {\n return _g3wEventbus.VM.$emit('layer-change-style', { layerId: id, style: styles[id] });\n });\n });\n\n function changeMapTheme(_x7) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapTheme;\n }(),\n onTabClick: function onTabClick(e) {\n if (e.target.attributes['aria-controls']) {\n this.activeTab = e.target.attributes['aria-controls'].value;\n }\n },\n setBaseLayer: function setBaseLayer(id) {\n this.currentBaseLayer = id;\n this.project.setBaseLayer(id);\n _application2.default.baseLayerId = id;\n },\n getSrcBaseLayerImage: function getSrcBaseLayerImage(baseLayer) {\n var image = 'nobaselayer.png';\n switch (baseLayer && baseLayer.servertype || baseLayer) {\n case 'OSM':\n image = 'osm.png';break;\n case 'Bing':\n image = 'bing' + baseLayer.source.subtype + '.png';break;\n case 'TMS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n case 'WMTS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n }\n return (baseLayer || {}).icon ? image : _gui2.default.getResourcesUrl() + 'images/' + image;\n },\n onUnSelectionLayer: function onUnSelectionLayer(storeid, layer) {\n if (!layer) {\n return console.warn('undefined layer');;\n }\n\n var service = _gui2.default.getService('queryresults');\n var action = layer.external && service.getActionLayerById({ layer: layer, id: 'selection' });\n\n if (!layer.external && storeid) {\n _application2.default.catalog[storeid].getLayerById(layer.id).clearSelectionFids();\n }\n\n if (layer.external) {\n layer.selection.active = false;\n layer.selection.features.forEach(function (feature, i) {\n if (!feature.selection.selected) {\n return;\n }\n feature.selection.selected = false;\n if (action) {\n action.state.toggled[i] = false;\n }\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feature });\n });\n }\n },\n onActiveFilterTokenLayer: function () {\n var _ref8 = _asyncToGenerator(function* (storeid, layerstree) {\n layerstree.filter.active = yield _application2.default.catalog[storeid].getLayerById(layerstree.id).toggleFilterToken();\n });\n\n function onActiveFilterTokenLayer(_x8, _x9) {\n return _ref8.apply(this, arguments);\n }\n\n return onActiveFilterTokenLayer;\n }(),\n onTreeNodeVisible: function onTreeNodeVisible(layer) {\n _gui2.default.getService('map').emit('cataloglayervisible', layer);\n },\n onTreeNodeSelected: function onTreeNodeSelected(node) {\n _gui2.default.getService('map').selectLayer(node.id);\n },\n showaddLayerModal: function showaddLayerModal() {\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#modal-changemap').modal('show');\n }\n },\n\n watch: {\n 'state.external.wms': function stateExternalWms(newlayers, oldlayers) {\n if (oldlayers && 0 === newlayers.length) {\n this.activeTab = this.project.state.catalog_tab || 'layers';\n }\n },\n\n\n project: {\n handler: function () {\n var _ref9 = _asyncToGenerator(function* (project) {\n var _this2 = this;\n\n var activeTab = project.state.catalog_tab || 'layers';\n this.loading = 'baselayers' === activeTab;\n yield this.$nextTick();\n setTimeout(function () {\n _this2.loading = false;\n _this2.activeTab = activeTab;\n }, 'baselayers' === activeTab ? 500 : 0);\n });\n\n function handler(_x10) {\n return _ref9.apply(this, arguments);\n }\n\n return handler;\n }(),\n\n immediate: false\n },\n\n activeTab: function activeTab(_activeTab, oldTab) {\n if ('legend' === _activeTab) {\n this.getLegendSrc(true);\n }\n if (this.$el) {\n this.$el.parentElement.classList.remove('tab-' + oldTab);\n this.$el.parentElement.classList.add('tab-' + _activeTab);\n }\n }\n },\n\n created: function created() {\n _g3wEventbus.VM.$on('unselectionlayer', this.onUnSelectionLayer);\n _g3wEventbus.VM.$on('activefiltertokenlayer', this.onActiveFilterTokenLayer);\n _g3wEventbus.VM.$on('treenodevisible', this.onTreeNodeVisible);\n _g3wEventbus.VM.$on('treenodeselected', this.onTreeNodeSelected);\n _g3wEventbus.VM.$on('layer-change-style', this.getLegendSrc);\n },\n beforeMount: function beforeMount() {\n this.currentBaseLayer = this.project.state.initbaselayer;\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n yield this.$nextTick();\n\n if (_application2.default.project.state.context_base_legend) {\n _gui2.default.getService('map').on('change-map-legend-params', function () {\n _this3.getLegendSrc();\n });\n } else {\n this.getLegendSrc();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabbable-panel catalog\"},[_c('div',{staticClass:\"tabbable-line\"},[_c('ul',{staticClass:\"nav nav-tabs catalalog-nav-tabs\",attrs:{\"role\":\"tablist\"},on:{\"!click\":function($event){return _vm.onTabClick($event)}}},[(_vm.hasLayers)?_c('li',{class:{ active: ('layers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('data'),expression:\"'data'\"}],attrs:{\"href\":\"#layers\",\"aria-controls\":\"layers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"tree\"}})]):_vm._e(),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('li',{class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('externalwms'),expression:\"'externalwms'\"}],attrs:{\"href\":\"#externalwms\",\"aria-controls\":\"externalwms\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"externalwms\"}})]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('li',{class:{ active: ('baselayers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('baselayers'),expression:\"'baselayers'\"}],attrs:{\"href\":\"#baselayers\",\"aria-controls\":\"baselayers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"baselayers\"}})]):_vm._e(),_vm._v(\" \"),('tab' === _vm.legend_position && _vm.showlegend)?_c('li',{class:{ active: ('legend' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('legend'),expression:\"'legend'\"}],attrs:{\"href\":\"#legend\",\"aria-controls\":\"legend\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"legend\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content catalog-tab-content\"},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",class:{ active: ('layers' === _vm.activeTab) },attrs:{\"id\":\"layers\",\"role\":\"tabpanel\"}},[_c('div',{staticStyle:{\"margin\":\"2px\"},attrs:{\"id\":\"g3w-catalog-toc-layers-toolbar\"}},[_c('catalog-change-map-themes',{key:_vm.project.state.gid,attrs:{\"map_themes\":_vm.project.state.map_themes,\"layerstrees\":_vm.state.layerstrees},on:{\"change-map-theme\":_vm.changeMapTheme}})],1),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(root){return _c('ul',{key:root.storeid,staticClass:\"tree-root root project-root\"},_vm._l((root.tree),function(tree){return _c('catalog-tristate-tree',{key:tree.id,staticClass:\"item\",attrs:{\"layerstree\":tree,\"parentFolder\":false,\"root\":true,\"legendplace\":_vm.legend_position,\"parent_mutually_exclusive\":false,\"storeid\":root.storeid}})}),1)}),_vm._v(\" \"),(_vm.state.external.vector.length)?_c('ul',{staticClass:\"g3w-external_layers-group\"},_vm._l((_vm.state.external.vector),function(vector){return _c('catalog-tristate-tree',{key:vector.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.vector,\"layerstree\":vector}})}),1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layersgroups),function(group){return _c('ul',{staticClass:\"g3w-catalog-layers-group\"},[_c('div',[_c('h4',[_vm._v(_vm._s(group.title))]),_vm._v(\" \"),_vm._l((group.nodes),function(node){return _c('catalog-tristate-tree',{staticClass:\"item\",attrs:{\"layerstree\":node}})})],2)])})],2),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('div',{staticClass:\"tab-pane\",class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"id\":\"externalwms\",\"role\":\"tabpanel\"}},[_c('ul',{staticClass:\"g3w-external_wms_layers-group\"},_vm._l((_vm.state.external.wms),function(wms){return _c('catalog-tristate-tree',{key:wms.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.wms,\"layerstree\":wms}})}),1)]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('div',{staticClass:\"tab-pane baselayers\",class:{ active: ('baselayers' === _vm.activeTab || !_vm.hasLayers) },attrs:{\"id\":\"baselayers\",\"role\":\"tabpanel\"}},[_c('ul',{class:{'mobile': _vm.isMobile()},style:({ gridTemplateColumns: (\"repeat(auto-fill, minmax(\" + (_vm.baselayers.length > 4 ? 80 : 120) + \"px, 1fr))\") }),attrs:{\"id\":\"baselayers-content\"}},[_vm._l((_vm.baselayers),function(base){return (!base.fixed)?_c('li',{key:base.title},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === base.id ? 1 : 0.5, height: _vm.baselayers.length > 4 ? '108px' : null }),attrs:{\"src\":_vm.getSrcBaseLayerImage(base)},on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(base.id)}}}),_vm._v(\" \"),_c('div',{staticClass:\"baseselayer-text text-center g3w-long-text\"},[_vm._v(_vm._s(base.title))])]):_vm._e()}),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(null)}}},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === null ? 1 : 0.5 }),attrs:{\"src\":_vm.getSrcBaseLayerImage(null)}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('nobaselayer'),expression:\"'nobaselayer'\"}],staticClass:\"baseselayer-text text-center g3w-long-text\"})])],2)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(tree){return ('tab' === _vm.legend_position)?_c('div',{key:tree.id,staticClass:\"tab-pane\",class:{ active: 'legend' === _vm.activeTab },attrs:{\"role\":\"tabpanel\",\"id\":\"legend\"}},_vm._l((tree.tree),function(t){return _c('div',{staticClass:\"legend-item\"},_vm._l((t.legendurls),function(url){return _c('figure',[_c('bar-loader',{attrs:{\"loading\":url.loading}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!url.loading && !url.error),expression:\"!url.loading && !url.error\"}],attrs:{\"src\":url.url,\"alt\":\"\"},on:{\"error\":function($event){return _vm.onLegendError(url)},\"load\":function($event){return _vm.onLegendLoad(url)}}}),_vm._v(\" \"),_c('divider')],1)}),0)}),0):_vm._e()})],2)]),_vm._v(\" \"),(_vm.hasRelatedMaps || 'legend' !== _vm.activeTab)?_c('div',{staticStyle:{\"position\":\"sticky\",\"bottom\":\"0\",\"background-color\":\"#222d32\",\"display\":\"flex\",\"text-align\":\"center\",\"line-height\":\"48px\",\"color\":\"#fff\",\"border-top\":\"2px solid var(--skin-color)\",\"margin-top\":\"12px\",\"justify-content\":\"space-around\"}},[('legend' !== _vm.activeTab)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('i',{class:_vm.$fa('layers')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.hasRelatedMaps && 'legend' !== _vm.activeTab && !_vm.iframe)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('i',{class:_vm.$fa('refresh')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]})]):_vm._e()]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-f931b03a\"\n\n},{\"components/CatalogChangeMapThemes.vue\":38,\"components/CatalogTristateTree.vue\":41,\"g3w-eventbus\":127,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],38:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-catalog-toc-views[data-v-06d0cd43]{margin-bottom:5px;border-bottom:2px solid}.g3w-map-theme-anchor[data-v-06d0cd43]{padding:0;margin-bottom:5px}.g3w-map-theme-anchor>section[data-v-06d0cd43]{display:flex;flex-wrap:wrap;align-items:center;padding:5px}.add-map-theme[data-v-06d0cd43]{border-top:2px solid;margin:5px 0}.add-map-theme-input[data-v-06d0cd43]{width:100%}#g3w-catalog-views[data-v-06d0cd43]{display:none;padding:0}#g3w-catalog-views.menu-open[data-v-06d0cd43]{display:block}.current_map_theme[data-v-06d0cd43]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.choose_map_theme[data-v-06d0cd43]{color:#ccc!important;font-weight:700}.project_map_theme[data-v-06d0cd43]{font-weight:700;padding:3px;border-bottom:1px solid #fff}.user_map_theme[data-v-06d0cd43]{font-weight:700;padding:5px 3px;display:flex;justify-content:space-between;align-self:baseline;border-bottom:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputText = require(\"./InputText.vue\");\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _gui = require(\"services/gui\");\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require(\"utils/XHR\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar LAYERSTREES_ATTRIBUTES = {\n node: ['id', 'name', 'visible', 'expanded'],\n group: ['name', 'checked', 'expanded', 'mutually-exclusive']\n};\n\nexports.default = {\n\n name: \"changemapthemes\",\n\n components: {\n InputText: _InputText2.default\n },\n\n props: {\n\n map_themes: {\n type: Object,\n default: { project: [], custom: [] }\n },\n\n layerstrees: {\n type: Array\n }\n\n },\n\n data: function data() {\n var theme = Object.values(this.map_themes).flat().find(function (mt) {\n return mt.default;\n });\n return {\n active_theme: theme && theme.theme || null,\n collapsed: 'collapsed' === _application2.default.project.state.toc_themes_init_status,\n\n custom_theme: {\n name: 'add-user-theme',\n label: 'sdk.catalog.choose_map_theme_input_label',\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n\n validate: {\n valid: false,\n required: true,\n error: 'sdk.catalog.invalid_map_theme_name'\n }\n },\n\n show_form: false\n };\n },\n\n\n methods: {\n toggle: function toggle() {\n if (!this.show_form) {\n document.getElementById('g3w-catalog-views').classList.toggle('menu-open');\n this.collapsed = !this.collapsed;\n }\n },\n _getMapThemeParams: function _getMapThemeParams() {\n var params = { layerstree: [], styles: {} };\n var treeItem = function treeItem(type, node) {\n return LAYERSTREES_ATTRIBUTES[type].reduce(function (acc, attr) {\n acc[attr] = node[attr];return acc;\n }, {});\n };\n var traverse = function traverse(nodes, tree) {\n nodes.forEach(function (node) {\n if (undefined !== node.id) {\n params.styles[node.id] = node.styles.find(function (s) {\n return s.current;\n }).name;\n tree.push(treeItem('node', node));\n }\n\n if (Array.isArray(node.nodes)) {\n var group = treeItem('group', node);\n group.nodes = [];\n tree.push(group);\n traverse(node.nodes, group.nodes);\n }\n });\n };\n\n traverse(this.layerstrees[0].tree[0].nodes, params.layerstree);\n\n return params;\n },\n saveTheme: function () {\n var _ref = _asyncToGenerator(function* () {\n var theme = this.custom_theme.value;\n\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n var saved = yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n if (saved.result) {\n this.map_themes.custom.push({ theme: this.custom_theme.value, styles: params.styles });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.saved_map_theme', autoclose: true });\n\n this.show_form = false;\n\n this.active_theme = this.custom_theme.value;\n\n yield this.$nextTick();\n\n this.custom_theme.value = null;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function saveTheme() {\n return _ref.apply(this, arguments);\n }\n\n return saveTheme;\n }(),\n updateTheme: function () {\n var _ref2 = _asyncToGenerator(function* (theme) {\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n var c_theme = this.map_themes.custom.find(function (mt) {\n return theme === mt.theme;\n });\n c_theme.styles = params.styles;\n c_theme.layerstree = params.layerstree;\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.updated_map_theme', autoclose: true });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function updateTheme(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return updateTheme;\n }(),\n deleteTheme: function deleteTheme(theme) {\n var _this = this;\n\n _gui2.default.dialog.confirm(t('sdk.catalog.question_delete_map_theme'), function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (!bool || !theme) {\n return;\n }\n try {\n var deleted = yield _XHR.XHR.delete({ url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\" });\n if (deleted.result) {\n _this.map_themes.custom = _this.map_themes.custom.filter(function (_ref4) {\n var t = _ref4.theme;\n return t !== theme;\n });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.delete_map_theme', autoclose: true });\n\n if (theme === _this.active_theme) {\n _this.active_theme = null;\n }\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n }\n },\n\n watch: {\n\n 'active_theme': {\n immediate: false,\n handler: function handler(map_theme) {\n if (null === map_theme || map_theme === this.custom_theme.value) {\n return;\n }\n this.$emit('change-map-theme', map_theme);\n }\n },\n\n 'custom_theme.value': function custom_themeValue(name) {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.custom_theme.validate.valid = name ? !_this2.map_themes.custom.find(function (_ref5) {\n var theme = _ref5.theme;\n return theme === name.trim();\n }) : false;\n }, 200);\n },\n show_form: function () {\n var _ref6 = _asyncToGenerator(function* (bool) {\n this.custom_theme.value = null;\n\n if (bool) {\n yield this.$nextTick();\n Array.from(this.$refs.add_map_theme_input.$el.children).forEach(function (child) {\n return child.classList.remove('col-sm-12');\n });\n }\n });\n\n function show_form(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return show_form;\n }()\n },\n\n created: function created() {\n this.logged = undefined !== _application2.default.user.id;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sidebar-menu\"},[_c('li',{staticClass:\"treeview sidebaritem skin-border-color\",attrs:{\"id\":\"g3w-catalog-toc-views\"}},[_c('a',{staticClass:\"g3w-map-theme-anchor\",attrs:{\"href\":\"#\"}},[_c('section',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_c('i',{class:_vm.$fa(_vm.collapsed ? 'caret-down' : 'caret-up'),staticStyle:{\"padding\":\"3px\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.collapsed ? 'eye-close' : 'eye'),staticStyle:{\"padding\":\"0 0 0 4px\"}}),_vm._v(\" \"),(_vm.active_theme)?_c('span',{staticClass:\"current_map_theme treeview-label g3w-long-text\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.catalog.current_map_theme_prefix'),expression:\"'sdk.catalog.current_map_theme_prefix'\",arg:\"pre\"}],staticStyle:{\"color\":\"#ccc !important\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\",staticStyle:{\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.active_theme))])]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.choose_map_theme'),expression:\"'sdk.catalog.choose_map_theme'\"}],staticClass:\"choose_map_theme treeview-label\"})])]),_vm._v(\" \"),(_vm.show_form)?_c('div',{staticClass:\"add-map-theme skin-border-color\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\",\"padding-top\":\"5px\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"2px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = false}}})]),_vm._v(\" \"),_c('div',{staticClass:\"container add-map-theme-input\"},[_c('input-text',{ref:\"add_map_theme_input\",attrs:{\"state\":_vm.custom_theme}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.custom_theme.validate.valid),expression:\"!custom_theme.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveTheme($event)}}})])]):_c('ul',{class:{'menu-open': !_vm.collapsed},attrs:{\"id\":\"g3w-catalog-views\"}},[((_vm.map_themes.project || []).length > 0)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-project\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.project_map_theme'),expression:\"'sdk.catalog.project_map_theme'\"}],staticClass:\"project_map_theme\"})]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.project),function(map_theme,i){return _c('div',{key:map_theme.theme},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i)},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"for\":(\"g3w-map_theme-\" + i)}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])])}),0)])]):_vm._e(),_vm._v(\" \"),(_vm.logged)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-user\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{staticClass:\"user_map_theme\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.user_map_theme'),expression:\"'sdk.catalog.user_map_theme'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"margin-left\":\"auto\",\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = !_vm.show_form}}})])]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.custom),function(map_theme,i){return _c('div',{key:map_theme.theme,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i + \"-user\")},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"g3w-map_theme-\" + i + \"-user\")}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])]),_vm._v(\" \"),_c('span',{staticClass:\"g3w-custom-map-theme-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('update'),expression:\"'update'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.active_theme !== map_theme.theme),expression:\"active_theme !== map_theme.theme\"}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateTheme(map_theme.theme)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('save')})]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('cancel'),expression:\"'cancel'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteTheme(map_theme.theme)}}},[_c('i',{class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\"}})])])])}),0)])]):_vm._e()])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06d0cd43\"\n\n},{\"./InputText.vue\":77,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],39:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".catalog-context-menu{background:#fafafa;border:1px solid #bdbdbd;border-radius:3px;display:block;list-style:none;margin:0;padding:0;position:fixed;min-width:150px;z-index:2;color:#000;outline:none;display:flex;flex-direction:column}.catalog-context-menu li ul{position:absolute;width:max-content;order:1;padding-left:0;background-color:#fff;color:#000}.catalog-context-menu li:not(:hover) ul{display:none}.catalog-context-menu li{border-bottom:1px solid #e0e0e0;margin:0;padding:8px 25px 8px 15px;display:flex;flex-direction:row}.catalog-context-menu li i{padding-right:3px;margin-right:6px;color:var(--skin-d20)!important}.catalog-context-menu li .click-to-copy{color:#000;opacity:1;margin-left:1ch;margin-right:-15px;margin-top:8px}.catalog-context-menu li .click-to-copy:hover{color:#fff!important;transform:scale(1.1)}.catalog-context-menu .click-to-copy .tooltip-inner{min-width:200px}.catalog-context-menu li.title{background:transparent!important;font-size:1.1em;font-weight:700;border-bottom-width:3px!important;flex-direction:column;max-width:250px;cursor:move!important;color:#000!important}.catalog-context-menu li:last-child{border-bottom:none}.catalog-context-menu li:hover{color:#fafafa;cursor:pointer}.catalog-context-menu li .layer-menu-metadata-info{background-color:#fff;color:#000;padding:5px;max-width:200px;white-space:normal;overflow-y:auto;max-height:150px}.catalog-context-menu .tooltip-inner{word-break:break-all;font-weight:700}.catalog-context-menu .item-text{margin-left:3px}.catalog-context-menu :is(ul,li){list-style-type:none}.catalog-context-menu li.inline-submenu{display:list-item;padding:0;text-indent:100%;line-height:0;overflow:hidden}.catalog-context-menu li.inline-submenu>*{display:none}.catalog-context-menu li.inline-submenu>ul{display:block;position:relative;left:0!important;width:100%;text-indent:0;line-height:normal}.catalog-context-menu li,.catalog-context-menu li.inline-submenu>ul>li{font-weight:700}.catalog-context-menu li li{font-weight:400}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vueColor = require('vue-color');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar shpwrite = require('shp-write');\n\nfunction dragElement(menu) {\n var el = menu.querySelector('li.title');\n if (!el || menu._drag) {\n return;\n } else {\n menu._drag = true;\n }\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (menu.style.marginLeft) {\n x2 -= parseInt(menu.style.marginLeft);menu.style.marginLeft = null;\n }\n if (menu.style.marginTop) {\n y2 -= parseInt(menu.style.marginTop);menu.style.marginTop = null;\n }\n menu.style.top = menu.offsetTop - y2 + \"px\";\n menu.style.left = menu.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: 'catalog-context-menu',\n\n props: {\n external: {\n type: Object\n }\n },\n\n data: function data() {\n return {\n ApplicationState: _application2.default,\n layer: null,\n layer_style: null,\n top: 0,\n left: 0,\n project_menu: false,\n layer_menu: false\n };\n },\n\n\n computed: {\n edit_url: function edit_url() {\n return _application2.default.project.getState().edit_url;\n },\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n }\n },\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n directives: {\n 'click-outside': {\n bind: function bind(el, binding, vnode) {\n this.event = function (e) {\n if (el === e.target || el.contains(e.target)) {\n return;\n }\n e.stopPropagation();\n vnode.context[binding.expression](e);\n };\n document.body.addEventListener('click', this.event, true);\n },\n unbind: function unbind() {\n document.body.removeEventListener('click', this.event, true);\n }\n }\n },\n\n methods: {\n onShowContextMenu: function () {\n var _ref = _asyncToGenerator(function* (e, layerstree) {\n this.closeMenu();\n yield this.$nextTick();\n this.left = e.x;\n var layer = !(layerstree || {}).nodes && layerstree;\n this.layer = layer || null;\n this.layer_menu = !!layer;\n this.project_menu = !layer;\n yield this.$nextTick();\n this.top = e.target.getBoundingClientRect().top - this.$refs['menu'].clientHeight + e.target.clientHeight / 2;\n $('.click-to-copy[data-toggle=\"tooltip\"]').tooltip();\n\n [this.$refs.download_menu, this.$refs.ogc_menu].forEach(function (li) {\n return li && li.classList.toggle('inline-submenu', 1 === li.querySelector('ul').children.length);\n });\n dragElement(this.$refs.menu);\n });\n\n function onShowContextMenu(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return onShowContextMenu;\n }(),\n closeMenu: function closeMenu() {\n this.layer_menu = false;\n this.project_menu = false;\n },\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n this.$refs.layer_color.style.backgroundColor = val.hex;\n var layer = _gui2.default.getService('map').getLayerByName(this.layer.name || '');\n var style = layer.getStyle();\n style._g3w_options.color = val;\n layer.setStyle(style);\n },\n canShowWmsUrl: function canShowWmsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && !!layer.getFullWmsUrl();\n },\n canShowWfsUrl: function canShowWfsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && layer.isWfsActive();\n },\n canDownload: function canDownload(format, layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && layer['is' + format + 'Downloadable']();\n },\n getWmsUrl: function getWmsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWmsUrl();\n },\n getWfsUrl: function getWfsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfsUrl();\n },\n getWfs3Url: function getWfs3Url(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfs3Url();\n },\n copyUrl: function copyUrl(format, el) {\n var _this = this;\n\n var url = this['get' + format + 'Url'](this.layer.id);\n var a = document.createElement('a');\n var input = document.createElement('input');\n a.href = url;\n input.value = a.href;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"copy\");\n $(el).attr('data-original-title', t('sdk.catalog.menu.wms.copied')).tooltip('show');\n $(el).attr('title', this.copywmsurltooltip).tooltip('fixTitle');\n input.remove();\n a.remove();\n setTimeout(function () {\n $('[data-toggle=\"tooltip\"]').tooltip(\"destroy\");\n _this.closeMenu();\n }, 600);\n },\n download: function () {\n var _ref2 = _asyncToGenerator(function* (format, layerId) {\n var map_extent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _application2.default.download = true;\n try {\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId)['get' + format]({\n data: map_extent ? { map_extent: _gui2.default.getService('map').getMapExtent().toString() } : undefined\n });\n } catch (e) {\n _gui2.default.notify.error(t(\"info.server_error\"));\n }\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function download(_x4, _x5) {\n return _ref2.apply(this, arguments);\n }\n\n return download;\n }(),\n downloadExternal: function downloadExternal(url) {\n _application2.default.download = true;\n (0, _downloadFile.downloadFile)({ url: url });\n _application2.default.download = false;\n },\n setLayerPosition: function setLayerPosition(position) {\n if (position !== this.layer.position) {\n this.layer.position = position;\n var map = _gui2.default.getService('map');\n map.getLayerById(this.layer.id).setZIndex({ top: map.layersCount, bottom: 0 }[position]);\n map.emit('change-layer-position-map', { id: this.layer.id, position: position });\n this.closeMenu();\n }\n },\n zoomToLayer: function zoomToLayer(layer) {\n try {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: '' + e.message,\n textMessage: true\n });\n }\n this.closeMenu();\n },\n canEdit: function canEdit(layer) {\n return layer ? !layer.external && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).isEditable() && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).config.editing.visible : g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n },\n startEditing: function startEditing(layer) {\n this.closeMenu();\n var editing = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n editing.showPanel(layer ? { toolboxes: [layer.id] } : undefined);\n if (layer) {\n editing.startEditing(layer.id);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coord) {\n return coord > 0;\n });\n },\n getGeometryType: function getGeometryType(layerId) {\n var external = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = external ? _gui2.default.getService('catalog').state.external.vector.find(function (l) {\n return l.id === layerId;\n }) : (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n if (layer) {\n var type = external ? layer.geometryType : layer.config.geometrytype;\n return layer && 'NoGeometry' !== type && type || '';\n }\n return '';\n },\n downloadExternalShapefile: function () {\n var _ref3 = _asyncToGenerator(function* (layer) {\n _application2.default.download = true;\n var features = _gui2.default.getService('map').getLayerByName(layer.name).getSource().getFeatures();\n if ('EPSG:4326' !== layer.crs) {\n features = features.map(function (f) {\n var feat = f.clone();\n feat.getGeometry().transform(layer.crs, 'EPSG:4326');\n return feat;\n });\n }\n var name = layer.name.split('.' + layer.type)[0];\n shpwrite.download(new ol.format.GeoJSON().writeFeaturesObject(features, { featureProjection: 'EPSG:4326' }), {\n folder: name,\n types: {\n point: name,\n mulipoint: name,\n polygon: name,\n multipolygon: name,\n line: name,\n polyline: name,\n multiline: name\n }\n });\n yield this.$nextTick();\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function downloadExternalShapefile(_x7) {\n return _ref3.apply(this, arguments);\n }\n\n return downloadExternalShapefile;\n }(),\n showAttributeTable: function showAttributeTable(layerId) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerId).openAttributeTable();\n this.closeMenu();\n },\n showMetadata: function () {\n var _ref4 = _asyncToGenerator(function* (layerId) {\n this.closeMenu();\n $('#modal-metadata').modal('show');\n if (layerId) {\n setTimeout(function () {\n document.querySelector('#project-catalog [href=\"#metadata_layers\"]').click();\n document.querySelector('#metadata_layers [data-target=\"#' + layerId + '\"]').click();\n });\n }\n });\n\n function showMetadata(_x8) {\n return _ref4.apply(this, arguments);\n }\n\n return showMetadata;\n }(),\n setLayerStyle: function setLayerStyle(index) {\n var _this2 = this;\n\n var changed = false;\n this.layer.styles.forEach(function (style, i) {\n if (i === index) {\n _this2.layer_style = style.name;\n changed = !style.current;\n style.current = true;\n } else {\n style.current = false;\n }\n });\n var layer = changed && (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (layer) {\n _g3wEventbus.VM.$emit('layer-change-style', { layerId: this.layer.id, style: this.layer_style });\n layer.change();\n }\n this.closeMenu();\n },\n setLayerFilter: function () {\n var _ref5 = _asyncToGenerator(function* (filter) {\n var changed = null === this.layer.filter.current || this.layer.filter.current.fid !== filter.fid;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (changed) {\n yield layer.applyFilter(filter);\n } else {\n yield layer.deleteFilterToken();\n }\n layer.change();\n this.closeMenu();\n });\n\n function setLayerFilter(_x9) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayerFilter;\n }(),\n deleteFilter: function () {\n var _ref6 = _asyncToGenerator(function* (fid) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n var change = fid === this.layer.fid;\n\n if (!layer) {\n return;\n }\n yield layer.deleteFilterToken(fid);\n if (change) {\n layer.change();\n }\n\n this.closeMenu();\n });\n\n function deleteFilter(_x10) {\n return _ref6.apply(this, arguments);\n }\n\n return deleteFilter;\n }(),\n showMenu: function () {\n var _ref7 = _asyncToGenerator(function* (e) {\n var li = e.target.closest('li');\n var ul = li && li.querySelector('ul');\n if (ul) {\n var overflowY = ul.offsetHeight + ul.getBoundingClientRect().top >= this.$refs['menu'].offsetHeight + this.$refs['menu'].getBoundingClientRect().top;\n ul.style.top = ul.offsetHeight > this.$refs['menu'].offsetHeight ? 0 : undefined;\n ul.style.left = this.$refs['menu'].offsetWidth - 2 + 'px';\n ul.style.maxHeight = this.$refs['menu'].offsetHeight + 'px';\n ul.style.bottom = overflowY ? 0 : undefined;\n ul.style.marginTop = overflowY ? undefined : '-5px';\n ul.style.overflowY = 'auto';\n }\n });\n\n function showMenu(_x11) {\n return _ref7.apply(this, arguments);\n }\n\n return showMenu;\n }(),\n canOpenAttributeTable: function canOpenAttributeTable(layer) {\n return layer.openattributetable;\n },\n isExternalLayer: function isExternalLayer(layer) {\n return !layer.projectLayer;\n },\n isExternalWMSLayer: function isExternalWMSLayer(layer) {\n return !layer.projectLayer && 'wms' === layer._type;\n },\n isExternalVectorLayer: function isExternalVectorLayer(layer) {\n return !layer.projectLayer && 'wms' !== layer._type;\n },\n canShowStylesMenu: function canShowStylesMenu(layer) {\n return layer.geolayer && layer.styles && layer.styles.length > 1;\n },\n canShowFiltersMenu: function canShowFiltersMenu(layer) {\n return layer.filters && layer.filters.length > 0;\n },\n hasMetadata: function hasMetadata(layer) {\n return layer.metadata;\n },\n canShowOpacityPicker: function canShowOpacityPicker(layer) {\n return layer.geolayer && layer.visible;\n },\n onLayerOpacity: function onLayerOpacity() {\n if (this.isExternalWMSLayer(this.layer)) {\n var layer = _gui2.default.getService('map').getLayerById(this.layer.id);\n if (layer) {\n layer.setOpacity(this.layer.opacity);\n _gui2.default.getService('map').emit('change-layer-opacity', { id: this.layer.id, opacity: this.layer.opacity });\n }\n } else {\n var _layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (_layer) {\n _g3wEventbus.VM.$emit('layer-change-opacity', { layerId: this.layer.id });\n _layer.change();\n }\n }\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n _g3wEventbus.VM.$on('context-menu', this.onShowContextMenu);\n document.addEventListener('keyup', function (e) {\n return 'Escape' === e.key && _this3.closeMenu();\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.layer_menu || _vm.project_menu)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"catalog-context-menu\",style:({\n top: _vm.top + 'px',\n left: _vm.left + 'px',\n }),attrs:{\"id\":\"layer-context-menu\",\"tabindex\":\"-1\"},on:{\"mouseover\":_vm.showMenu}},[_c('li',{staticClass:\"title\"},[(_vm.project_menu)?_c('div',[_vm._v(\"G3W-ADMIN \"+_vm._s(_vm.ApplicationState.project.getName()))]):_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.layer.title)+\"\\n \"),_c('div',{staticStyle:{\"font-weight\":\"normal\",\"font-size\":\"0.8em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getGeometryType(_vm.layer.id, _vm.layer.external))+\"\\n \")])])]),_vm._v(\" \"),(_vm.project_menu || _vm.hasMetadata(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showMetadata(_vm.layer && _vm.layer.id)}}},[_c('i',{class:_vm.$fa('info')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.metadata.title'))+\"\\n \"),(_vm.layer && _vm.layer.metadata && _vm.layer.metadata.abstract)?_c('ul',{staticStyle:{\"border-radius\":\"0 3px 3px 0\"}},[_c('li',{staticClass:\"layer-menu-metadata-info\",domProps:{\"innerHTML\":_vm._s(_vm.layer.metadata.abstract)}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.canEdit(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.startEditing(_vm.layer)}}},[_c('i',{class:_vm.$fa('pencil')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.layer_menu)?[(_vm.canZoom(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.zoomToLayer(_vm.layer)}}},[_c('i',{class:_vm.$fa('search')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.zoomtolayer'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canOpenAttributeTable(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showAttributeTable(_vm.layer.id)}}},[_c('i',{class:_vm.$fa('list')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.open_attribute_table'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('sort')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('layer_position.message'))+\" (\"+_vm._s(_vm.$t('layer_position.' + _vm.layer.position))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((['top', 'bottom']),function(position){return _c('li',{staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){return _vm.setLayerPosition(position)}}},[(position === _vm.layer.position)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.' + position),expression:\"'layer_position.' + position\"}]})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowStylesMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('palette')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.styles'))+\" (\"+_vm._s(_vm.layer.styles.find(function (s) { return s.current; }).name.toLowerCase())+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.styles),function(style,i){return _c('li',{key:style.name,staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerStyle(i)}}},[(style.current)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.8em\"}}):_vm._e(),_vm._v(\"\\n \"+_vm._s(style.name + (_vm.layer.styles.length > 1 && style.name === _vm.layer.defaultstyle ? (\" (\" + (_vm.$t('default')) + \")\") : ''))+\"\\n \")])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowOpacityPicker(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s((_vm.layer.opacity / 100))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(0)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalWMSLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s(_vm.layer.opacity)+\")\\n \"),_c('span',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.01\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(1)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('tint')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.vector_color_menu'))+\"\\n \"),_c('i',{ref:\"layer_color\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"border-radius\":\"10px\",\"position\":\"absolute\",\"right\":\"20px\",\"margin-top\":\"4px\"},style:({ backgroundColor: _vm.layer.color })}),_vm._v(\" \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"padding\":\"14px\",\"background-color\":\"#E0E0E0\"}},[_c('chrome-picker',{ref:\"color_picker\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();},\"hook:beforeDestroy\":function () { return _vm.$refs.color_picker.$off(); },\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}})],1)])]):_vm._e(),_vm._v(\" \"),(_vm.canShowFiltersMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('filter')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.filters'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.filters),function(filter){return _c('li',{key:filter.fid,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerFilter(filter)}}},[(_vm.layer.filter.current && _vm.layer.filter.current.fid === filter.fid)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\",\"justify-self\":\"flex-start\"}}):_vm._e(),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_vm._v(_vm._s(filter.name))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-border-color\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"right\":\"0\",\"padding-left\":\"10px\",\"border-left\":\"2px solid\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFilter(filter.fid)}}})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('', _vm.layer.id) || _vm.isExternalVectorLayer(_vm.layer))?_c('li',{ref:\"download_menu\",attrs:{\"disabled\":_vm.ApplicationState.download}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.download'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.ApplicationState.download}}),_vm._v(\" \"),_c('ul',[(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('geotiff')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoTiff'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id, true)}}},[_c('i',{class:_vm.$fa('geotiff'),staticStyle:{\"color\":\"#777\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('crop'),staticStyle:{\"position\":\"absolute\",\"left\":\"-7px\",\"bottom\":\"8px\",\"font-size\":\"1.2em\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('sdk.catalog.menu.download.geotiff_map_extent'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Shp', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Shp', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpx', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpx', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpx')}),_vm._v(\" \"+_vm._s(_vm.$t('GPX'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpkg', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpkg', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpkg')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoPackage'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Csv', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Csv', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('csv')}),_vm._v(\" \"+_vm._s(_vm.$t('CSV'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Xls', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Xls', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('xls')}),_vm._v(\" \"+_vm._s(_vm.$t('Excel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && _vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternal(_vm.layer.downloadUrl)}}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.catalog.menu.download.unknow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && !_vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternalShapefile(_vm.layer)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),([\n this.canShowWmsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id)\n ].filter(Boolean).length)?_c('li',{ref:\"ogc_menu\"},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.ogc_services'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[(_vm.canShowWmsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wms', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWmsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WMS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWmsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs3', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfs3Url(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS 3\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfs3Url(_vm.layer.id)}})]):_vm._e()])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.layers_url && _vm.layer_menu && !_vm.isExternalLayer(_vm.layer))?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Layers settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.edit_url && _vm.project_menu)?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.edit_url,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeMenu($event)}}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Project settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"75\"}},[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"1\")])])},function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',[_vm._v(\"1\")])])}]\n\n},{\"g3w-eventbus\":127,\"g3w-i18n\":129,\"services/gui\":173,\"shp-write\":\"shp-write\",\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],40:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".layer-legend[data-v-fc3d03ea]{padding-left:36px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"catalog-layer-legend\",\n props: {\n legendplace: {\n type: String\n },\n layer: {\n type: Object\n }\n },\n data: function data() {\n return {\n loading: false,\n\n categories: [],\n\n currentstyle: this.layer.styles.find(function (style) {\n return true === style.current;\n }).name\n\n };\n },\n\n mixins: [_click2.default],\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layer.featurecount;\n },\n externallegend: function externallegend() {\n return 'wms' === this.layer.source.type;\n },\n legend: function legend() {\n return this.layer.legend;\n },\n show: function show() {\n return this.layer.expanded && this.layer.visible && ('toc' === this.legendplace || 'tab' === this.legendplace && this.layer.categories);\n }\n },\n\n methods: {\n onCategoryClick: function onCategoryClick() {\n this.handleClick({\n '1': function _() {\n console.info('TODO: select category (single click)');\n },\n '2': function _() {\n console.info('TODO: zoom to category (double click)');\n }\n }, this);\n },\n showCategoryMenu: function showCategoryMenu() {\n this.$emit('showmenucategory');\n },\n getWmsSourceLayerLegendUrl: function getWmsSourceLayerLegendUrl() {\n return this.getProjectLayer().getLegendUrl({\n width: 16,\n height: 16\n });\n },\n getProjectLayer: function getProjectLayer() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n isDisabled: function isDisabled(index) {\n return this.categories[index].disabled;\n },\n showHideLayerCategory: function showHideLayerCategory(index) {\n this.categories[index].checked = !this.categories[index].checked;\n this.getProjectLayer().change();\n if ('tab' === this.legendplace) {\n this.layer.legend.change = true;\n } else if (this.categories[index].checked && this.mapReady) {\n this.setLayerCategories(false);\n }\n },\n setError: function setError() {\n this.legend.error = true;\n this.legend.loading = false;\n },\n urlLoaded: function () {\n var _ref = _asyncToGenerator(function* () {\n this.legend.loading = false;\n });\n\n function urlLoaded() {\n return _ref.apply(this, arguments);\n }\n\n return urlLoaded;\n }(),\n onChangeLayerLegendStyle: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.loading = true;\n\n if (this.externallegend) {\n return;\n }\n\n try {\n if (undefined !== options.style && options.layerId === this.layer.id) {\n yield this.setLayerCategories(true);\n yield this.getProjectLayer().getStyleFeatureCount(options.style);\n this.currentstyle = options.style;\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n }\n }\n } catch (e) {\n console.warn('Error while changing layer style', e);\n }\n\n this.loading = false;\n });\n\n function onChangeLayerLegendStyle() {\n return _ref2.apply(this, arguments);\n }\n\n return onChangeLayerLegendStyle;\n }(),\n setLayerCategories: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var all = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n var projectLayer = this.getProjectLayer();\n var categories = projectLayer.getCategories();\n\n if (all && categories) {\n this.categories = categories;\n } else {\n var _ref4 = yield projectLayer.getLegendGraphic({ all: all }),\n _ref4$nodes = _ref4.nodes,\n nodes = _ref4$nodes === undefined ? [] : _ref4$nodes;\n\n if (all) {\n this._setAllLayerCategories(nodes);\n } else {\n this._updateLayerCategories(nodes, categories);\n }\n }\n } catch (err) {\n this.setError();\n }\n });\n\n function setLayerCategories() {\n return _ref3.apply(this, arguments);\n }\n\n return setLayerCategories;\n }(),\n _setAllLayerCategories: function _setAllLayerCategories(nodes) {\n var projectLayer = this.getProjectLayer();\n\n var categories = [];\n nodes.forEach(function (_ref5) {\n var icon = _ref5.icon,\n title = _ref5.title,\n ruleKey = _ref5.ruleKey,\n checked = _ref5.checked,\n _ref5$symbols = _ref5.symbols,\n symbols = _ref5$symbols === undefined ? [] : _ref5$symbols;\n\n if (icon) {\n categories.push({ icon: icon, title: title, ruleKey: ruleKey, checked: checked, disabled: false });\n } else {\n symbols.forEach(function (symbol) {\n symbol._checked = symbol.checked;\n symbol.disabled = false;\n categories.push(symbol);\n });\n }\n });\n projectLayer.setCategories(categories);\n this.categories = categories;\n },\n _updateLayerCategories: function _updateLayerCategories(nodes, categories) {\n var projectLayer = this.getProjectLayer();\n\n projectLayer.setCategories(categories);\n this.categories = categories;\n\n if (nodes.length) {\n nodes.forEach(function (_ref6) {\n var icon = _ref6.icon,\n title = _ref6.title,\n _ref6$symbols = _ref6.symbols,\n symbols = _ref6$symbols === undefined ? [] : _ref6$symbols;\n\n if (icon) {\n symbols = [{ icon: icon, title: title }];\n }\n categories.forEach(function (category) {\n var findSymbol = symbols.find(function (symbol) {\n return symbol.icon === category.icon && symbol.title === category.title;\n });\n var disabled = undefined !== category.checked ? category.checked : true;\n category.disabled = disabled && undefined === findSymbol;\n });\n });\n } else {\n categories.forEach(function (category) {\n return category.disabled = undefined !== category.checked ? category.checked : true;\n });\n }\n },\n onChangeMapLegendParams: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.mapReady = true;\n if (this.layer.visible && false === this.externallegend && ('toc' === this.legendplace || this.layer.categories)) {\n this.setLayerCategories(false);\n }\n });\n\n function onChangeMapLegendParams() {\n return _ref7.apply(this, arguments);\n }\n\n return onChangeMapLegendParams;\n }(),\n runInitLayerVisibleAction: function () {\n var _ref8 = _asyncToGenerator(function* () {\n yield this.setLayerCategories(true);\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n _gui2.default.getService('map').on('change-map-legend-params', this.onChangeMapLegendParams);\n }\n this.initialize = true;\n });\n\n function runInitLayerVisibleAction() {\n return _ref8.apply(this, arguments);\n }\n\n return runInitLayerVisibleAction;\n }()\n },\n\n watch: {\n 'layer.visible': function () {\n var _ref9 = _asyncToGenerator(function* (visible) {\n var enabled = visible && false === this.externallegend;\n\n if (enabled && false === this.initialize) {\n yield this.runInitLayerVisibleAction();\n }\n\n if (enabled && false !== this.initialize) {\n yield this.setLayerCategories(!this.dynamic);\n }\n });\n\n function layerVisible(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return layerVisible;\n }()\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n this.initialize = false;\n\n this.dynamic = _application2.default.project.state.context_base_legend;\n\n this.mapReady = false;\n\n _g3wEventbus.VM.$on('layer-change-style', this.onChangeLayerLegendStyle);\n\n if (false === this.externallegend && true === this.layer.visible) {\n yield this.runInitLayerVisibleAction();\n }\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n _g3wEventbus.VM.$off('layer-change-style', this.onChangeLayerLegendStyle);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"layer-legend\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.legend)?_c('bar-loader',{attrs:{\"loading\":_vm.legend.loading}}):_vm._e(),_vm._v(\" \"),(_vm.externallegend)?_c('figure',[_c('img',{attrs:{\"src\":_vm.getWmsSourceLayerLegendUrl()}})]):_c('figure',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(category.disabled),expression:\"category.disabled\"}],staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"},on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showCategoryMenu($event)}}},[(category.ruleKey)?_c('span',{class:_vm.$fa(category.checked ? 'check': 'uncheck'),staticStyle:{\"padding-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showHideLayerCategory(index)}}}):_vm._e(),_vm._v(\" \"),(('toc' === _vm.legendplace))?_c('img',{attrs:{\"src\":category.icon && (\"data:image/png;base64,\" + (category.icon))},on:{\"error\":function($event){return _vm.setError()},\"load\":function($event){return _vm.urlLoaded()}}}):_vm._e(),_vm._v(\" \"),(('tab' === _vm.legendplace && category.ruleKey) || ('toc' === _vm.legendplace))?_c('span',{staticClass:\"g3w-long-text\",staticStyle:{\"padding-left\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCategoryClick($event)}}},[_c('span',[_vm._v(_vm._s(category.title))]),_vm._v(\" \"),(_vm.showfeaturecount && 'undefined' !== typeof category.ruleKey)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.layer.stylesfeaturecount[_vm.currentstyle][category.ruleKey])+\"]\\n \")]):_vm._e()]):_vm._e()])})],2)],1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-fc3d03ea\"\n\n},{\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],41:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _CatalogLayerLegend = require('components/CatalogLayerLegend.vue');\n\nvar _CatalogLayerLegend2 = _interopRequireDefault(_CatalogLayerLegend);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _setAllLayersVisible(layers) {\n layers.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: layers.visible && n.checked });\n } else if (n.parentGroup.checked && n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(layers.visible);\n }\n });\n};\n\nexports.default = {\n name: 'catalog-tristate-tree',\n\n props: ['layerstree', 'storeid', 'legend', 'legendplace', 'parent_mutually_exclusive', 'parentFolder', 'externallayers', 'root', 'parent'],\n\n components: {\n CatalogLayerLegend: _CatalogLayerLegend2.default\n },\n\n mixins: [_click2.default],\n\n data: function data() {\n return {\n expanded: this.layerstree.expanded,\n isGroupChecked: true,\n controltoggled: false,\n n_childs: null,\n filtered: false,\n logged: undefined !== _application2.default.user.id };\n },\n\n\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layerstree.featurecount;\n },\n showLegendLayer: function showLegendLayer() {\n return !this.layerstree.exclude_from_legend;\n },\n showLayerTocLegend: function showLayerTocLegend() {\n return !this.isGroup && this.showLegendLayer && this.layerstree.geolayer;\n },\n isGroup: function isGroup() {\n return !!this.layerstree.nodes;\n },\n legendlayerposition: function legendlayerposition() {\n return this.showLegendLayer && this.layerstree.legend ? this.legendplace : 'tab';\n },\n showscalevisibilityclass: function showscalevisibilityclass() {\n return !this.isGroup && this.layerstree.scalebasedvisibility;\n },\n showScaleVisibilityToolip: function showScaleVisibilityToolip() {\n return this.showscalevisibilityclass && this.layerstree.disabled && this.layerstree.checked;\n },\n isTable: function isTable() {\n return !this.isGroup && !this.layerstree.geolayer && !this.layerstree.external;\n },\n isHidden: function isHidden() {\n return this.layerstree.hidden && true === this.layerstree.hidden;\n },\n selected: function selected() {\n this.layerstree.selected = this.layerstree.disabled && this.layerstree.selected ? false : this.layerstree.selected;\n },\n isHighLight: function isHighLight() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id) || this.layerstree;\n return !this.isGroup && _application2.default.highlightlayers && layer && layer.isVisible() && layer.getTocHighlightable();\n },\n isInGrey: function isInGrey() {\n return !this.isGroup && !this.isTable && !this.layerstree.external && (!this.layerstree.visible || this.layerstree.disabled);\n },\n getFeatureCount: function getFeatureCount() {\n return Object.values(this.layerstree.featurecount).reduce(function (total, categoryFeatureCount) {\n return total + 1 * categoryFeatureCount;\n }, 0);\n }\n },\n\n watch: {\n 'layerstree.checked': function layerstreeChecked() {\n if (this.isGroup) {\n this.handleGroupChecked(this.layerstree);\n } else {\n this.handleLayerChecked(this.layerstree);\n }\n }\n },\n\n methods: {\n removeCurrentFilter: function removeCurrentFilter() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id).deleteFilterToken();\n },\n handleGroupChecked: function handleGroupChecked(group) {\n\n if (!group.checked) {\n group.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: false });\n } else if (n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(false);\n }\n });\n return;\n }\n\n var visible = group.parentGroup ? group.parentGroup.checked : true;\n var mutually_exclusive = group.parentGroup && group.parentGroup.mutually_exclusive;\n\n if (!mutually_exclusive) {\n _setAllLayersVisible({ nodes: group.nodes, visible: visible });\n }\n\n if (mutually_exclusive) {\n group.parentGroup.nodes.forEach(function (n) {\n n.checked = n.groupId === group.groupId;\n if (n.checked) {\n _setAllLayersVisible({ nodes: n.nodes, visible: visible });\n }\n });\n }\n\n var g = group.parentGroup;\n while (g) {\n g.checked = g.root || g.checked;\n g = g.parentGroup;\n }\n },\n handleLayerChecked: function handleLayerChecked(layer) {\n\n var map = _gui2.default.getService('map');\n\n if (!layer.projectLayer) {\n layer.visible = layer.checked;\n layer.setVisible(layer.checked);\n map.emit('change-layer-visibility', { id: layer.id, visible: layer.checked });\n return;\n }\n\n var qlayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var checked = layer.checked;\n\n qlayer.setVisible(checked ? !layer.disabled : false);\n\n if (checked && layer.parentGroup.mutually_exclusive) {\n layer.parentGroup.nodes.forEach(function (n) {\n return n.checked = n.id === layer.id;\n });\n }\n\n var g = layer.parentGroup;\n while (checked && g) {\n g.checked = true;\n g = g.parentGroup;\n }\n\n _g3wEventbus.VM.$emit('treenodevisible', qlayer);\n },\n saveFilter: function saveFilter(layerstree) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerstree.id).saveFilter();\n },\n toggleFilterLayer: function toggleFilterLayer() {\n _g3wEventbus.VM.$emit('activefiltertokenlayer', this.storeid, this.layerstree);\n },\n clearSelection: function clearSelection() {\n _g3wEventbus.VM.$emit('unselectionlayer', this.storeid, this.layerstree);\n },\n toggle: function toggle() {\n this.layerstree.checked = !this.layerstree.checked;\n },\n expandCollapse: function expandCollapse() {\n this.layerstree.expanded = !this.layerstree.expanded;\n },\n select: function select() {\n if (undefined !== this.layerstree.selected && (!this.isGroup && !this.isTable || this.layerstree.external && false === this.layerstree.projectLayer)) {\n _g3wEventbus.VM.$emit('treenodeselected', this.layerstree);\n }\n },\n maybeZoomToLayer: function maybeZoomToLayer(layer) {\n if (this.canZoom(this.layerstree)) {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coordinate) {\n return coordinate > 0;\n });\n },\n onTreeItemClick: function onTreeItemClick() {\n var _this = this;\n\n this.handleClick({\n '1': function _() {\n return !_this.isTable && !_this.isGroup && _this.select();\n },\n '2': function _() {\n return !_this.isTable && _this.maybeZoomToLayer(_this.layerstree);\n }\n }, this);\n },\n triClass: function triClass() {\n return this.g3wtemplate.getFontClass(this.layerstree.checked ? 'check' : 'uncheck');\n },\n downloadExternalLayer: function downloadExternalLayer(download) {\n if (download.file) {\n (0, _downloadFile.downloadFile)(download.file);\n } else if (download.url) {}\n },\n removeExternalLayer: function removeExternalLayer(name) {\n _gui2.default.getService('map').removeExternalLayer(name);\n },\n showContextMenu: function showContextMenu(evt) {\n _g3wEventbus.VM.$emit('context-menu', evt, this.layerstree);\n }\n },\n\n created: function created() {\n if (this.isGroup && !this.layerstree.checked) {\n this.handleGroupChecked(this.layerstree);\n }\n if (this.isGroup && !this.root && this.parent_mutually_exclusive && !this.layerstree.mutually_exclusive) {\n this.layerstree.nodes.forEach(function (node) {\n node.id && (node.uncheckable = true);\n });\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('span.scalevisibility, a.toggle-context-menu').tooltip();\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGroup || !_vm.layerstree.projectLayer || _vm.layerstree.toc)?_c('li',{staticClass:\"tree-item\",class:{\n selected: !_vm.isGroup || !_vm.isTable ? _vm.layerstree.selected : false,\n itemmarginbottom: !_vm.isGroup,\n disabled: _vm.isInGrey,\n group: _vm.isGroup\n },style:({\n marginLeft: !_vm.isGroup ? '5px' : '0',\n position: 'relative',\n }),on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)},\"click\":function($event){$event.stopPropagation();return _vm.onTreeItemClick($event)}}},[(_vm.isGroup)?_c('span',{staticClass:\"root collapse-expande-collapse-icon\",class:[\n { bold : _vm.isGroup },\n _vm.g3wtemplate.getFontClass(_vm.layerstree.expanded ? 'caret-down' : 'caret-right')\n ],staticStyle:{\"padding-right\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{class:[_vm.triClass()],staticStyle:{\"color\":\"#ffffff\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}}):(_vm.isTable)?_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],class:[\n _vm.parentFolder ? 'child' : 'root',\n _vm.g3wtemplate.getFontClass('table')\n ],staticStyle:{\"padding-left\":\"18px\"}}):[(_vm.layerstree.external && _vm.layerstree.removable)?_c('span',{class:_vm.g3wtemplate.getFontClass('trash'),staticStyle:{\"color\":\"red\",\"padding-left\":\"1px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeExternalLayer(_vm.layerstree.name, _vm.layerstree._type)}}}):_vm._e(),_vm._v(\" \"),(_vm.layerstree.external && _vm.layerstree.download)?_c('span',{class:_vm.g3wtemplate.getFontClass('download'),staticStyle:{\"color\":\"#ffffff\",\"margin-left\":\"5px\"},on:{\"click\":function($event){return _vm.downloadExternalLayer(_vm.layerstree.download)}}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],staticClass:\"checkbox-layer\",class:_vm.parentFolder ? 'child' : 'root'},[('toc' === _vm.legendlayerposition || !_vm.isGroup && _vm.layerstree.categories)?_c('span',{staticClass:\"collapse-expande-collapse-icon\",class:_vm.g3wtemplate.getFontClass(_vm.layerstree.visible && _vm.layerstree.expanded ? 'caret-down' : 'caret-right'),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{class:[\n _vm.g3wtemplate.getFontClass(_vm.layerstree.checked ? 'check': 'uncheck'),\n { 'toc-added-external-layer': (!_vm.layerstree.legend && _vm.layerstree.external) }\n ],style:({\n paddingLeft: ('toc' === _vm.legendlayerposition)\n ? '5px'\n : !_vm.isGroup && _vm.layerstree.categories\n ? '5px'\n : (!_vm.layerstree.legend && _vm.layerstree.external)\n ? '1px'\n : '18px'\n }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}})])],_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden || _vm.isGroup),expression:\"!layerstree.hidden || isGroup\"}],staticClass:\"tree-node-title\",class:{\n disabled: !_vm.layerstree.external && (_vm.layerstree.disabled || (_vm.layerstree.id && !_vm.layerstree.visible)),\n bold: _vm.isGroup\n }},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.text\",value:(_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale:\" + (_vm.layerstree.maxscale)) : ''),expression:\"showScaleVisibilityToolip ? `minscale:${layerstree.minscale} - maxscale:${layerstree.maxscale}` : ''\",modifiers:{\"text\":true}}],staticClass:\"skin-tooltip-top g3w-long-text\",class:{\n highlightlayer: _vm.isHighLight,\n scalevisibility: _vm.showscalevisibilityclass\n },attrs:{\"data-placement\":\"top\",\"current-tooltip\":_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale: \" + (_vm.layerstree.maxscale)) : ''}},[(!_vm.isGroup && !_vm.layerstree.external && null !== _vm.layerstree.filter.current)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create.text\",value:(_vm.layerstree.filter.current.name),expression:\"layerstree.filter.current.name\",arg:\"top\",modifiers:{\"create\":true,\"text\":true}}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"current-tooltip\":_vm.layerstree.filter.current.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeCurrentFilter($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('filter'),staticStyle:{\"color\":\"red\"}})]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.layerstree.title))]),_vm._v(\" \"),(!_vm.isGroup && _vm.showfeaturecount)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.getFeatureCount)+\"]\\n \")]):_vm._e()]),_vm._v(\" \"),((!_vm.isGroup && _vm.layerstree.selection))?_c('div',[(_vm.layerstree.selection.active)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('clear'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.clearSelection($event)}}}):_vm._e(),_vm._v(\" \"),(!_vm.layerstree.external && (_vm.layerstree.selection.active || _vm.layerstree.filter.active) && !_vm.layerstree.filter.pagination)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:[\n _vm.g3wtemplate.getFontClass('filter'),\n _vm.layerstree.filter.active ? 'active' : '' ],attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterLayer($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.logged && !_vm.layerstree.external && (_vm.layerstree.selection.active && _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('save'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.saveFilter(_vm.layerstree)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.showLayerTocLegend)?_c('catalog-layer-legend',{attrs:{\"legendplace\":_vm.legendplace,\"layer\":_vm.layerstree}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerstree.expanded),expression:\"layerstree.expanded\"}],staticClass:\"tree-content-items group\",class:[(\"g3w-lendplace-\" + _vm.legendplace)]},_vm._l((_vm.layerstree.nodes),function(_layerstree){return _c('span',{key:_layerstree.id || _layerstree.groupId},[_c('catalog-tristate-tree',{attrs:{\"root\":false,\"legendConfig\":_vm.legend,\"legendplace\":_vm.legendplace,\"parentFolder\":_vm.isGroup,\"layerstree\":_layerstree,\"storeid\":_vm.storeid,\"parent\":_vm.layerstree,\"parent_mutually_exclusive\":!!_vm.layerstree.mutually_exclusive}})],1)}),0):_vm._e(),_vm._v(\" \"),(!_vm.isGroup)?_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.helptext'),expression:\"'catalog_items.helptext'\",arg:\"left\",modifiers:{\"create\":true}}],class:'toggle-context-menu ' + _vm.$fa('ellips-v'),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)}}}):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"components/CatalogLayerLegend.vue\":40,\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field[data-v-6783d4c4]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6783d4c4]{position:relative}.field div[data-v-6783d4c4]{padding-left:3px;padding-right:3px}.field_value[data-v-6783d4c4]{padding-left:0!important;text-align:right}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"field\",\n props: ['state']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.state.label)?_c('div',{staticClass:\"col-sm-6 field_label\"},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.state.label))])],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"field_value\",class:[_vm.state.label ? 'col-sm-6' : null ]},[_vm._t(\"field\",[_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6783d4c4\"\n\n},{\"vueify/lib/insert-css\":2}],43:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar fieldsService = require('gui/fields/fieldsservice');\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"g3w-field\",\n props: {\n state: {\n required: true\n },\n feature: {\n type: Object\n }\n },\n components: _extends({}, Fields),\n created: function created() {\n this.type = fieldsService.getType(this.state);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/fields/fields\":3,\"gui/fields/fieldsservice\":4}],44:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".show-hide-geo[data-v-3362679d]{color:#3c8dbc;cursor:pointer;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require(\"mixins\");\n\nexports.default = {\n name: \"g3w-geospatial\",\n props: {\n data: {}\n },\n mixins: [_mixins.geoMixin],\n data: function data() {\n return {\n layerId: \"table_layer_\" + Date.now(),\n visible: false,\n id: \"geo_table_\" + Date.now()\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"geo-content\"},[_c('span',{staticClass:\"show-hide-geo\",class:[_vm.visible ? _vm.g3wtemplate.font['eye-close'] : _vm.g3wtemplate.font['eye']],on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayer()}}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3362679d\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],45:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-70d2a0b2]{cursor:pointer}.modal-content[data-v-70d2a0b2]{background:hsla(0,0%,100%,.6);border-radius:3px}.modal-dialog[data-v-70d2a0b2]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-70d2a0b2]{text-align:center;padding:0!important}.modal[data-v-70d2a0b2]:before{content:\\\"\\\";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-70d2a0b2]{color:#3c8dbc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toRawType = require('utils/toRawType');\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"field-image\",\n\n props: ['state'],\n data: function data() {\n return {\n id: Date.now(),\n active: null,\n value: undefined !== this.state.value.mime_type ? this.state.value.value : this.state.value\n };\n },\n\n components: {\n Field: _Field2.default,\n Teleport: _vue2Teleport2.default\n },\n computed: {\n images: function images() {\n return [].concat(this.value).map(function (img) {\n return { src: (img || {}).photo || img };\n });\n }\n },\n methods: {\n showGallery: function () {\n var _ref = _asyncToGenerator(function* (index) {\n this.active = index;\n if ((0, _toRawType.toRawType)(this.value) === 'Object') {\n this.value.active = true;\n }\n $('#gallery_' + this.id).modal('show');\n });\n\n function showGallery(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showGallery;\n }(),\n isRelativePath: function isRelativePath(url) {\n if (!url.startsWith('/') && !url.startsWith('http')) {\n return '' + window.initConfig.mediaurl + url;\n }\n return url;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{staticStyle:{\"text-align\":\"left\",\"display\":\"inline-block\"},attrs:{\"slot\":\"field\"},slot:\"field\"},[_vm._l((_vm.images),function(img,i){return _c('img',{staticClass:\"img-responsive\",staticStyle:{\"max-height\":\"50px\"},attrs:{\"alt\":\"\",\"src\":img.src},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(i)}}})}),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":(\"gallery_\" + _vm.id),\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"carousel slide\",attrs:{\"id\":(\"carousel_\" + _vm.id),\"data-interval\":\"false\"}},[_c('div',{staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image,i){return _c('div',{staticClass:\"item\",class:_vm.active == i ? 'active' : ''},[_c('img',{staticStyle:{\"margin\":\"auto\"},attrs:{\"src\":_vm.isRelativePath(image.src),\"alt\":\"\"}})])}),0),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"left carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"right carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{class:_vm.$fa('arrow-right')})]):_vm._e()])])])])])])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-70d2a0b2\"\n\n},{\"components/Field.vue\":42,\"utils/toRawType\":242,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],46:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_link[data-v-156f65de]{max-width:100%}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-link\",\n\n props: ['state'],\n data: function data() {\n return {\n value: null\n };\n },\n\n components: {\n Field: _Field2.default\n },\n methods: {\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created: function created() {\n this.value = this.state.value && _typeof(this.state.value) === 'object' ? this.state.value.value : this.state.value;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.link_button'),expression:\"'info.link_button'\"}],staticClass:\"btn skin-button field_link\",attrs:{\"slot\":\"field\",\"title\":_vm.value},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLink(_vm.value)}},slot:\"field\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-156f65de\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],47:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nexports.default = {\n name: \"g3w-media\",\n mixins: [_mixins.mediaMixin],\n props: ['state'],\n computed: {\n type: function type() {\n return this.getMediaType(this.state.mime_type).type;\n },\n value: function value() {\n return this.state.value;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.value)?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.value,\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.filename))]),_vm._v(\" \"),_vm._t(\"default\")],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7b8309b0\"\n\n},{\"mixins\":166}],48:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_text_table[data-v-db21acde]{background-color:transparent!important}.field_text_table .field_label[data-v-db21acde]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field: _Field2.default\n },\n\n created: function created() {}\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-db21acde\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],49:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require(\"components/Field.vue\");\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"vuefield\",\n props: {\n feature: {\n type: Object\n },\n state: {\n type: Object,\n default: {\n value: null,\n vueoptions: {\n component: {}\n }\n }\n }\n },\n components: {\n Field: _Field2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"field\"},slot:\"field\"},[_c(_vm.state.vueoptions.component,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"value\":_vm.state.value}})],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Field.vue\":42}],50:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormHeader = require('components/FormHeader.vue');\n\nvar _FormHeader2 = _interopRequireDefault(_FormHeader);\n\nvar _FormFooter = require('components/FormFooter.vue');\n\nvar _FormFooter2 = _interopRequireDefault(_FormFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-form',\n\n data: function data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n };\n },\n\n components: {\n g3wformheader: _FormHeader2.default,\n G3wFormFooter: _FormFooter2.default\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent: function isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot: function backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation: function handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent: function disableComponent(_ref) {\n var id = _ref.id,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === undefined ? false : _ref$disabled;\n\n this.$options.service.disableComponent({\n id: id,\n disabled: disabled\n });\n },\n resizeForm: function resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc);\n },\n switchComponent: function switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput: function changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate: function addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n reloadLayout: function reloadLayout() {\n var height = $(this.$el).height();\n if (!height) {\n return;\n };\n var footerDOM = $(this.$refs.g3w_form_footer.$el);\n var bodyFromDOM = $(this.$refs.g3wform_body);\n var footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n var bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n }\n },\n updated: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n if (this.switchcomponent) {\n setTimeout(function () {\n return _this.switchcomponent = false;\n }, 0);\n }\n });\n\n function updated() {\n return _ref2.apply(this, arguments);\n }\n\n return updated;\n }(),\n created: function created() {\n var _this2 = this;\n\n this.$options.service.getEventBus().$on('set-main-component', function () {\n _this2.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', function (_ref3) {\n var id = _ref3.id,\n valid = _ref3.valid;\n\n _this2.$options.service.setValidComponent({ id: id, valid: valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted: function mounted() {\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_content\",staticStyle:{\"position\":\"relative\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}}),_vm._v(\" \"),_c('g3wformheader',{ref:\"g3wformheader\",attrs:{\"currentid\":_vm.state.currentheaderid,\"headers\":_vm.state.headers,\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"resize-form\":_vm.resizeForm,\"clickheader\":_vm.switchComponent}}),_vm._v(\" \"),_c('div',{ref:\"g3wform_body\",staticClass:\"g3wform_body\"},[_vm._l((_vm.body.components.before),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})}),_vm._v(\" \"),_c('keep-alive',[_c(_vm.state.component,{tag:\"component\",attrs:{\"handleRelation\":_vm.handleRelation,\"state\":_vm.state},on:{\"hook:activated\":_vm.reloadLayout,\"addtovalidate\":_vm.addToValidate,\"removetovalidate\":_vm.removeToValidate,\"changeinput\":_vm.changeInput}})],1),_vm._v(\" \"),_vm._l((_vm.body.components.after),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})})],2),_vm._v(\" \"),_c('g3w-form-footer',{ref:\"g3w_form_footer\",attrs:{\"isRootComponent\":_vm.isRootComponent,\"backToRoot\":_vm.backToRoot,\"state\":_vm.state}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/FormFooter.vue\":52,\"components/FormHeader.vue\":53}],51:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3WFormInputs = require('components/InputG3WFormInputs.vue');\n\nvar _InputG3WFormInputs2 = _interopRequireDefault(_InputG3WFormInputs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Vue.extend({\n name: 'form-body',\n\n props: ['state', 'handleRelation'],\n data: function data() {\n return {\n show: true\n };\n },\n\n components: {\n G3wFormInputs: _InputG3WFormInputs2.default\n },\n methods: {\n addToValidate: function addToValidate(input) {\n this.$emit('addtovalidate', input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$emit('removetovalidate', input);\n },\n changeInput: function changeInput(input) {\n this.$emit('changeinput', input);\n }\n },\n computed: {\n hasFormStructure: function hasFormStructure() {\n return !!this.state.formstructure;\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[(_vm.hasFormStructure)?[_c('tabs',{attrs:{\"layerid\":_vm.state.layerid,\"feature\":_vm.state.feature,\"handleRelation\":_vm.handleRelation,\"contenttype\":'editing',\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput,\"removeToValidate\":_vm.removeToValidate,\"tabs\":_vm.state.formstructure,\"fields\":_vm.state.fields}})]:[_c('g3w-form-inputs',{attrs:{\"state\":_vm.state,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})]],2)])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputG3WFormInputs.vue\":68}],52:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = Vue.extend({\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: function _default() {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data: function data() {\n this.originalbuttons = this.state.buttons.map(function (button) {\n return _extends({}, button);\n });\n return {\n id: \"footer\",\n active: true,\n show: true\n };\n },\n\n computed: {\n enableSave: function enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec: function exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields) : function () {\n return this.state.fields;\n }();\n },\n btnEnabled: function btnEnabled(button) {\n var _button$enabled = button.enabled,\n enabled = _button$enabled === undefined ? true : _button$enabled,\n type = button.type;\n\n return enabled && (type !== 'save' || type === 'save' && this.enableSave);\n },\n isValid: function isValid() {\n return this.state.valid;\n }\n },\n watch: {\n 'state.component': function stateComponent(component) {\n this.show = this.isRootComponent(component);\n },\n\n 'state.update': {\n immediate: true,\n handler: function handler(value) {\n var _this = this;\n\n this.state.buttons.find(function (button, index) {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n _this.state.buttons.splice(index, 1, _extends({}, button, button.eventButtons.update[value]));\n } else {\n _this.state.buttons.splice(index, 1, _this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated: function activated() {\n this.active = true;\n },\n deactivated: function deactivated() {\n this.active = false;\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group g3wform_footer\"},[(_vm.show)?[_vm._t(\"default\",[_c('div',{staticStyle:{\"margin\":\"3px\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n * \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}]}),_vm._v(\" \"),(_vm.state.footer.message)?_c('div',{style:([_vm.state.footer.style])},[_vm._v(\"\\n \"+_vm._s(_vm.state.footer.message)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.state.buttons),function(button){return _c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.btnEnabled(button)),expression:\"!btnEnabled(button)\"},{name:\"t\",rawName:\"v-t\",value:(button.title),expression:\"button.title\"}],key:button.id,staticClass:\"btn \",class:[button.class],attrs:{\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.exec(button.cbk)}}})})])]:[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"prevet\",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();return _vm.backToRoot($event)}}})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{}],53:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Vue.extend({\n name: 'form-header',\n\n props: {\n headers: {\n type: Array,\n default: []\n },\n currentid: {\n type: String\n },\n update: {\n type: Boolean\n },\n valid: {\n type: Boolean\n }\n },\n methods: {\n click: function click(id) {\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm: function resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_header box-header with-border\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('section',{staticClass:\"g3wform_header_content\"},_vm._l((_vm.headers),function(header){return _c('span',{key:header.id,staticClass:\"title\",class:[{item_selected: _vm.currentid === header.id && _vm.headers.length > 1},[_vm.headers.length > 1 ? 'tabs' : 'one' ]],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},style:({fontSize: _vm.isMobile() && '1em !important'}),on:{\"click\":function($event){$event.stopPropagation();return _vm.click(header.id)}}},[(header.icon)?_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_c('i',{class:header.icon})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:(header.title),expression:\"header.title\",arg:\"pre\"}],staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(header.name))]),_vm._v(\" \"),_c(header.component,{tag:\"component\",attrs:{\"valid\":_vm.valid,\"update\":_vm.update}})],1)}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{}],54:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"bar-loader\",\n props: {\n loading: {\n type: Boolean | String,\n default: false\n },\n color: {\n type: String,\n default: '#FFFFFF'\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('div',{staticClass:\"bar-loader\",staticStyle:{\"border\":\"0\"},style:({ backgroundColor: _vm.color })}):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],55:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"datetime\",\n props: {\n type: {\n type: String,\n default: 'date' },\n format: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n minDate: {\n default: false\n },\n maxDate: {\n default: false\n },\n enabledDates: {\n default: false\n },\n value: {},\n label: {\n default: 'Date'\n }\n },\n data: function data() {\n return {\n datetimevalue: this.value\n };\n },\n\n methods: {\n changeInput: function changeInput(e) {},\n change: function change(value) {\n var date = moment(value).format(this.format);\n this.$emit('change', date);\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.datetimeinputelement = $(this.$refs.iddatetimepicker);\n this.datetimeinputelement.datetimepicker({\n minDate: this.minDate,\n maxDate: this.maxDate,\n defaultDate: this.datetimevalue,\n useCurrent: false,\n allowInputToggle: true,\n enabledDates: this.enabledDates,\n showClose: true,\n format: this.format,\n locale: _application2.default.language,\n toolbarPlacement: 'top',\n widgetPositioning: { horizontal: 'right' }\n });\n this.datetimeinputelement.on(\"dp.change\", function (_ref2) {\n var date = _ref2.date;\n\n _this.change(date);\n });\n this.datetimeinputelement.on(\"dp.hide\", function (evt) {});\n if (_application2.default.ismobile) {\n setTimeout(function () {\n return datetimeinputelement.blur();\n });\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n value: function value(datetime) {\n this.datetimevalue = datetime;\n this.datetimeinputelement.data(\"DateTimePicker\").date(datetime);\n },\n minDate: function () {\n var _ref3 = _asyncToGenerator(function* (mindatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").minDate(mindatetime);\n });\n\n function minDate(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return minDate;\n }(),\n maxDate: function () {\n var _ref4 = _asyncToGenerator(function* (maxdatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").maxDate(maxdatetime);\n });\n\n function maxDate(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return maxDate;\n }(),\n enabledDates: function enabledDates(dates) {\n this.datetimeinputelement.data(\"DateTimePicker\").enabledDates(dates);\n }\n },\n created: function created() {\n this.id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datimecontainer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{ref:\"iddatetimepicker\",staticClass:\"input-group date\"},[_c('input',{ref:\"idinputdatetimepiker\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"type\":\"text\"},on:{\"change\":_vm.changeInput}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{staticClass:\"datetimeinput\",class:_vm.g3wtemplate.getFontClass('time' === _vm.type ? 'time': 'calendar')})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-e7683bf8\"\n\n},{\"store/application\":178,\"utils/getUniqueDomId\":217}],56:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".divider[data-v-6409ddc0]{display:block;position:relative;padding:0;margin-bottom:5px;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none;border-bottom:2px solid #eee}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"divider\"\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"divider\"})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6409ddc0\"\n\n},{\"vueify/lib/insert-css\":2}],57:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".help_div_container[data-v-5d3720b7]{color:#fff;text-align:justify;position:relative;border-radius:3px;margin:5px 2px;white-space:pre-line;background-color:#384246!important}.help_icon[data-v-5d3720b7]{text-align:center;font-size:.7em;margin-top:-4px;margin-left:-4px;background-color:#222d32;font-weight:700;color:#fff;position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid #fff;border-radius:50%}.g3w-help-message-content[data-v-5d3720b7]{max-height:200px;padding:10px;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"helpdiv\",\n props: {\n message: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'info' }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help_div_container\"},[_c('span',{staticClass:\"help_icon\"},[_vm._v(\"i\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"g3w-help-message-content\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5d3720b7\"\n\n},{\"vueify/lib/insert-css\":2}],58:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"progressbar\",\n props: ['progress']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((null !== _vm.progress && undefined !== _vm.progress))?_c('div',{staticStyle:{\"margin\":\"5px 0 5px 0\",\"width\":\"100%\",\"backgroundColor\":\"#FFFFFF\",\"border\":\"0\",\"borderRadius\":\"3px\"}},[_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"justifyContent\":\"center\",\"fontWeight\":\"bold\"},style:({ width: (_vm.progress < 10 ? 10 : _vm.progress) })},[_c('span',[_vm._v(_vm._s(_vm.progress))])])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],59:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".min-max-label[data-v-a8bbacb8]{align-self:end;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debounce = require('utils/debounce');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"range\",\n props: {\n id: {\n default: undefined\n },\n\n label: {\n type: String,\n default: ''\n },\n\n min: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: 10\n },\n\n step: {\n type: Number,\n default: 1\n },\n\n labelValue: {},\n\n value: {\n default: 0\n },\n\n sync: {\n type: Boolean,\n default: false\n },\n\n showValue: {\n type: Boolean,\n default: false\n },\n\n unit: {\n type: String,\n default: ''\n }\n\n },\n data: function data() {\n return {\n state: { value: this.value }\n };\n },\n\n methods: {\n changeBackGround: function changeBackGround(value) {\n this.$refs['range-input'].style.backgroundSize = (value ? (value - this.min) * 100 / (this.max - this.min) : 0) + '% 100%';\n },\n setValue: function setValue(value) {\n this.changedValue(value);\n },\n change: function change(e) {\n this.changedValue(1 * e.target.value);\n },\n emitChangeValue: function emitChangeValue(value) {\n this.state.value = value;\n this.$emit('change-range', {\n id: this.id,\n value: value\n });\n }\n },\n watch: {\n 'value': function value(_value) {\n this.state.value = _value;\n },\n 'state.value': function stateValue(value) {\n this.changeBackGround(value);\n if (this.sync) {\n this.emitChangeValue(value);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.changedValue = this.sync ? function () {\n return _this.$emit('changed');\n } : (0, _debounce.debounce)(function (value) {\n _this.emitChangeValue(value);\n });\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.changeBackGround(this.value);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-weight\":\"bold\"}},[_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.min))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"margin\":\"0 3px\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticClass:\"skin-color\",staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],ref:\"range-input\",attrs:{\"type\":\"range\",\"id\":_vm.id,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.max))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])])]),_vm._v(\" \"),(_vm.showValue)?[_c('span',[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]:_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-a8bbacb8\"\n\n},{\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],60:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".formquerytabs[data-v-2cbd8ce7]{overflow:hidden!important;display:flex;flex-wrap:wrap}.formquerytabs>li[data-v-2cbd8ce7]{flex:1;display:flex}.formquerytabs>li>a[data-v-2cbd8ce7]{font-weight:700;flex:1}.nav-tabs>li>a.mobile[data-v-2cbd8ce7]{padding:5px 10px}.tab_a[data-v-2cbd8ce7]{padding:5px;margin-right:0!important;border-bottom:0;margin-bottom:3px;border-radius:3px 3px 0 0}.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]{color:inherit!important;font-weight:500;font-size:1em!important;padding:.25em;cursor:pointer}.tabs-wrapper>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▾\\\"}.tabs-wrapper.collapsed>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▸\\\"}.tabs-wrapper.collapsed>.formquerytabs+.tab-content[data-v-2cbd8ce7]{display:none}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _GlobalTabsNode = require('components/GlobalTabsNode.vue');\n\nvar _GlobalTabsNode2 = _interopRequireDefault(_GlobalTabsNode);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getFormDataExpressionRequestFromFeature = require('utils/getFormDataExpressionRequestFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _noop = require('utils/noop');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"tabs\",\n props: {\n group: {\n type: Boolean,\n default: false\n },\n contenttype: {\n default: 'query' },\n layerid: {\n required: true\n },\n tabs: {\n required: true\n },\n feature: {\n required: true\n },\n fields: {\n required: true\n },\n addToValidate: {\n type: Function,\n default: _noop.noop\n },\n removeToValidate: {\n type: Function,\n default: _noop.noop\n },\n changeInput: {\n type: Function,\n default: _noop.noop\n },\n showRelationByField: {\n type: Boolean,\n default: true\n },\n handleRelation: {\n type: Function,\n default: function _default() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref.relation,\n layerId = _ref.layerId,\n feature = _ref.feature;\n\n return _gui2.default.getService('queryresults').showRelation({ relation: relation, layerId: layerId, feature: feature });\n }\n }\n },\n data: function data() {\n return {\n ids: []\n };\n },\n\n computed: {\n required_fields: function required_fields() {\n return 'editing' === this.contenttype && this.fields.filter(function (f) {\n return f.validate.required;\n }).map(function (f) {\n return f.name;\n });\n },\n show: function show() {\n return this.tabs.reduce(function (a, t) {\n return a || t.visible === undefined || !!t.visible;\n }, false);\n }\n },\n methods: {\n setVisibility: function () {\n var _ref2 = _asyncToGenerator(function* (tab) {\n tab.visible = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n qgs_layer_id: this.layerid,\n form_data: ('editing' === this.contenttype ? _convertFeatureToGEOJSON.convertFeatureToGEOJSON : _getFormDataExpressionRequestFromFeature.getFormDataExpressionRequestFromFeature)(this.feature || {}),\n expression: tab.visibility_expression.expression,\n formatter: 'query' === this.contenttype ? 1 : 0\n },\n outputs: false\n });\n });\n\n function setVisibility(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setVisibility;\n }(),\n setEditingRequireTab: function setEditingRequireTab(obj) {\n var _this = this;\n\n if (undefined === obj.nodes) {\n return this.required_fields.includes(obj.field_name);\n } else {\n return !!obj.nodes.find(function (n) {\n return _this.setEditingRequireTab(n);\n });\n }\n },\n getField: function getField(fieldName) {\n return this.fields.find(function (f) {\n return fieldName === f.name;\n });\n },\n toggleGroup: function toggleGroup(e) {\n var wrapper = e.target.closest('.tabs-wrapper');\n wrapper.classList.toggle('collapsed');\n }\n },\n components: {\n Node: _GlobalTabsNode2.default\n },\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.unwatch = [];\n this.tabs.forEach(function () {\n var _ref4 = _asyncToGenerator(function* (tab, i) {\n if (tab.visibility_expression) {\n if (undefined === tab.visible) {\n _this2.$set(tab, 'visible', 0);\n }\n yield _this2.setVisibility(tab);\n }\n if ('editing' === _this2.contenttype) {\n if (undefined === tab.required) {\n tab.required = _this2.setEditingRequireTab(tab);\n }\n if (tab.visibility_expression) {\n tab.visibility_expression.referenced_columns.forEach(function (c) {\n var field = _this2.fields.find(function (f) {\n return c === f.name;\n });\n _this2.unwatch.push(_this2.$watch(function () {\n return field.value;\n }, _asyncToGenerator(function* () {\n yield _this2.$nextTick();\n yield _this2.setVisibility(tab);\n })));\n });\n }\n }\n _this2.ids.push('tab_' + (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return function (_x3, _x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this.root_tabs = [];\n if (!this.group) {\n var nodes = [];\n this.tabs.forEach(function (tab_node) {\n if (tab_node.nodes) {\n nodes.push(tab_node);\n } else {\n if (nodes.length) {\n _this2.root_tabs.push([].concat(nodes));\n nodes.splice(0);\n }\n _this2.root_tabs.push({ nodes: [tab_node] });\n }\n });\n if (nodes.length) {\n this.root_tabs.push(nodes);\n }\n } else {\n this.root_tabs = [this.tabs];\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unwatch.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"tabs-wrapper\"},[_vm._l((_vm.root_tabs),function(root_tab){return [(Array.isArray(root_tab))?[_c('ul',{staticClass:\"formquerytabs nav nav-tabs\"},[_vm._l((root_tab),function(tab,index){return [(tab.visible === undefined || tab.visible)?_c('li',{class:{active: index === 0}},[_c('a',{staticClass:\"tab_a\",class:{'mobile': _vm.isMobile(), 'group-title': _vm.group},style:({fontSize: _vm.isMobile() ? '1.0em': ((_vm.group ? '1.1': '1.2') + \"em\")}),attrs:{\"data-toggle\":\"tab\",\"href\":(\"#\" + (_vm.ids[index]))},on:{\"click\":function($event){_vm.group && _vm.toggleGroup($event)}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\" \"),(_vm.contenttype === 'editing' && tab.required)?_c('span',{staticStyle:{\"padding-left\":\"3px\",\"font-size\":\"1.1em\"}},[_vm._v(\"*\")]):_vm._e()])]):_vm._e()]})],2),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\",class:{editing: 'editing' === _vm.contenttype }},[_vm._l((root_tab),function(tab,index){return [(undefined === tab.visible || tab.visible)?_c('div',{staticClass:\"tab-pane fade\",class:{'in active': index === 0},attrs:{\"id\":_vm.ids[index]}},[_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":tab}})],1):_vm._e()]})],2)]:_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":root_tab}})]})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2cbd8ce7\"\n\n},{\"components/GlobalTabsNode.vue\":61,\"services/data\":172,\"services/gui\":173,\"utils/convertFeatureToGEOJSON\":186,\"utils/getFormDataExpressionRequestFromFeature\":208,\"utils/getUniqueDomId\":217,\"utils/noop\":227,\"vueify/lib/insert-css\":2}],61:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tab-node[data-v-9685e2ee]{min-width:0;overflow:hidden}.title[data-v-9685e2ee]{font-weight:700;width:100%;color:#fff;padding:3px;margin-top:5px;margin-bottom:5px;border-radius:2px}.node-row[data-v-9685e2ee]{margin-bottom:0;column-gap:2px;margin-top:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.row.mobile[data-v-9685e2ee]{margin-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _InputG3W = require('components/InputG3W.vue');\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"node\",\n props: ['contenttype', 'node', 'fields', 'showTitle', 'addToValidate', 'removeToValidate', 'changeInput', 'layerid', 'feature', 'showRelationByField', 'handleRelation'],\n components: _extends({\n G3wInput: _InputG3W2.default\n }, Fields),\n data: function data() {\n return {\n context: this.contenttype,\n editing_required: false\n };\n },\n\n computed: {\n filterNodes: function filterNodes() {\n var _this = this;\n\n var filterNodes = this.node.nodes && this.node.nodes.filter(function (node) {\n if ('group' === _this.getNodeType(node)) {\n return true;\n } else if (!node.nodes && node.name && 'group' != _this.getNodeType(node)) {\n node.relation = true;\n return true;\n } else {\n return !!_this.fields.find(function (field) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === field.name || node.relation;\n });\n }\n });\n return filterNodes || [];\n },\n nodesLength: function nodesLength() {\n return this.filterNodes.length;\n },\n rows: function rows() {\n var rowCount = 1;\n if (0 === this.nodesLength) {\n rowCount = 0;\n } else if (this.columnNumber <= this.nodesLength) {\n rowCount = Math.floor(this.nodesLength / this.columnNumber) + this.nodesLength % this.columnNumber;\n }\n return rowCount;\n },\n columnNumber: function columnNumber() {\n var columnCount = parseInt(this.node.columncount) ? parseInt(this.node.columncount) : 1;\n return columnCount > this.nodesLength ? this.nodesLength : columnCount;\n },\n showGroupTile: function showGroupTile() {\n return this.showTitle && this.node.showlabel && this.node.groupbox;\n }\n },\n methods: {\n loadingRelation: function loadingRelation(relation) {\n var layer = _application2.default.project.getLayerById(this.layerid);\n\n return (layer.getRelationById(relation.name) || { state: { loading: false } }).state;\n },\n isRelationDisabled: function isRelationDisabled(relation) {\n return undefined === this.getRelationName(relation.name) || 'editing' === this.contenttype && this.isRelationChildLayerNotEditable(relation);\n },\n getRelationName: function getRelationName(relationId) {\n return (_application2.default.project.getRelationById(relationId) || {}).name;\n },\n isRelationChildLayerNotEditable: function isRelationChildLayerNotEditable(relation) {\n var projectRelation = _application2.default.project.getRelationById(relation.name);\n var relationLayer = _application2.default.project.getLayerById(projectRelation.referencingLayer);\n\n return !(relationLayer && relationLayer.isEditable());\n },\n getNodes: function getNodes(row) {\n var startIndex = (row - 1) * this.columnNumber;\n return this.filterNodes.slice(startIndex, this.columnNumber + startIndex);\n },\n getNode: function getNode(row, column) {\n return this.getNodes(row)[column - 1];\n },\n getField: function getField(node) {\n if (node.relation) {\n return node;\n }\n return this.fields.find(function (f) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === f.name;\n });\n },\n getNodeType: function getNodeType(node) {\n var type = node.groupbox || node.nodes ? 'group' : node.relation ? 'relation' : 'field';\n if ('field' === type && [undefined, ''].includes(node.alias)) {\n node.alias = node.field_name;\n }\n return type;\n },\n getComponent: function getComponent(field) {\n if (field.relation) {\n return;\n } else if (field.query) {\n return field.input.type;\n } else {\n return 'g3w-input';\n }\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-node group\"},[(_vm.showGroupTile)?_c('h5',{staticClass:\"title group-title\",class:{'mobile': _vm.isMobile()},style:({fontSize: _vm.isMobile() ? '1em' : '1.1em'})},[_vm._v(_vm._s(_vm.node.name)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.rows),function(row){return _c('div',{staticClass:\"node-row\",class:{'mobile': _vm.isMobile()}},[_vm._l((_vm.columnNumber),function(column){return [(_vm.getNode(row, column))?[('field' === _vm.getNodeType(_vm.getNode(row, column)))?_c(_vm.getComponent(_vm.getField(_vm.getNode(row, column))),{tag:\"component\",staticStyle:{\"padding\":\"5px 3px 5px 3px\"},attrs:{\"state\":_vm.getField(_vm.getNode(row, column)),\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"feature\":_vm.feature},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}):[('group' === _vm.getNodeType(_vm.getNode(row, column)))?_c('tabs',_vm._b({staticClass:\"sub-group\",staticStyle:{\"width\":\"100% !important\"},attrs:{\"group\":true,\"tabs\":[_vm.getNode(row, column)]}},'tabs',_vm.$props,false)):[(_vm.showRelationByField)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.isRelationDisabled(_vm.getNode(row, column)) || _vm.loadingRelation(_vm.getNode(row, column)).loading),expression:\"isRelationDisabled(getNode(row, column)) || loadingRelation(getNode(row, column)).loading\"}],style:({cursor: _vm.showRelationByField && 'pointer'}),on:{\"click\":function($event){$event.stopPropagation();_vm.handleRelation({relation: _vm.getNode(row, column), feature:_vm.feature, layerId: _vm.layerid})}}},[_c('bar-loader',{attrs:{\"loading\":_vm.loadingRelation(_vm.getNode(row, column)).loading}}),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"query_relation_field\"},[_c('i',{class:_vm.g3wtemplate.font[(\"\" + (_vm.context === 'query' ? 'relation' : 'pencil'))]})]),_vm._v(\" \"),_c('span',{staticClass:\"query_relation_field_message g3w-long-text\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.getRelationName(_vm.getNode(row, column).name)))])])])],1):_vm._e()]]]:_vm._e()]})],2)})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9685e2ee\"\n\n},{\"components/InputG3W.vue\":67,\"gui/fields/fields\":3,\"store/application\":178,\"vueify/lib/insert-css\":2}],62:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".control-label[data-v-cb533ff6]{text-align:left!important;padding-top:0!important;margin-bottom:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nexports.default = _extends({\n name: \"InputBase\",\n props: ['state']\n}, _mixins.baseInputMixin);\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",[_c('label',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"col-sm-12 control-label\",attrs:{\"for\":_vm.state.name}},[(_vm.state.i18nLabel)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.state.label),expression:\"state.label\"}]}):_c('span',[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showhelpicon)?_c('i',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['info'],staticStyle:{\"margin-left\":\"3px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showHideHelp($event)}}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label-action\")],2)]),_vm._v(\" \"),(_vm.state.relationField)?_c('div',{staticStyle:{\"color\":\"var(--skin-warning)\",\"padding\":\"3px 0 3px 15px\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('warning')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.field'),expression:\"'sdk.relations.field'\"}]})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"loading\",[(_vm.loadingState === 'loading')?_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\"},attrs:{\"slot\":\"loading\"},slot:\"loading\"},[_c('bar-loader',{attrs:{\"loading\":true}})],1):_vm._e()]),_vm._v(\" \"),_vm._t(\"body\"),_vm._v(\" \"),_vm._t(\"message\",[(_vm.notvalid)?_c('p',{staticClass:\"g3w-long-text error-input-message\",staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.validate.message)}}):(_vm.state.info)?_c('p',{staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.info)}}):_vm._e()]),_vm._v(\" \"),(_vm.state.help && this.state.help.visible)?_c('div',{staticClass:\"g3w_input_help skin-background-color extralighten\",domProps:{\"innerHTML\":_vm._s(_vm.state.help.message)}}):_vm._e()],2)],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb533ff6\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],63:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input],\n\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n changed: false\n };\n },\n\n\n watch: {\n 'state.value': function stateValue(value) {\n if (this.changed) {\n this.changed = false;\n } else {\n this.stateValueChanged(value);\n }\n }\n },\n\n methods: {\n getValuesItem: function getValuesItem() {\n var checked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.service.state.input.options.values.find(function (v) {\n return !!checked === v.checked;\n }) || {};\n },\n convertValueToChecked: function convertValueToChecked() {\n var _this = this;\n\n if ([null, undefined].includes(this.service.state.value)) {\n return false;\n }\n var option = this.service.state.input.options.values.find(function (v) {\n return _this.service.state.value == v.value;\n });\n if (undefined === option) {\n option = this.service.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.service.state.value = option.value;\n }\n return option.checked;\n },\n changeCheckBox: function changeCheckBox() {\n var _getValuesItem = this.getValuesItem(this.value),\n value = _getValuesItem.value,\n label = _getValuesItem.label;\n\n this.label = label;\n this.state.value = value;\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged() {\n this.value = this.convertValueToChecked();\n\n var _getValuesItem2 = this.getValuesItem(this.value),\n value = _getValuesItem2.value,\n label = _getValuesItem2.label;\n\n this.label = label;\n this.state.value = value;\n }\n },\n\n mounted: function mounted() {\n this.stateValueChanged();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticStyle:{\"height\":\"20px\",\"margin-top\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"magic-checkbox\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"tabIndex\":_vm.tabIndex,\"type\":\"checkbox\",\"id\":_vm.id},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":[function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}},_vm.changeCheckBox]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],64:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-color',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"type\":\"color\",\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],65:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-datetime-picker',\n\n mixins: [Input, _mixins.resizeMixin],\n\n data: function data() {\n var uniqueValue = (0, _getUniqueDomId.getUniqueDomId)();\n return {\n widget_container: {\n top: 0,\n left: 0\n },\n iddatetimepicker: 'datetimepicker_' + uniqueValue,\n idinputdatetimepiker: 'inputdatetimepicker_' + uniqueValue\n };\n },\n\n\n methods: {\n resize: function resize() {\n var domeDataPicker = $('#' + this.iddatetimepicker);\n if (domeDataPicker && domeDataPicker.data(\"DateTimePicker\")) {\n domeDataPicker.data(\"DateTimePicker\").hide();\n }\n },\n timeOnly: function timeOnly() {\n return !this.state.input.options.formats[0].date;\n },\n onDatePickerChange: function onDatePickerChange() {\n var newDate = $('#' + this.idinputdatetimepiker).val();\n this.state.value = _.isEmpty(newDate.trim()) ? null : moment(newDate, this.datetimedisplayformat).format(this.datetimefieldformat);\n this.change();\n },\n onDatePickerShow: function onDatePickerShow(evt) {\n var _this = this;\n\n this.widget_container.top = 0;\n this.widget_container.left = 0;\n\n setTimeout(function () {\n var container = _this.$refs.datetimepicker_body.getBoundingClientRect();\n var modal = _this.$refs.datimewidget_container.querySelector('.bootstrap-datetimepicker-widget').getBoundingClientRect();\n _this.widget_container.top = container.top + (container.top < modal.height ? container.height + Math.abs(container.top - modal.height) + 20 : 0);\n _this.widget_container.left = container.left - Math.max(container.width, modal.width);\n _this.$emit('datetimepickershow');\n });\n },\n onDatePickerHide: function onDatePickerHide(evt) {\n this.$emit('datetimepickershow');\n }\n },\n watch: {\n 'state.value': function () {\n var _ref = _asyncToGenerator(function* (value) {\n if (value !== $('#' + this.idinputdatetimepiker).val()) {\n var date = null !== value ? moment(value, this.datetimefieldformat).format(this.datetimedisplayformat) : value;\n yield this.$nextTick();\n $('#' + this.idinputdatetimepiker).val(date);\n }\n });\n\n function stateValue(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateValue;\n }()\n },\n\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _state$input$options = this.state.input.options,\n _state$input$options$ = _state$input$options.formats,\n formats = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.layout,\n layout = _state$input$options$2 === undefined ? {\n vertical: \"top\",\n horizontal: \"left\"\n } : _state$input$options$2;\n var _formats$ = formats[0],\n minDate = _formats$.minDate,\n maxDate = _formats$.maxDate,\n fieldformat = _formats$.fieldformat,\n enabledDates = _formats$.enabledDates,\n disabledDates = _formats$.disabledDates,\n displayformat = _formats$.displayformat,\n useCurrent = _formats$.useCurrent;\n\n\n yield this.$nextTick();\n\n this.datetimedisplayformat = this.service.convertQGISDateTimeFormatToMoment(displayformat);\n this.datetimefieldformat = this.service.convertQGISDateTimeFormatToMoment(fieldformat);\n\n this.service.setValidatorOptions({ fielddatetimeformat: this.datetimefieldformat });\n\n var date = moment(this.state.value, this.datetimefieldformat, true).isValid() ? moment(this.state.value, this.datetimefieldformat).toDate() : null;\n\n $('#' + this.iddatetimepicker).datetimepicker({\n defaultDate: date,\n format: this.datetimedisplayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n enabledDates: enabledDates,\n disabledDates: disabledDates,\n useCurrent: useCurrent,\n toolbarPlacement: 'top',\n minDate: minDate,\n maxDate: maxDate,\n widgetParent: $(this.$refs.datimewidget_container),\n widgetPositioning: {\n vertical: layout.vertical || 'top',\n horizontal: layout.horizontal || 'left'\n },\n showClose: true,\n locale: this.service.getLocale()\n });\n\n $('#' + this.iddatetimepicker).on(\"dp.change\", this.onDatePickerChange);\n $('#' + this.iddatetimepicker).on(\"dp.show\", this.onDatePickerShow);\n $('#' + this.iddatetimepicker).on(\"dp.hide\", this.onDatePickerHide);\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + _this2.idinputdatetimepiker).blur();\n });\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{ref:\"datetimepicker_body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{ref:\"datimewidget_container\",style:({\n top: _vm.widget_container.top + 'px',\n left: _vm.widget_container.left + 'px',\n position: 'fixed',\n zIndex: 10000,\n })}),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"input-group date\",attrs:{\"id\":_vm.iddatetimepicker}},[_c('input',{staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"type\":\"text\",\"id\":_vm.idinputdatetimepiker,\"tabIndex\":_vm.tabIndex,\"readonly\":!_vm.editable || _vm.isMobile() ? 'readonly' : null}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{class:[ _vm.g3wtemplate.getFontClass(_vm.timeOnly() ? 'time' : 'calendar') ]})])])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"store/application\":178,\"utils/getUniqueDomId\":217}],66:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-float',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.state.step || 1,\"placeholder\":_vm.state.default},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],67:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar Inputs = {\n 'text_input': require('gui/inputs/text/vue/text'),\n 'texthtml_input': require('gui/inputs/texthtml/vue/texthtml'),\n 'textarea_input': require('gui/inputs/textarea/vue/textarea'),\n 'integer_input': require('gui/inputs/integer/vue/integer'),\n 'string_input': require('gui/inputs/text/vue/text'),\n 'float_input': require('gui/inputs/float/vue/float'),\n 'radio_input': require('gui/inputs/radio/vue/radio'),\n 'check_input': require('gui/inputs/checkbox/vue/checkbox'),\n 'range_input': require('gui/inputs/range/vue/range'),\n 'datetimepicker_input': require('gui/inputs/datetimepicker/vue/datetimepicker'),\n 'unique_input': require('gui/inputs/unique/vue/unique'),\n 'select_input': require('gui/inputs/select/vue/select'),\n 'media_input': require('gui/inputs/media/vue/media'),\n 'select_autocomplete_input': require('gui/inputs/select/vue/select'),\n 'picklayer_input': require('gui/inputs/picklayer/vue/picklayer'),\n 'color_input': require('gui/inputs/color/vue/color'),\n 'slider_input': require('gui/inputs/sliderrange/vue/sliderrange'),\n 'lonlat_input': require('gui/inputs/lonlat/vue/lonlat')\n};\n\nexports.default = {\n name: \"g3w-input\",\n props: {\n state: {\n required: true\n },\n addToValidate: {\n type: Function,\n required: true\n },\n removeToValidate: {\n type: Function,\n required: true\n },\n changeInput: {\n type: Function,\n required: true\n }\n },\n components: _extends({}, Inputs),\n computed: {\n type: function type() {\n if (this.state.type !== 'child') return this.state.input.type ? this.state.input.type + '_input' : this.state.type + '_input';\n }\n },\n created: function created() {\n if (this.state.type !== 'child' && !this.state.input.options) this.state.input.options = {};\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',[(_vm.state.type !== 'child')?_c('div',[_c(_vm.type,{tag:\"component\",attrs:{\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"state\":_vm.state},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}),_vm._v(\" \"),_c('divider')],1):_c('div',{staticClass:\"skin-border-color field-child\",staticStyle:{\"border-top\":\"2px solid\"}},[_c('h4',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),_c('div',[_vm._v(\" \"+_vm._s(_vm.state.description)+\" \")]),_vm._v(\" \"),_vm._l((_vm.state.fields),function(field){return _c('g3w-input',{key:field.name,attrs:{\"state\":field,\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})})],2)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/checkbox/vue/checkbox\":6,\"gui/inputs/color/vue/color\":7,\"gui/inputs/datetimepicker/vue/datetimepicker\":9,\"gui/inputs/float/vue/float\":11,\"gui/inputs/integer/vue/integer\":14,\"gui/inputs/lonlat/vue/lonlat\":16,\"gui/inputs/media/vue/media\":18,\"gui/inputs/picklayer/vue/picklayer\":20,\"gui/inputs/radio/vue/radio\":22,\"gui/inputs/range/vue/range\":24,\"gui/inputs/select/vue/select\":26,\"gui/inputs/sliderrange/vue/sliderrange\":30,\"gui/inputs/text/vue/text\":31,\"gui/inputs/textarea/vue/textarea\":32,\"gui/inputs/texthtml/vue/texthtml\":33,\"gui/inputs/unique/vue/unique\":35}],68:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-for-inputs-required-inputs-message[data-v-06573254]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-06573254]{padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3W = require(\"components/InputG3W.vue\");\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-form-inputs\",\n props: {\n state: {\n type: Object,\n default: {\n fields: []\n }\n },\n addToValidate: {\n type: Function\n },\n changeInput: {\n type: Function\n },\n show_required_field_message: {\n type: Boolean,\n default: false\n },\n removeToValidate: {\n type: Function\n }\n\n },\n components: {\n G3wInput: _InputG3W2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[_vm._l((_vm.state.fields),function(field){return [_c('g3w-input',{attrs:{\"state\":field,\"removeToValidate\":_vm.removeToValidate,\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput},on:{\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput}})]})],2),_vm._v(\" \"),(_vm.show_required_field_message)?_c('div',{attrs:{\"id\":\"g3w-for-inputs-required-inputs-message\"}},[_c('span',{staticClass:\"hide-cursor-caret-color\"},[_vm._v(\"*\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}],staticClass:\"hide-cursor-caret-color\"})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06573254\"\n\n},{\"components/InputG3W.vue\":67,\"vueify/lib/insert-css\":2}],69:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-integer',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"type\":\"number\"},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],70:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-lonlat',\n\n mixins: [Input],\n data: function data() {\n return {\n lonId: (0, _getUniqueDomId.getUniqueDomId)(),\n latId: (0, _getUniqueDomId.getUniqueDomId)(),\n coordinatebutton: {\n active: false\n }\n };\n },\n\n computed: {\n getCoordinateActive: function getCoordinateActive() {\n return this.service.state.getCoordinateActive;\n }\n },\n methods: {\n toggleGetCoordinate: function toggleGetCoordinate() {\n this.service.toggleGetCoordinate();\n },\n changeLonLat: function changeLonLat() {\n this.change();\n this.setValue();\n },\n setValue: function setValue() {\n this.state.value = [[1 * this.state.values.lon, 1 * this.state.values.lat]];\n }\n },\n created: function created() {\n this.state.values = this.state.values || { lon: 0, lat: 0 };\n this.setValue();\n this.service.setCoordinateButtonReactiveObject(this.coordinatebutton);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $(this.$refs['g3w-input-lat-lon']).tooltip({ trigger: 'hover' });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\",\"height\":\"35px\",\"margin-right\":\"12px\",\"margin-bottom\":\"5px\"}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.form.inputs.tooltips.lonlat'),expression:\"'sdk.form.inputs.tooltips.lonlat'\"}],ref:\"g3w-input-lat-lon\",staticClass:\"action skin-tooltip-left skin-color skin-border-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"border-radius\":\"5px\",\"font-weight\":\"bold\",\"font-size\":\"20px\",\"cursor\":\"pointer\"},style:({border: _vm.coordinatebutton.active ? '2px solid' : 0}),attrs:{\"data-placement\":\"left\",\"data-container\":\"body\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleGetCoordinate($event)}}})]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.lonId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lon)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lon),expression:\"state.values.lon\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.lonId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-180\",\"max\":\"180\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lon)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lon\", $event.target.value)}}})])]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.latId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lat)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lat),expression:\"state.values.lat\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.latId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-90\",\"max\":\"90\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lat)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lat\", $event.target.value)}}})])])],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],71:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputMixins = require('gui/inputs/input');\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar _require2 = require('gui/fields/fields'),\n MediaField = _require2.media_field;\n\nexports.default = {\n name: 'input-media',\n\n mixins: [InputMixins],\n components: {\n 'g3w-media': MediaField\n },\n data: function data() {\n return {\n data: {\n value: null,\n mime_type: null\n },\n mediaid: 'media_' + (0, _getUniqueDomId.getUniqueDomId)(),\n loading: false\n };\n },\n\n methods: {\n onClick: function onClick() {\n document.getElementById(this.mediaid).click();\n },\n clearMedia: function clearMedia() {\n this.data.value = this.data.mime_type = this.state.value = null;\n this.change();\n }\n },\n created: function created() {\n if (this.state.value) {\n this.data.value = this.state.value.value;\n this.data.mime_type = this.state.value.mime_type;\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var fieldName = this.state.name;\n var formData = {\n name: fieldName,\n csrfmiddlewaretoken: this.$cookie.get('csrftoken')\n };\n\n yield this.$nextTick();\n\n $('#' + this.mediaid).fileupload({\n dataType: 'json',\n formData: formData,\n start: function start() {\n return _this.loading = true;\n },\n done: function done(e, data) {\n var response = data.result[fieldName];\n if (response) {\n _this.data.value = response.value;\n _this.data.mime_type = response.mime_type;\n _this.state.value = _this.data;\n _this.change();\n }\n },\n fail: function fail(e) {\n console.warn(e);_gui2.default.notify.error(t(\"info.server_error\"));\n },\n always: function always() {\n return _this.loading = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n $('#' + this.mediaid).fileupload('destroy');\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"g3w_input_button skin-border-color\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"2px\",\"width\":\"100%\",\"cursor\":\"pointer\",\"text-align\":\"center\"},on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"fa-2x skin-color\",class:_vm.g3wtemplate.getFontClass('file-upload'),staticStyle:{\"padding\":\"5px\"}},[_c('input',{class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"display\":\"none\"},attrs:{\"id\":_vm.mediaid,\"name\":_vm.state.name,\"tabIndex\":_vm.tabIndex,\"data-url\":_vm.state.input.options.uploadurl,\"type\":\"file\"}})])]),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('g3w-media',{attrs:{\"state\":_vm.data}},[_c('div',{staticClass:\"clearmedia\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMedia()}}},[_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o']})])])],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":173,\"utils/getUniqueDomId\":217}],72:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\nvar Service = require('gui/inputs/picklayer/service');\n\nexports.default = {\n name: 'input-picklayer',\n\n mixins: [Input],\n methods: {\n pickLayer: function pickLayer() {\n var _this = this;\n\n this.pickservice.pick().then(function (value) {\n return _this.state.value = value;\n }).catch(function () {});\n },\n unpick: function unpick() {\n var _this2 = this;\n\n setTimeout(function () {\n return !_this2.pickservice.isPicked() && _this2.pickservice.unpick();\n }, 200);\n }\n },\n created: function created() {\n this.pickservice = new Service(this.state.input.options);\n },\n beforeDestroy: function beforeDestroy() {\n this.pickservice.clear();\n this.pickservice = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"left\":\"0\",\"top\":\"7px\",\"position\":\"absolute\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},style:({cursor: _vm.editable ? 'pointer': null}),attrs:{\"readonly\":\"readonly\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"click\":_vm.pickLayer,\"blur\":_vm.unpick}})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19}],73:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-radio',\n\n mixins: [Input],\n data: function data() {\n return {\n ids: [(0, _getUniqueDomId.getUniqueDomId)(), (0, _getUniqueDomId.getUniqueDomId)()],\n name: 'name_' + (0, _getUniqueDomId.getUniqueDomId)(),\n radio_value: this.state.value\n };\n },\n\n watch: {\n 'radio_value': function radio_value() {\n this.state.value = this.radio_value;\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},_vm._l((_vm.state.input.options.values),function(value,index){return _c('span',{key:value.key},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.radio_value),expression:\"radio_value\"}],staticClass:\"magic-radio\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"id\":_vm.ids[index],\"name\":_vm.name,\"tabIndex\":_vm.tabIndex,\"type\":\"radio\"},domProps:{\"value\":value.value,\"checked\":_vm._q(_vm.radio_value,value.value)},on:{\"change\":function($event){_vm.radio_value=value.value}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.ids[index]}},[_vm._v(_vm._s(value.key))])])}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],74:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-range',\n\n mixins: [Input],\n data: function data() {\n var _state$input$options$ = this.state.input.options.values[0],\n min = _state$input$options$.min,\n max = _state$input$options$.max,\n step = _state$input$options$.Step;\n\n return {\n min: min,\n max: max,\n step: step\n };\n },\n\n methods: {\n checkValue: function checkValue() {\n var isEmpty = null === this.state.value || _.isEmpty(('' + this.state.value).trim());\n\n if (isEmpty && !this.state.validate.required) {\n this.state.value = this.state.input.options.values[0].default;\n }\n\n this.state.validate.valid = !this.state.validate.required;\n\n if (!isEmpty) {\n this.state.validate.valid = this.service.getValidator().validate(this.state.value);\n }\n\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }$event.stopPropagation();}],\"change\":_vm.checkValue,\"blur\":_vm.checkValue,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],75:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-input-pick-layer[data-v-6b3d29b0]{cursor:pointer;position:relative;top:2px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PickLayerInputService = require('gui/inputs/picklayer/service');\n\nvar _require = require('map/layers/layer'),\n Layer = _require.Layer;\n\nvar InputMixin = require('gui/inputs/input');\n\nvar G3W_SELECT2_NULL_VALUE = null;exports.default = {\n name: 'input-select',\n\n mixins: [InputMixin, _mixins.selectMixin, _mixins.select2Mixin],\n data: function data() {\n return {\n showPickLayer: false,\n picked: false,\n filterFields: [],\n isFilterFieldsReady: false };\n },\n\n computed: {\n showNullOption: function showNullOption() {\n return false === this.multiple && [undefined, true].includes(this.state.nullOption);\n },\n select2NullValue: function select2NullValue() {\n return this.showNullOption && G3W_SELECT2_NULL_VALUE;\n }\n },\n methods: {\n pickLayerValue: function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n if (this.picked) {\n this.pickLayerInputService.unpick();\n this.picked = false;\n } else {\n this.picked = true;\n var values = yield this.pickLayerInputService.pick();\n\n var value = values[this.state.input.options.key];\n\n if (this.multiple) {\n value = undefined === this.getMultiValues().find(function (v) {\n return value == v;\n }) ? '{' + [].concat(_toConsumableArray(this.getMultiValues()), [value]).join() + '}' : this.state.value;\n }\n\n if (value != this.state.value) {\n if (this.autocomplete) {\n if (!this.multiple) {\n this.state.input.options.values.splice(0);\n }\n this.state.input.options.values.push({\n key: values[this.state.input.options.value],\n value: values[this.state.input.options.key]\n });\n }\n\n this.service.sortValues();\n\n yield this.changeSelect(value);\n\n this.select2.val(this.multiple ? this.getMultiValues() : value).trigger('change');\n }\n\n _gui2.default.showUserMessage({ type: 'success', autoclose: true });\n\n this.picked = false;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: \"warning\",\n message: 'sdk.form.inputs.messages.errors.picklayer',\n autoclose: true\n });\n this.picked = false;\n }\n });\n\n function pickLayerValue() {\n return _ref.apply(this, arguments);\n }\n\n return pickLayerValue;\n }(),\n getMultiValues: function getMultiValues() {\n var _this = this;\n\n return [undefined, null, ''].includes(this.state.value) ? [] : Array.from(new Set(('' + this.state.value).replace(/^{|}$/g, '').replace(/\"/g, \"\").split(','))).filter(function (v) {\n return _this.autocomplete || _this.state.input.options.values.map(function (_ref2) {\n var value = _ref2.value;\n return '' + value;\n }).includes('' + v);\n });\n },\n setAndListenSelect2Change: function setAndListenSelect2Change() {\n var _this2 = this;\n\n this.select2.on('select2:unselect', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n if (_this2.multiple) {\n var values = _this2.getMultiValues().filter(function (v) {\n return v != value;\n });\n\n if (_this2.autocomplete) {\n _this2.state.input.options.values = _this2.state.input.options.values.filter(function (v) {\n return value != v.value;\n });\n }\n _this2.changeSelect(0 === values.length ? null : '{' + values.join() + '}');\n }\n\n if (_this2.showNullOption && !_this2.multiple) {\n _this2.changeSelect(null);\n }\n });\n\n this.select2.on('select2:select', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n\n value = _this2.showNullOption ? value === G3W_SELECT2_NULL_VALUE ? null : value.toString() : value.toString();\n\n if (_this2.multiple) {\n value = _this2.getMultiValues().length > 0 ? '{' + [].concat(_toConsumableArray(_this2.getMultiValues()), [value]).join() + '}' : '{' + value + '}';\n }\n\n _this2.changeSelect(value);\n });\n }\n },\n\n watch: {\n 'state.input.options.values': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n yield this.$nextTick();\n if (this.autocomplete) {\n return;\n }\n var value = void 0;\n\n var is_empty = 0 === values.length;\n\n if (is_empty || this.multiple && 0 === this.getMultiValues().length) {\n value = G3W_SELECT2_NULL_VALUE;\n }\n\n if (!is_empty && this.multiple && this.getMultiValues().length > 0) {\n value = '{' + this.getMultiValues().join() + '}';\n }\n\n if (!is_empty && !this.multiple) {\n value = (values.find(function (_ref4) {\n var value = _ref4.value;\n return value == _this3.state.value;\n }) || { value: G3W_SELECT2_NULL_VALUE }).value;\n }\n\n var changed = value != this.state.value;\n\n this.state.value = value;\n\n this.select2.val(this.multiple ? this.getMultiValues() : this.state.value).trigger('change');\n\n if (changed) {\n this.change();\n }\n });\n\n function stateInputOptionsValues() {\n return _ref3.apply(this, arguments);\n }\n\n return stateInputOptionsValues;\n }()\n },\n\n created: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.unwatch;\n this.filterFieldsUnwatches;\n\n var _state$input$options = this.state.input.options,\n relation_id = _state$input$options.relation_id,\n _state$input$options$ = _state$input$options.filter_fields,\n filter_fields = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.relation_reference,\n relation_reference = _state$input$options$2 === undefined ? false : _state$input$options$2,\n _state$input$options$3 = _state$input$options.chain_filters,\n chain_filters = _state$input$options$3 === undefined ? false : _state$input$options$3,\n _state$input$options$4 = _state$input$options.allowmulti,\n allowmulti = _state$input$options$4 === undefined ? false : _state$input$options$4;\n\n this.multiple = allowmulti;\n\n if (relation_reference && Array.isArray(filter_fields) && filter_fields.length > 0) {\n this.setLoading(true);\n\n this.isFilterFieldsReady = false;\n\n var _ApplicationState$pro = _application2.default.project.getRelationById(relation_id),\n referencedLayer = _ApplicationState$pro.referencedLayer,\n referencingLayer = _ApplicationState$pro.referencingLayer,\n _ApplicationState$pro2 = _ApplicationState$pro.fieldRef,\n referencingField = _ApplicationState$pro2.referencingField,\n referencedField = _ApplicationState$pro2.referencedField;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(referencingLayer);\n\n var relationLayer = (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer);\n\n var relationLayerFields = relationLayer.getFields();\n\n if (null !== this.state.value) {\n try {\n var _ref6 = yield relationLayer.getFilterData({\n formatter: 0,\n field: (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: referencedField[0],\n value: this.state.value })\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n this.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n order: referencingField[0],\n ffield: filter_fields.map(function (f, i) {\n var value = undefined === data[0].features[0].get(f) ? '' + G3W_SELECT2_NULL_VALUE : data[0].features[0].get(f);\n\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: value,\n disabled: chain_filters && i > 0 && '' + G3W_SELECT2_NULL_VALUE === _this4.filterFields[filter_fields[i - 1]]\n });\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f,\n value: value\n });\n }).join('|AND,')\n })).data || []).map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n value = _ref8[0],\n key = _ref8[1];\n\n return { key: key, value: value };\n });\n\n if (chain_filters) {\n (yield relationLayer.getFilterData({\n unique: filter_fields[0],\n ordering: filter_fields[0],\n formatter: 0\n })).forEach(function (v) {\n return _this4.filterFields[0].values.push({ key: v, value: v });\n });\n\n (yield Promise.allSettled(filter_fields.slice(1).map(function (f, i) {\n return relationLayer.getFilterData({\n unique: filter_fields[i + 1],\n ordering: filter_fields[i + 1],\n formatter: 0,\n field: _this4.filterFields.slice(0, i + 1).filter(function (f) {\n return 'null' !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,')\n });\n }))).forEach(function (_ref9, i) {\n var status = _ref9.status,\n data = _ref9.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i + 1].values.push({ key: v, value: v });\n });\n }\n });\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f) {\n return relationLayer.getFilterData({ unique: f, ordering: f, formatter: 0 });\n }))).forEach(function (_ref10, index) {\n var status = _ref10.status,\n data = _ref10.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[index].values.push({ key: v, value: v });\n });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f, i) {\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: '' + G3W_SELECT2_NULL_VALUE,\n disabled: chain_filters && i > 0\n });\n return relationLayer.getFilterData({\n unique: f,\n formatter: 0,\n ordering: f\n });\n }))).forEach(function (_ref11, i) {\n var status = _ref11.status,\n data = _ref11.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i].values.push({ key: v, value: v });\n });\n }\n });\n }\n\n this.filterFieldsUnwatches = this.filterFields.map(function (f, index) {\n return _this4.$watch(function () {\n return f.value;\n }, function () {\n var _ref12 = _asyncToGenerator(function* (value) {\n _this4.setLoading(true);\n\n if (chain_filters) {\n for (var i = index + 1; i < _this4.filterFields.length; i++) {\n _this4.filterFields[i].value = '' + G3W_SELECT2_NULL_VALUE;\n _this4.filterFields[i].values = [_this4.filterFields[i].values[0]];\n _this4.filterFields[i].disabled = '' + G3W_SELECT2_NULL_VALUE === value;\n }\n try {\n var filter = _this4.filterFields.slice(0, index + 1).filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,');\n\n var _ref13 = yield relationLayer.getFilterData({ field: filter }),\n _ref13$data = _ref13.data,\n rdata = _ref13$data === undefined ? [] : _ref13$data;\n\n if (rdata[0] && rdata[0].features) {\n var filterReferencedFieldValues = [];\n rdata[0].features.forEach(function (f) {\n filterReferencedFieldValues.push(f.get(referencedField));\n if (index < _this4.filterFields.length - 1) {\n var _value = f.get(_this4.filterFields[index + 1].id);\n _this4.filterFields[index + 1].values.push({ key: _value, value: _value });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n _this4.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n ordering: referencingField[0],\n ffield: _this4.filterFields.filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: f.id, value: f.value });\n }).join('|AND,')\n })).data || []).map(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n value = _ref15[0],\n key = _ref15[1];\n\n return { key: key, value: value };\n });\n\n if (_this4.state.input.options.values.length > 0) {\n _this4.state.value = _this4.state.input.options.values[0].value;\n _this4.select2.val(_this4.state.value).trigger('change');\n yield _this4.changeSelect(_this4.state.value);\n }\n\n _this4.setLoading(false);\n });\n\n return function (_x2) {\n return _ref12.apply(this, arguments);\n };\n }());\n });\n\n this.setLoading(false);\n\n this.isFilterFieldsReady = true;\n }\n\n if ('select_autocomplete' === this.state.input.type) {\n var dependencyLayerId = this.state.input.options.layer_id;\n if (dependencyLayerId) {\n try {\n var dependencyLayer = _gui2.default.getService('map').getProjectLayer(dependencyLayerId).getEditingLayer() || (0, _getCatalogLayerById.getCatalogLayerById)(dependencyLayerId);\n\n this.showPickLayer = dependencyLayer && Layer.LayerTypes.TABLE !== dependencyLayer.getType();\n if (this.showPickLayer) {\n var _state$input$options2 = this.state.input.options,\n key = _state$input$options2.key,\n value = _state$input$options2.value,\n layer_id = _state$input$options2.layer_id;\n\n this.pickLayerInputService = new PickLayerInputService({\n layer_id: layer_id,\n fields: [value, key],\n pick_type: dependencyLayer.isStarted && dependencyLayer.isStarted() ? 'map' : null\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n }\n });\n\n function created() {\n return _ref5.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n var selectElement = $(this.$refs.select);\n var language = this.getLanguage();\n var dropdownParent = undefined === this.state.dropdownParent && $('#g3w-view-content');\n if (this.autocomplete) {\n this.select2 = selectElement.select2({\n minimumInputLength: 1,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n allowClear: this.showNullOption,\n placeholder: '',\n language: language,\n ajax: {\n delay: 250,\n transport: function transport(params, success, failure) {\n var search = params.data.term;\n\n $('.select2-results__option.loading-results').siblings().hide();\n _this5.service.getData({\n key: _this5.state.input.options.value,\n value: _this5.state.input.options.key,\n search: search\n }).then(function (values) {\n return success(values);\n }).catch(function (e) {\n console.warn(e);failure(e);\n });\n },\n processResults: function processResults(data, params) {\n params.page = params.page || 1;\n return {\n results: data,\n pagination: {\n more: false\n }\n };\n } }\n });\n\n if (this.state.value) {\n this.state.input.options.values.splice(0);\n yield this.service.getKeyByValue({\n search: this.multiple ? this.getMultiValues() : this.state.value\n });\n }\n } else {\n this.select2 = selectElement.select2({\n language: language,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n minimumResultsForSearch: this.isMobile() ? -1 : null\n });\n }\n this.setAndListenSelect2Change();\n\n if (this.multiple && this.getMultiValues().length > 0) {\n this.select2.val(this.getMultiValues()).trigger('change');\n } else {\n this.setValue();\n }\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.pickLayerInputService) {\n this.pickLayerInputService.clear();\n this.pickLayerInputService = null;\n }\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n }\n\n if (this.filterFieldsUnwatches) {\n this.filterFieldsUnwatches.forEach(function (uw) {\n return uw();\n });\n this.filterFieldsUnwatches = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[(_vm.showPickLayer)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.form.inputs.tooltips.picklayer'),expression:\"'sdk.form.inputs.tooltips.picklayer'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],staticClass:\"g3w-input-pick-layer skin-color\",attrs:{\"slot\":\"label-action\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.pickLayerValue($event)}},slot:\"label-action\"},[_c('i',{class:_vm.g3wtemplate.font['crosshairs']})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex},slot:\"body\"},[(_vm.filterFields.length > 0 && _vm.isFilterFieldsReady)?_c('div',{staticClass:\"g3w-relation-reference-fields-content\"},[_vm._l((_vm.filterFields),function(rf,index){return [_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('filterFields'),expression:\"'filterFields'\"}],ref:(\"filterField_\" + (rf.id)),refInFor:true,staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"select2_value\":rf.value,\"indexItem\":index,\"id\":rf.id,\"disabled\":rf.disabled}},_vm._l((rf.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])}),0)]}),_vm._v(\" \"),_c('divider')],2):_vm._e(),_vm._v(\" \"),_c('select',{ref:\"select\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"}},[(_vm.showNullOption)?_c('option',{domProps:{\"value\":_vm.select2NullValue}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{key:_vm.getValue(value),domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])})],2)]),_vm._v(\" \"),('error' === _vm.loadingState )?_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('server_error'),expression:\"'server_error'\"}],staticClass:\"error-input-message\",attrs:{\"slot\":\"message\"},slot:\"message\"}):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6b3d29b0\"\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19,\"map/layers/layer\":156,\"mixins\":166,\"services/gui\":173,\"store/application\":178,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],76:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-slider-range',\n\n mixins: [Input],\n watch: {\n 'state.input.options.min': function stateInputOptionsMin() {\n this.service.changeInfoMessage();\n },\n 'state.input.options.max': function stateInputOptionsMax() {\n this.service.changeInfoMessage();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"min\":_vm.state.input.options.min,\"max\":_vm.state.input.options.max,\"type\":\"range\",\"step\":_vm.state.input.options.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],77:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-text\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"keyup\":function($event){_vm.isMobile() ? _vm.mobileChange($event) : _vm.change()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],78:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"textarea[data-v-3ac5abe4]{resize:none;border:1px solid #ccc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-textarea\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('textarea',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"max-width\":\"100%\",\"min-width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"rows\":\"3\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":function($event){$event.stopPropagation();},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"change\":_vm.change},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3ac5abe4\"\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],79:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"button.ql-html{width:40px!important}button.ql-html:after{content:\\\"html\\\"}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-html\",\n\n mixins: [Input],\n methods: {\n setupTableCustomTools: function setupTableCustomTools() {\n var buttonColumnLeft = this.$el.querySelector('.ql-column-left');\n buttonColumnLeft.innerHTML = '';\n buttonColumnLeft.title = \"Add column left\";\n\n var buttonColumnRight = this.$el.querySelector('.ql-column-right');\n buttonColumnRight.innerHTML = '';\n buttonColumnRight.title = \"Add column right\";\n\n var buttonColumnRemove = this.$el.querySelector('.ql-column-remove');\n buttonColumnRemove.innerHTML = '';\n buttonColumnRemove.title = \"Remove column\";\n\n var buttonRowAbove = this.$el.querySelector('.ql-row-above');\n buttonRowAbove.innerHTML = '';\n buttonRowAbove.title = \"Add row above\";\n\n\n var buttonRowBelow = this.$el.querySelector('.ql-row-below');\n buttonRowBelow.innerHTML = '';\n buttonRowBelow.title = \"Add row below\";\n\n var buttonRowRemove = this.$el.querySelector('.ql-row-remove');\n buttonRowRemove.innerHTML = '';\n buttonRowRemove.title = \"Remove row\";\n }\n },\n created: function created() {\n this.edit_state = {\n edit: false,\n show_html: false\n };\n\n if (!this.state.edit_states) {\n this.state.edit_states = [];\n }\n this.state.edit_states.push(this.edit_state);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var toolbarOptions = [[{ header: [1, 2, 3, 4, 5, 6, false] }], [{ 'align': '' }, { 'align': 'center' }, { 'align': 'right' }, { 'align': 'justify' }], [{ 'color': [] }, { 'background': [] }], ['bold', 'italic', 'underline', { 'list': 'ordered' }, { 'list': 'bullet' }, 'link', 'clean', 'html'], ['table', 'column-left', 'column-right', 'column-remove', 'row-above', 'row-below', 'row-remove']];\n yield this.$nextTick();\n this.quill = new Quill(this.$refs.quill_editor, {\n modules: {\n table: true,\n toolbar: {\n container: toolbarOptions,\n handlers: {\n html: function html() {\n _this.edit_state.show_html = !_this.edit_state.show_html;\n if (_this.edit_state.show_html) {\n _this.quill.container.firstChild.innerText = _this.quill.container.firstChild.innerHTML;\n } else {\n _this.quill.container.firstChild.innerHTML = _this.quill.container.firstChild.innerText;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.$el.querySelectorAll('.ql-formats')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var qlformat = _step.value;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = qlformat.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var child = _step2.value;\n\n if (!child.classList.contains('ql-html')) {\n child.classList.toggle('g3w-disabled');\n } else {\n child.classList.toggle('skin-color');\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n },\n 'column-left': function columnLeft() {\n return _this.table.insertColumnLeft();\n },\n 'column-right': function columnRight() {\n return _this.table.insertColumnRight();\n },\n 'column-remove': function columnRemove() {\n return _this.table.deleteColumn();\n },\n 'row-above': function rowAbove() {\n return _this.table.insertRowAbove();\n },\n 'row-below': function rowBelow() {\n return _this.table.insertRowBelow();\n },\n 'row-remove': function rowRemove() {\n return _this.table.deleteRow();\n }\n }\n\n }\n },\n theme: 'snow'\n });\n this.quill.container.firstChild.innerHTML = this.state.value;\n\n this.table = this.quill.getModule('table');\n this.setupTableCustomTools();\n\n this.handler = function () {\n _this.state.value = _this.edit_state.show_html ? _this.quill.container.firstChild.innerText : _this.quill.container.firstChild.innerHTML;\n _this.edit_state.edit = true;\n _this.change();\n setTimeout(function () {\n return _this.edit_state.edit = false;\n });\n };\n\n this.quill.on('text-change', this.handler);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n 'state.value': function stateValue(value) {\n if (!this.edit_state.edit) {\n if (this.edit_state.show_html) {\n this.quill.container.firstChild.innerText = value;\n } else {\n this.quill.container.firstChild.innerHTML = value;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.quill.off('text-change', this.handler);\n this.handler = null;\n this.quill = null;\n this.edit_state.edit = false;\n this.edit_state.show_html = false;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('div',{ref:\"quill_editor\",staticClass:\"form-control\",style:({border: _vm.novalid ? '1px solid reed' : '1px solid #ccc'}),attrs:{\"slot\":\"body\"},on:{\"keydown\":function($event){$event.stopPropagation();}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],80:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-unique\",\n\n mixins: [Input, _mixins.selectMixin],\n data: function data() {\n return { id: 'unique_' + (0, _getUniqueDomId.getUniqueDomId)() };\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.select2 = $('#' + this.id).select2({\n dropdownParent: $('#g3w-view-content'),\n tags: this.state.input.options.editable,\n language: this.getLanguage()\n });\n if (null !== this.state.value) {\n this.select2.val(this.state.value).trigger('change');\n }\n this.select2.on('select2:select', function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n _this.state.value = 'null' === value ? null : ['integer', 'float', 'bigint'].includes(_this.state.type) ? Number(value) : value;\n\n _this.changeSelect(_this.state.value);\n yield _this.$nextTick();\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('select',{staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"id\":_vm.id,\"tabIndex\":_vm.tabIndex},slot:\"body\"},[_c('option',{attrs:{\"value\":\"null\"}}),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(value){return _c('option',{key:value,domProps:{\"value\":_vm.getValue(value)}},[_vm._v(_vm._s(_vm.getValue(value)))])})],2)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"utils/getUniqueDomId\":217}],81:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#marker[data-v-70e886b4]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-70e886b4]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-70e886b4]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:hsla(0,0%,100%,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-70e886b4]{position:relative;width:100%;height:100%}.g3w-map[data-v-70e886b4]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-70e886b4]{display:block}.g3w-map.hide[data-v-70e886b4]{display:none}#map_footer[data-v-70e886b4]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:hsla(0,0%,100%,.7)}#permalink[data-v-70e886b4]{font-weight:700;font-size:1.2em;padding:5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-70e886b4]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-70e886b4]{padding:3px}#map_footer_right[data-v-70e886b4]{flex-shrink:0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _copyUrl = require('utils/copyUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-map',\n\n data: function data() {\n var service = this.$options.service;\n\n return {\n target: this.$options.service.target,\n hidemaps: service.state.hidemaps,\n map_info: service.state.map_info,\n service: service,\n mouse: {\n visible: true,\n switch_icon: false,\n epsg_4326: false,\n tooltip: null\n },\n urlCopied: false,\n mapunit: _application2.default.map.unit\n };\n },\n\n\n computed: {\n version: function version() {\n return 'Powered by G3W-SUITE ' + initConfig.version;\n },\n showmapunits: function showmapunits() {\n return this.service.state.mapunits.length > 1;\n }\n },\n\n methods: {\n showHideControls: function showHideControls() {\n this.service.getMapControls().forEach(function (c) {\n return \"scaleline\" !== c.type && c.control.showHide();\n });\n },\n createCopyMapExtentUrl: function createCopyMapExtentUrl() {\n var _this = this;\n\n var url = new URL(location.href);\n url.searchParams.set('map_extent', this.service.getMapExtent().toString());\n (0, _copyUrl.copyUrl)(url.toString());\n this.urlCopied = !this.urlCopied;\n setTimeout(function () {\n return _this.urlCopied = false;\n }, 5000);\n },\n switchMapsCoordinateTo4326: function switchMapsCoordinateTo4326() {\n this.mouse.epsg_4326 = !this.mouse.epsg_4326;\n this.service.getMapControlByType({ type: 'mouseposition' }).dispatchEvent({\n type: 'change:epsg',\n epsg: this.mouse.epsg_4326 ? 'EPSG:4326' : this.service.getEpsg()\n });\n }\n },\n\n watch: {\n 'mapunit': function mapunit(unit) {\n _application2.default.map.unit = unit;\n this.service.changeScaleLineUnit(unit);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.crs = this.service.getCrs();\n\n yield this.$nextTick();\n\n this.service.onafter('addHideMap', _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref3.ratio,\n _ref3$layers = _ref3.layers,\n layers = _ref3$layers === undefined ? [] : _ref3$layers,\n _ref3$mainview = _ref3.mainview,\n mainview = _ref3$mainview === undefined ? false : _ref3$mainview,\n _ref3$switchable = _ref3.switchable,\n switchable = _ref3$switchable === undefined ? false : _ref3$switchable;\n\n yield _this2.$nextTick();\n _this2.service._addHideMap({ ratio: ratio, layers: layers, mainview: mainview, switchable: switchable });\n }));\n\n this.service.once('ready', function () {\n if (_this2.service.getMapControlByType({ type: 'mouseposition' })) {\n _this2.mouse.switch_icon = _this2.service.getMapControlByType({ type: 'mouseposition' }) && 'EPSG:4326' !== _this2.service.getEpsg();\n _this2.mouse.tooltip = 'ESPG ' + _this2.service.getCrs().split(':')[1] + ' \\u2194 WGS84';\n } else {\n _this2.mouse.visible = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g3w-maps\"}},[_vm._l((_vm.hidemaps),function(hidemap){return _c('div',{key:hidemap.id,staticClass:\"g3w-map hidemap\",attrs:{\"id\":hidemap.id}})}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map\",attrs:{\"id\":_vm.target}},[_c('div',{ref:\"g3w-map-controls\",staticClass:\"g3w-map-controls rv\",staticStyle:{\"display\":\"flex\"}}),_vm._v(\" \"),(_vm.map_info.info)?_c('div',{ref:\"g3w-map-info\",style:(_vm.map_info.style),attrs:{\"id\":\"g3w-map-info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.map_info.info)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map-controls-left-bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"skin-border-color\",attrs:{\"id\":\"map_footer\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_left\"}},[_c('a',{staticStyle:{\"margin-left\":\"5px\",\"align-self\":\"center\"},attrs:{\"href\":\"https://g3wsuite.it/\",\"target\":\"_blank\",\"title\":_vm.version}},[_c('img',{attrs:{\"height\":\"15\",\"src\":\"/static/client/images/g3wsuite_logo.png\",\"alt\":\"\"}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_right\"}},[(_vm.mouse.visible && _vm.mouse.switch_icon && !_vm.isMobile())?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.mouse.tooltip),expression:\"mouse.tooltip\",arg:\"top\",modifiers:{\"create\":true}}],attrs:{\"id\":\"switch-mouse-coordinate\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.switchMapsCoordinateTo4326($event)}}},[_c('span',{staticClass:\"skin-color-dark hide-cursor-caret-color\",class:_vm.$fa('mouse')})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mouse.visible),expression:\"mouse.visible\"}],attrs:{\"id\":\"mouse-position-control\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.copy_map_extent_url'),expression:\"'sdk.tooltips.copy_map_extent_url'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"skin-color-dark\",class:( _obj = {}, _obj[_vm.$fa('link')] = !_vm.urlCopied, _obj[_vm.$fa('success')] = _vm.urlCopied, _obj ),attrs:{\"id\":\"permalink\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.createCopyMapExtentUrl($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"scale-control\"}}),_vm._v(\" \"),(_vm.showmapunits)?_c('div',{attrs:{\"id\":\"scale-line-units\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mapunit),expression:\"mapunit\"}],staticClass:\"skin-color-dark\",staticStyle:{\"padding\":\"5px 2px\",\"font-weight\":\"bold\",\"border\":\"0\",\"cursor\":\"pointer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mapunit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.service.state.mapunits),function(unit){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.mapcontrols.scaleline.units.\" + unit)),expression:\"`sdk.mapcontrols.scaleline.units.${unit}`\"}],staticStyle:{\"font-weight\":\"bold\"},domProps:{\"value\":unit,\"selected\":_vm.mapunit === unit}})}),0)]):_vm._e()])])],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{attrs:{\"id\":\"marker\"}})])}]\n__vue__options__._scopeId = \"data-v-70e886b4\"\n\n},{\"store/application\":178,\"utils/copyUrl\":190,\"vueify/lib/insert-css\":2}],82:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li[data-v-547bdae4]:not(.skin-background-color){display:flex;align-items:center;gap:10px}li.gcd-icon-poi .gcd-city[data-v-547bdae4],li.gcd-icon-poi .gcd-country[data-v-547bdae4],li.gcd-icon-poi .gcd-road[data-v-547bdae4],li.gcd-icon-road .gcd-icon[data-v-547bdae4],li.gcd-icon-road .gcd-name[data-v-547bdae4],li.gcd-icon-road .gcd-type[data-v-547bdae4]{display:none}#gcd-search[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;border-radius:0;background-color:var(--skin-color,#fff)}#gcd-trash[data-v-547bdae4],#markers-visibility-layer[data-v-547bdae4],#show-markers-results[data-v-547bdae4]{z-index:1;border-radius:0!important;color:#fff;border-left:1px solid #fff}#gcd-trash[data-v-547bdae4]{color:red}#gcd-input-query[data-v-547bdae4]{font-weight:700}.gcd-txt-reset[data-v-547bdae4]:after{content:\\\"\\\\d7\\\";display:inline-block;font-weight:700;font-size:2em;cursor:pointer;color:var(--skin-color)}.gcd-txt-reset[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;line-height:100%;border:none;background-color:transparent;display:inline-block;vertical-align:middle;outline:0;cursor:pointer}.gcd-txt-input[data-v-547bdae4]:focus{outline:none}.gcd-txt-input[data-v-547bdae4]{z-index:1;border:0;width:100%;height:100%;padding:5px;text-indent:6px;background-color:transparent;font-family:inherit;font-size:1em}.gcd-txt-control[data-v-547bdae4]{position:relative;display:flex;justify-content:flex-end;height:41px;background-color:#fff;overflow:hidden;border-radius:2px;width:100%;border:2px solid var(--skin-color)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gcd-road[data-v-547bdae4]{font-size:.875em;font-weight:500}.gcd-city[data-v-547bdae4]{font-size:1em;font-weight:700}.gcd-country[data-v-547bdae4]{font-size:.75em}.gcd-spin[data-v-547bdae4]:after{animation:spin .7s linear infinite}.gcd-hidden[data-v-547bdae4]{display:none!important}li.skin-background-color[data-v-547bdae4]{position:sticky;top:0}li.selected[data-v-547bdae4]{background-color:#f7fabf!important}li.gcd-noresult[data-v-547bdae4]:hover{background-color:transparent!important}li.gcd-noresult[data-v-547bdae4]{font-weight:700;color:#384247;margin:10px;border-bottom:0!important}\\n.ol-geocoder{box-sizing:border-box;position:absolute;max-width:300px;top:3px;left:45px;width:50%;height:6px;font-size:1.1em}@media (max-width:767px){.ol-geocoder{left:10px}}.ol-geocoder>ul>li:hover{background-color:#eee}.ol-geocoder>ul>li{width:100%;overflow:hidden;padding:0;min-height:30px;padding-left:3px;border-bottom:2px solid var(--skin-color);min-height:20px;padding:10px}.ol-geocoder>ul{border-radius:3px!important;width:100%;max-height:200px;padding:0;margin-top:3px;background-color:#fff;border-top:none;overflow-x:hidden;overflow-y:auto;transition:max-height .3s ease-in;margin-bottom:0}.ol-geocoder>ul>li>a{display:block;text-decoration:none;padding:3px 5px;color:#000}.ol-geocoder>ul>li:last-child{border-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _QueryResultsActionChooseLayer = require('components/QueryResultsActionChooseLayer.vue');\n\nvar _QueryResultsActionChooseLayer2 = _interopRequireDefault(_QueryResultsActionChooseLayer);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _flattenObject = require('utils/flattenObject');\n\nvar _addZValueToOLFeatureGeometry = require('utils/addZValueToOLFeatureGeometry');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _convertSingleMultiGeometry = require('utils/convertSingleMultiGeometry');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar PROVIDERS = window.initConfig.mapcontrols.geocoding ? window.initConfig.mapcontrols.geocoding.providers : {};\nObject.keys(PROVIDERS).forEach(function (p) {\n var script = document.createElement('script');\n script.src = window.initConfig.staticurl + 'client/geocoding-providers/' + p + '.js';\n script.async = true;\n document.head.appendChild(script);\n});\n\nvar LAYER = new ol.layer.Vector({\n id: '__g3w_marker',\n name: 'Geocoding',\n source: new ol.source.Vector(),\n style: function style(feature) {\n if ('__g3w_marker_coordinates' === feature.getId()) {\n return new ol.style.Style({\n text: new ol.style.Text({\n offsetY: -15,\n text: '\\uF3C5',\n font: '900 3em \"Font Awesome 5 Free\"',\n stroke: new ol.style.Stroke({\n color: 'red',\n width: 3\n }),\n fill: new ol.style.Fill({\n color: 'rgba(255, 0,0, 0.7)'\n })\n })\n });\n } else {\n return [new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/pushpin.svg',\n scale: 0.8\n })\n }), new ol.style.Style({\n image: new ol.style.RegularShape({\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 0] }),\n points: 4,\n radius: 50,\n angle: Math.PI / 4\n })\n })];\n }\n }\n});\n\nvar is_clearing = false;\n\nexports.default = {\n data: function data() {\n return {\n results: [],\n\n disabled: false,\n results_panel_open: false };\n },\n\n\n props: {\n providers: {\n type: Object,\n default: {}\n }\n\n },\n\n computed: {\n is_layer_visible: function is_layer_visible() {\n return LAYER.getVisible();\n },\n features: function features() {\n return LAYER.getSource().getFeatures();\n },\n has_providers: function has_providers() {\n return Object.keys(this.providers).length > 0;\n },\n extent: function extent() {\n var map = _gui2.default.getService('map');\n var project = map.getProject().state;\n return ol.proj.transformExtent(Object.keys(this.providers).filter(function (p) {\n return 'nominatim' != p;\n }).length > 0 ? map.getMapExtent() : project.initextent || project.extent, project.crs.epsg, 'EPSG:4326');\n },\n placeholder: function placeholder() {\n return _application2.default.language && t('mapcontrols.geocoding.placeholder');\n }\n },\n\n methods: {\n _hideMarker: function _hideMarker() {\n LAYER.getSource().clear();\n\n if (false === this.is_layer_visible) {\n this.toggleLayerVisibility();\n }\n },\n toggleLayerVisibility: function toggleLayerVisibility() {\n LAYER.setVisible(!this.is_layer_visible);\n },\n clearResults: function clearResults() {\n this.results.splice(0);\n\n if (LAYER.getSource().getFeatureById('__g3w_marker_coordinates')) {\n LAYER.getSource().removeFeature(LAYER.getSource().getFeatureById('__g3w_marker_coordinates'));\n }\n },\n clearMarkers: function clearMarkers() {\n is_clearing = true;\n this._hideMarker();\n\n this.results.forEach(function (i) {\n return i.__selected = false;\n });\n var layer = _gui2.default.getService('queryresults').getState().layers.find(function (l) {\n return l.id === LAYER.get('id');\n });\n\n if (layer) {\n layer.features.forEach(function (f) {\n return _gui2.default.getService('queryresults').removeFeatureLayerFromResult(layer, f);\n });\n }\n is_clearing = false;\n },\n clear: function clear() {\n this.clearResults();\n this.clearMarkers();\n },\n query: function () {\n var _ref = _asyncToGenerator(function* (q) {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n var isNumber = function isNumber(value) {\n return 'number' === typeof value && !Number.isNaN(value);\n };\n var coordinates = null;\n var transform = false;\n\n var _split = (q || '').split(','),\n _split2 = _slicedToArray(_split, 3),\n x = _split2[0],\n y = _split2[1],\n epsg = _split2[2];\n\n var projection = epsg && (yield _projections2.default.registerProjection('EPSG:' + epsg.trim()));\n\n if (isNumber(1 * x) && isNumber(1 * y)) {\n coordinates = [1 * x, 1 * y];\n }\n\n try {\n if (projection) {\n coordinates = ol.proj.transform(coordinates, projection.getCode(), 'EPSG:4326');\n transform = true;\n }\n } catch (e) {\n console.warn(e);\n }\n\n if (coordinates) {\n var source = LAYER.getSource();\n\n if (source.getFeatureById('__g3w_marker_coordinates')) {\n source.removeFeature(source.getFeatureById('__g3w_marker_coordinates'));\n }\n\n var feature = new ol.Feature({\n geometry: new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates),\n\n lon: coordinates[0],\n lat: coordinates[1]\n });\n\n feature.setId('__g3w_marker_coordinates');\n\n LAYER.getSource().addFeature(feature);\n\n map.zoomToGeometry(new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates));\n return coordinates;\n }\n\n if (!coordinates) {\n this.clearResults();\n this.$refs.reset.classList.add(\"gcd-spin\");\n\n (yield Promise.allSettled(Object.entries(this.providers).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n p = _ref3[0],\n _ref3$ = _ref3[1],\n config = _ref3$ === undefined ? {} : _ref3$;\n\n return PROVIDERS[p].fetch({\n url: config.url,\n icon: config.icon,\n query: q,\n lang: _application2.default.language || 'it-IT',\n\n limit: 5,\n extent: _this.extent\n });\n }))).filter(function (p) {\n return 'fulfilled' === p.status;\n }).forEach(function (p) {\n _this.results.push({\n __heading: true,\n provider: p.value.provider,\n label: _this.providers[p.value.provider].label || p.value.label\n });\n\n if (!(p.value.results && p.value.results.length)) {\n _this.results.push({\n __no_results: !(p.value.results && p.value.results.length)\n });\n return;\n }\n\n p.value.results.forEach(function (item) {\n _this.results.push((0, _flattenObject.flattenObject)(_extends({}, item, {\n provider: p.value.provider,\n __uid: (0, _getUniqueDomId.getUniqueDomId)(),\n __icon: _this.providers[p.value.provider].icon || p.value.icon,\n __selected: false\n })));\n });\n });\n\n this.$refs.reset.classList.remove(\"gcd-spin\");\n }\n });\n\n function query(_x) {\n return _ref.apply(this, arguments);\n }\n\n return query;\n }(),\n onQuery: function onQuery(evt) {\n if ('Enter' === evt.key || 13 === evt.which || 13 === evt.keyCode) {\n evt.preventDefault();\n this.query(evt.target.value.trim());\n }\n },\n onValue: function onValue(e) {\n this.$refs.reset.classList.toggle(\"gcd-hidden\", 0 === e.target.value.trim().length);\n },\n onReset: function onReset() {\n this.$refs.input.focus();\n this.$refs.input.value = '';\n this.$refs.reset.classList.add(\"gcd-hidden\");\n this.clearResults();\n },\n _removeItem: function _removeItem(uid) {\n var item = (this.results || []).find(function (r) {\n return uid === r.__uid;\n });\n\n if (this.features.length) {\n var source = LAYER.getSource();\n source.removeFeature(source.getFeatureById(uid));\n }\n\n if (item) {\n item.__selected = false;\n }\n\n if (0 === this.features.length) {\n this._hideMarker();\n }\n\n if (!is_clearing) {\n this.showMarkerResults(undefined, 0 === this.features.length);\n }\n },\n onItemClick: function onItemClick(evt, item) {\n if (!item.lat || !item.lon) {\n return;\n }\n evt.preventDefault();\n try {\n var source = LAYER.getSource();\n\n if (source.getFeatureById(item.__uid)) {\n this._removeItem(item.__uid);\n } else {\n var __uid = item.__uid,\n __icon = item.__icon,\n __selected = item.__selected,\n _item = _objectWithoutProperties(item, ['__uid', '__icon', '__selected']);\n\n var feature = new ol.Feature(_extends({\n geometry: new ol.geom.Point(ol.proj.transform([parseFloat(item.lon), parseFloat(item.lat)], 'EPSG:4326', _gui2.default.getService('map').getEpsg()))\n }, _item));\n\n feature.setId(__uid);\n source.addFeature(feature);\n _gui2.default.getService('map').zoomToFeatures([feature]);\n item.__selected = true;\n this.showMarkerResults([feature]);\n }\n } catch (e) {\n console.warn(e);\n }\n },\n showMarkerResults: function () {\n var _ref4 = _asyncToGenerator(function* (features) {\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.results_panel_open && toggle) {\n _gui2.default.closeContent();\n return;\n }\n\n if (_gui2.default.getCurrentContent()) {\n yield _gui2.default.closeContent();\n }\n _gui2.default.showQueryResults('Geocoding', { data: [{ layer: LAYER, features: features || LAYER.getSource().getFeatures() }] });\n this.results_panel_open = true;\n });\n\n function showMarkerResults(_x3) {\n return _ref4.apply(this, arguments);\n }\n\n return showMarkerResults;\n }(),\n _editItem: function () {\n var _ref5 = _asyncToGenerator(function* (layerId, feature) {\n var editing = _plugins2.default.getPlugin('editing');\n\n if (!editing) {\n return;\n }\n\n this.disabled = true;\n try {\n var type = (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getGeometryType();\n\n var _feature = (0, _addZValueToOLFeatureGeometry.addZValueToOLFeatureGeometry)({\n geometryType: type,\n feature: new ol.Feature(_extends({}, Object.entries(feature.attributes).reduce(function (acc, attr) {\n return _extends({}, acc, _defineProperty({}, attr[0].replace(feature.attributes.provider + '_', '').toLowerCase(), attr[1]));\n }, {}), feature.attributes, {\n geometry: (0, _convertSingleMultiGeometry.convertSingleMultiGeometry)(feature.geometry, type)\n }))\n });\n\n yield editing.getApi().addLayerFeature({ layerId: layerId, feature: _feature });\n } catch (e) {\n console.warn(e);\n }\n this.disabled = false;\n });\n\n function _editItem(_x4, _x5) {\n return _ref5.apply(this, arguments);\n }\n\n return _editItem;\n }()\n },\n\n created: function created() {\n var _this2 = this;\n\n var queryresults = _gui2.default.getService('queryresults');\n var mapService = _gui2.default.getService('map');\n var map = mapService.getMap();\n\n map.addLayer(LAYER);\n\n mapService.on('set-layer-zindex', function (_ref6) {\n var layer = _ref6.layer,\n zindex = _ref6.zindex;\n\n if (layer.get('id') !== LAYER.get('id')) {\n LAYER.setZIndex(zindex + 1);\n }\n });\n\n queryresults.registerVectorLayer(LAYER);\n\n _gui2.default.on('closecontent', function () {\n _this2.results_panel_open = false;\n });\n _gui2.default.onafter('setContent', function () {\n if (_this2.results_panel_open) _this2.results_panel_open = false;\n });\n\n queryresults.onafter('removeFeatureLayerFromResult', function (layer, feature) {\n if (LAYER.get('id') === layer.id) {\n _this2._removeItem(feature.id);\n }\n });\n\n queryresults.onafter('addActionsForLayers', function (actions, layers) {\n\n var layer = layers.find(function (l) {\n return LAYER.get('id') === l.id;\n });\n\n if (!layer) {\n return;\n }\n\n var editablePointLayers = (0, _getCatalogLayers.getCatalogLayers)({ EDITABLE: true, GEOLAYER: true }).filter(function (l) {\n return (0, _isPointGeometryType.isPointGeometryType)(l.getGeometryType());\n }).map(function (l) {\n return { id: l.getId(), name: l.getName(), inediting: l.isInEditing() };\n });\n\n if (editablePointLayers.find(function (l) {\n return l.inediting;\n })) {\n return;\n }\n\n queryresults.addCurrentActionToolsLayer({\n id: _QueryResultsActionChooseLayer2.default.name,\n layer: layer,\n action: {\n id: 'choose_layer',\n class: _gui2.default.getFontClass('pencil'),\n state: Vue.observable({ toggled: Array(layer.features.length).fill(null) }),\n toggleable: true,\n hint: 'Choose a layer',\n cbk: function cbk(layer, feature, action, index) {\n if (1 === editablePointLayers.length) {\n _this2._editItem(editablePointLayers[0].id, feature);\n return;\n }\n\n action.state.toggled[index] = !action.state.toggled[index];\n queryresults.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: action.state.toggled[index] ? _QueryResultsActionChooseLayer2.default : null\n });\n }\n },\n config: {\n layers: editablePointLayers,\n icon: 'pencil',\n label: 'mapcontrols.geocoding.choose_layer',\n nolayers: 'mapcontrols.geocoding.nolayers',\n cbk: _this2._editItem\n }\n });\n });\n },\n destroyed: function destroyed() {\n _gui2.default.getService('queryresults').unregisterVectorLayer(LAYER);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has_providers)?_c('div',{class:[ 'ol-geocoder', { 'g3w-disabled': _vm.disabled }]},[_c('div',{staticClass:\"gcd-txt-control\"},[_c('input',{ref:\"input\",staticClass:\"gcd-txt-input\",attrs:{\"type\":\"text\",\"id\":\"gcd-input-query\",\"autocomplete\":\"off\",\"placeholder\":_vm.placeholder},on:{\"keyup\":_vm.onQuery,\"input\":_vm.onValue}}),_vm._v(\" \"),_c('button',{ref:\"reset\",staticClass:\"gcd-txt-reset gcd-hidden\",attrs:{\"type\":\"button\",\"id\":\"gcd-input-reset\",\"title\":\"Reset search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onReset($event)}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"gcd-search\",\"title\":\"Submit search\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.query(_vm.$refs.input.value); })($event)}}},[_c('i',{class:_vm.$fa('search'),staticStyle:{\"color\":\"#fff\"},attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"gcd-trash\",\"title\":\"Clear markers selection\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMarkers($event)}}},[_c('i',{class:_vm.$fa('trash'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"markers-visibility-layer\",\"title\":\"Toggle markers visibility\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLayerVisibility($event)}}},[_c('i',{class:_vm.$fa(_vm.is_layer_visible ? 'eye-close': 'eye'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"show-markers-results\",\"title\":\"Toggle sidebar panel\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.showMarkerResults(undefined, true); })($event)}}},[_c('code',{style:({ opacity: _vm.results_panel_open ? 0.5 : undefined })},[_vm._v(\"\\n \"+_vm._s(_vm.features.length > 99 ? '99+' : _vm.features.length)+\"\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('ul',{ref:\"result\",staticClass:\"gcd-txt-result\"},_vm._l((_vm.results),function(item,i){return _c('li',{key:item.__uid,class:[\n item.provider,\n item.__icon ? 'gcd-icon-' + item.__icon : '',\n item.__heading ? 'skin-background-color' : '',\n item.__no_results ? 'gcd-noresult' : '',\n item.__selected ? 'selected' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.onItemClick($event, item)}}},[(item.__heading)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"5px\"}},[_c('span',{staticStyle:{\"color\":\"#FFF\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.label))])]):(item.__no_results)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.geocoding.noresults'),expression:\"'mapcontrols.geocoding.noresults'\"}]}):[_c('span',{class:_vm.$fa(item.__selected ? 'check' : 'uncheck'),staticStyle:{\"color\":\"#000\",\"padding\":\"5px\"}}),_vm._v(\" \"),('road' === item.__icon)?_c('i',{staticClass:\"fa fa-road\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}):('poi' === item.__icon)?_c('img',{staticClass:\"gcd-icon\",attrs:{\"src\":\"/static/client/images/pushpin.svg\",\"width\":\"24\",\"height\":\"24\"}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"\",\"draggable\":\"false\"}},[(item.type)?_c('div',{staticClass:\"gcd-type\"},[_vm._v(_vm._s(item.type))]):_vm._e(),_vm._v(\" \"),(item.name)?_c('div',{staticClass:\"gcd-name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_vm._v(\" \"),(item.address_name)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_name))]):_vm._e(),_vm._v(\" \"),(item.address_road || item.address_building || item.address_house_number)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_building)+\" \"+_vm._s(item.address_road)+\" \"+_vm._s(item.address_house_number))]):_vm._e(),_vm._v(\" \"),(item.address_city || item.address_town || item.address_village)?_c('div',{staticClass:\"gcd-city\"},[_vm._v(_vm._s(item.address_postcode)+\" \"+_vm._s(item.address_city)+\" \"+_vm._s(item.address_town)+\" \"+_vm._s(item.address_village))]):_vm._e(),_vm._v(\" \"),(item.address_state || item.address_country)?_c('div',{staticClass:\"gcd-country\"},[_vm._v(_vm._s(item.address_state)+\" \"+_vm._s(item.address_country))]):_vm._e()])]],2)}),0)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-547bdae4\"\n\n},{\"components/QueryResultsActionChooseLayer.vue\":94,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/addZValueToOLFeatureGeometry\":182,\"utils/convertSingleMultiGeometry\":188,\"utils/flattenObject\":201,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getUniqueDomId\":217,\"utils/isPointGeometryType\":225,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".ol-zoom-history[data-v-5ba4faea]{display:flex!important;gap:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"MapControlZoomHistory\",\n data: function data() {\n return {\n history: {\n index: 0,\n items: []\n }\n };\n },\n\n methods: {\n last: function last() {\n this.history.index--;\n this.setMapExtent();\n },\n next: function next() {\n this.history.index++;\n this.setMapExtent();\n },\n setMapExtent: function setMapExtent() {\n _gui2.default.getService('map').getMap().getView().fit(this.history.items[this.history.index]);\n }\n },\n computed: {\n hasEmptyHistory: function hasEmptyHistory() {\n return 0 === this.history.index && 1 === this.history.items.length || this.history.items.length - 1 === this.history.index;\n }\n },\n\n created: function created() {\n var _this = this;\n\n var map = _gui2.default.getService('map').getMap();\n var view = map.getView();\n\n this.history.items.push(view.calculateExtent(map.getSize()));\n\n this.changeKeyEvent = view.on('change', (0, _debounce.debounce)(function (evt) {\n if (_this.history.index !== _this.history.items.length - 1) {\n _this.history.items.splice(_this.history.index - _this.history.items.length + 1);\n }\n _this.history.items.push(evt.target.calculateExtent(map.getSize()));\n _this.history.index++;\n }, 600));\n },\n beforeDestroy: function beforeDestroy() {\n ol.Observable.unByKey(this.changeKeyEvent);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ol-zoom-history ol-unselectable ol-control\"},[_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_last'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_last'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.history.index),expression:\"0 === history.index\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.last($event)}}},[_c('i',{class:_vm.$fa('reply')})])]),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_next'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_next'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.hasEmptyHistory),expression:\"hasEmptyHistory\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.next($event)}}},[_c('i',{class:_vm.$fa('share')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5ba4faea\"\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],84:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-81ff9972]{margin:10px 0;position:relative;border:2px dashed #97a1a8;display:flex;flex-direction:column;text-align:center;gap:8px;opacity:.8}#addcustomlayer input[data-v-81ff9972]{position:absolute;outline:none;opacity:0;cursor:pointer;inset:0}#add_custom_url_wms_input[data-v-81ff9972]::placeholder{font-size:85%;opacity:.5}.g3w-wms-panel-title[data-v-81ff9972]{font-size:1.2em;font-weight:700;margin-bottom:10px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueColor = require('vue-color');\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _XHR = require('utils/XHR');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n RasterLayer: _imagelayer.RasterLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nfunction _CSVToArray(text) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n\n var pattern = new RegExp('(' + separator + '|\\r?\\n|\\r|^)' + '(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|' + '([^\"' + separator + \"\\r\\n]*))\", \"gi\");\n\n var data = [[]];\n var matches = null;\n\n while (matches = pattern.exec(text)) {\n if (matches[0] === '\\r\\n') {\n break;\n }\n\n if (matches[1].length && matches[1] !== separator) {\n data.push([]);\n }\n\n data.at(-1).push(matches[2] ? matches[2].replace(new RegExp('\"\"', 'g'), '\"') : matches[3]);\n }\n\n return data;\n}\n\nexports.default = {\n name: 'modal-addlayer',\n\n data: function data() {\n\n return {\n layer_type: undefined,\n file_type: null,\n layer_name: null,\n layer_crs: _application2.default.project.getProjection().getCode(),\n layer_color: {\n hex: '#194d33',\n rgba: { r: 25, g: 77, b: 51, a: 1 },\n a: 1\n },\n wms_config: null,\n wms_urls: [],\n wms_layers: [],\n url: null,\n id: null,\n olLayer: null,\n map_crs: _application2.default.project.getProjection().getCode(),\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n csv_x: null,\n csv_y: null,\n csv_wkt: null,\n csv_separator: ',',\n csv_loading: false,\n name: undefined,\n title: null,\n layers: [],\n projections: [],\n epsg: null,\n error_message: '',\n parse_errors: []\n };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n feature_count: function feature_count() {\n return this.olLayer && this.olLayer.getSource().getFeatures().length || 0;\n }\n },\n\n watch: {\n wms_layers: function wms_layers() {\n var _this = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (0 === layers.length) {\n this.epsg = null;\n this.projections = [];\n } else if (1 === layers.length) {\n this.epsg = this.wms_projections[layers.at(-1)].crss[0];\n this.projections = this.wms_projections[layers.at(-1)].crss;\n } else {\n this.projections = this.projections.filter(function (p) {\n return _this.wms_projections[layers.at(-1)].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref4) {\n var name = _ref4.name;\n return _this2.wms_projections[name].crss.includes(_this2.epsg);\n });\n });\n\n function epsg() {\n return _ref3.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function () {\n var _ref5 = _asyncToGenerator(function* (type, oldtype) {\n if (type && oldtype) {\n this.layer_type = undefined;\n yield this.$nextTick();\n this.layer_type = type;\n }\n if ('file' === oldtype) {\n this.unloadFile();\n }\n if ('wms' === oldtype) {\n this.unloadWMS();\n }\n });\n\n function layer_type(_x3, _x4) {\n return _ref5.apply(this, arguments);\n }\n\n return layer_type;\n }(),\n url: function url() {\n var _this3 = this;\n\n if (this.url && !this.wms_config && this.wms_urls.some(function (l) {\n return l.url == _this3.url;\n })) {\n this.id = this.wms_urls.find(function (l) {\n return l.url == _this3.url;\n }).id;\n }\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer_color = val;\n },\n parseFile: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var input = this.$refs.input_file;\n\n if (!input.accept.split(',').includes('.' + input.files[0].name.split('.').at(-1).toLowerCase())) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n if (_gui2.default.getService('map').getLayerByName(input.files[0].name)) {\n this.error_message = 'layer_is_added';\n return;\n }\n\n try {\n\n this.error_message = '';\n this.parse_errors = [];\n this.layer_name = input.files[0].name;\n this.file_type = input.files[0].name.split('.').at(-1).toLowerCase();\n this.layer_data = null;\n\n var epsg = ['zip', 'kml', 'kmz'].includes(this.file_type) ? 'EPSG:4326' : this.layer_crs;\n var features = [];\n var data = void 0;\n\n (this.fields || []).splice(0);\n if ('kmz' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n var zip = new JSZip();\n zip.load((yield input.files[0].arrayBuffer(input.files[0])));\n data = zip.file(/.kml$/i).at(-1).asText();\n }\n\n if ('zip' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n data = JSON.stringify((yield shp((yield input.files[0].arrayBuffer(input.files[0])))));\n }\n\n if ('csv' === this.file_type) {\n this.csv_loading = true;\n\n data = _CSVToArray((yield input.files[0].text()), this.csv_separator);\n var X = ['x', 'lng', 'longitude', 'longitudine'];\n var Y = ['y', 'lat', 'latitude', 'latitudine'];\n this.fields = data.shift();\n var wkt = this.fields.findIndex(function (f) {\n return 'wkt' === f.toLowerCase();\n });\n var x = this.fields.findIndex(function (f) {\n return X.includes(f.toLowerCase());\n });\n var y = this.fields.findIndex(function (f) {\n return Y.includes(f.toLowerCase());\n });\n this.csv_wkt = this.csv_wkt || this.fields[wkt];\n this.csv_x = this.csv_wkt || this.csv_x || this.fields[x] || this.fields[0];\n this.csv_y = this.csv_wkt || this.csv_y || this.fields[y] || this.fields[1];\n data.forEach(function (row, i) {\n var X = Number(row[x]);\n var Y = Number(row[y]);\n\n if (!_this4.csv_wkt && (Number.isNaN(X) || Number.isNaN(Y))) {\n return _this4.parse_errors.push({ row: i + 1, value: data[i] });\n }\n try {\n var feat = new ol.Feature(_extends({\n geometry: new ol.format.WKT().readGeometry(_this4.csv_wkt ? row[wkt] : 'POINT (' + X + ' ' + Y + ')', {\n dataProjection: _this4.layer_crs,\n featureProjection: _gui2.default.getService('map').getEpsg()\n })\n }, row.reduce(function (props, value, i) {\n props[_this4.fields[i]] = value;return props;\n }, {})));\n feat.setId(i);\n features.push(feat);\n } catch (e) {\n console.warn(e);\n }\n });\n\n this.csv_loading = false;\n }\n\n if (!data) {\n data = (yield input.files[0].text()) || {};\n }\n\n this.layer_data = data;\n\n if ('csv' !== this.file_type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[this.file_type].readFeatures(data, {\n dataProjection: epsg,\n featureProjection: _gui2.default.getService('map').getEpsg() || epsg\n });\n }\n\n if (['kml', 'kmz'].includes(this.file_type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (features.length > 0) {\n this.olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: this.layer_name,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n });\n this.fields = 'csv' === this.file_type ? this.fields : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n });\n }\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n });\n\n function parseFile() {\n return _ref6.apply(this, arguments);\n }\n\n return parseFile;\n }(),\n addLayer: function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n this.loading = true;\n\n if ('wms' === this.layer_type) {\n var name = (this.name || 'wms_' + (0, _getUniqueDomId.getUniqueDomId)()).trim();\n\n try {\n var data = this.getLocalWMSData();\n var found = this.wms_config && (data.wms[this.url] || []).some(function (wms) {\n return wms.layers.length === _this5.wms_layers.length && _this5.wms_layers.every(function (l) {\n return wms.layers.includes(l);\n });\n });\n\n if (found) {\n yield this.fetchWMS(this.url);\n }\n\n var config = {\n url: this.url,\n name: name,\n layers: this.wms_layers,\n epsg: this.epsg,\n position: this.position,\n visible: true,\n opacity: 1\n };\n\n data.wms[this.url] = data.wms[this.url] || [];\n data.wms[this.url].push(config);\n\n this.updateLocalWMSData(data);\n\n try {\n yield this._addExternalWMSLayer(config);\n } catch (e) {\n console.warn(e);\n _gui2.default.getService('map').removeExternalLayer(name);\n this.deleteWMS(name);\n setTimeout(function () {\n _gui2.default.showUserMessage({ type: 'warning', message: 'sidebar.wms.layer_add_error' });\n });\n }\n } catch (e) {\n console.warn(e);\n }\n if (this.wms_config) {\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n }\n }\n\n if ('file' === this.layer_type) {\n try {\n yield _projections2.default.registerProjection(this.layer_crs);\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.' + e;\n return;\n }\n try {\n yield _gui2.default.getService('map').addExternalLayer(this.olLayer, {\n crs: this.layer_crs,\n position: this.position,\n color: this.layer_color,\n field: this.field,\n persistent: !!this.persistent\n });\n $(this.$refs.modal_addlayer).modal('hide');\n this.unloadFile();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n }\n this.loading = false;\n });\n\n function addLayer() {\n return _ref7.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n unloadFile: function unloadFile() {\n this.error_message = '';\n this.parse_errors = [];\n this.loading = false;\n this.layer_name = null;\n this.file_type = null;\n this.layer_crs = _gui2.default.getService('map').getCrs();\n this.layer_color = { hex: '#194d33', rgba: { r: 25, g: 77, b: 51, a: 1 }, a: 1 };\n this.layer_data = null;\n this.olLayer = null;\n this.fields = [];\n this.field = null;\n this.csv_x = null;\n this.csv_y = null;\n this.csv_wkt = null;\n\n if (this.$refs.input_file) {\n this.$refs.input_file.value = null;\n }\n },\n unloadWMS: function unloadWMS() {\n this.error_message = '';\n this.wms_config = null;\n this.wms_layers = [];\n this.name = null;\n this.loading = false;\n },\n addWmsURL: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.loading = true;\n var wms = { url: this.url, id: this.id, show: true };\n var found = this.wms_urls.find(function (l) {\n return l.url === _this6.url;\n });\n try {\n var response = yield this.fetchWMS(this.url);\n if (!found && response) {\n var data = this.getLocalWMSData();\n this.wms_urls.push(wms);\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading = false;\n });\n\n function addWmsURL() {\n return _ref8.apply(this, arguments);\n }\n\n return addWmsURL;\n }(),\n deleteWmsUrl: function deleteWmsUrl(id) {\n this.wms_urls = this.wms_urls.filter(function (l) {\n return id !== l.id;\n });\n var data = this.getLocalWMSData();\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n },\n _addExternalWMSLayer: function _addExternalWMSLayer() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref9.url,\n layers = _ref9.layers,\n name = _ref9.name,\n _ref9$epsg = _ref9.epsg,\n epsg = _ref9$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref9$epsg,\n _ref9$position = _ref9.position,\n position = _ref9$position === undefined ? 'top' : _ref9$position,\n opacity = _ref9.opacity,\n _ref9$visible = _ref9.visible,\n visible = _ref9$visible === undefined ? true : _ref9$visible;\n\n return new Promise(function (res, rej) {\n var wmslayer = new _imagelayer.RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: ol.proj.get(epsg), url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n _gui2.default.getService('map').addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n },\n fetchWMS: function () {\n var _ref10 = _asyncToGenerator(function* (url) {\n this.loading = true;\n try {\n this.loading = false;\n var config = yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url || this.url, service: \"wms\" })\n });\n\n console.log(config);\n\n if (!config.result) {\n throw 'invalid response';\n }\n\n config.wmsurl = url || this.url;\n\n if (config.methods && config.methods.GetMap) {\n this.url = (config.methods.GetMap.urls || []).find(function (u) {\n return 'Get' === u.type;\n }).url;\n } else {\n this.url = config.wmsurl;\n }\n\n this.title = config.title;\n this.name = config.title + ' ' + (0, _getUniqueDomId.getUniqueDomId)();\n\n this.wms_projections = config.layers.reduce(function (projections, _ref11) {\n var name = _ref11.name,\n crss = _ref11.crss,\n title = _ref11.title;\n\n projections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n return projections;\n }, {});\n\n this.layers = config.layers;\n\n this.wms_config = config;\n this.error_message = null;\n } catch (e) {\n console.warn(e);\n this.error_message = e;\n }\n this.loading = false;\n });\n\n function fetchWMS(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return fetchWMS;\n }(),\n deleteWMS: function deleteWMS(name) {\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (w) {\n return w.name == name;\n });\n\n if (-1 !== i) {\n data.wms[url].splice(i, 1);\n }\n\n if (-1 !== i && 0 == data.wms[url].length) {\n delete data.wms[url];\n }\n return true;\n });\n this.updateLocalWMSData(data);\n },\n changeLayerData: function changeLayerData(name) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (l) {\n return l.name == name;\n });\n if (-1 !== i) {\n data.wms[url][i][attr.key] = attr.value;\n return true;\n }\n });\n this.updateLocalWMSData(data);\n },\n getLocalWMSData: function getLocalWMSData() {\n var item = window.localStorage.getItem('externalwms');\n return ((item ? JSON.parse(item) : undefined) || {})[_application2.default.project.getId()];\n },\n updateLocalWMSData: function updateLocalWMSData(data) {\n var item = window.localStorage.getItem('externalwms');\n var alldata = (item ? JSON.parse(item) : undefined) || {};\n alldata[_application2.default.project.getId()] = data;\n try {\n window.localStorage.setItem('externalwms', JSON.stringify(alldata));\n } catch (e) {\n console.warn(e);\n }\n }\n },\n\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this7.layer_type = undefined;\n _this7.url = null;\n _this7.id = null;\n _this7.unloadFile();\n _this7.unloadWMS();\n });\n\n yield _gui2.default.isReady();\n yield _gui2.default.getService('map').isReady();\n\n this.deleteWMS = this.deleteWMS.bind(this);\n\n _gui2.default.getService('map').on('remove-external-layer', this.deleteWMS);\n\n var data = this.getLocalWMSData();\n\n if (undefined === data) {\n data = {\n urls: [],\n wms: {} };\n this.updateLocalWMSData(data);\n }\n\n setTimeout(function () {\n var map = _gui2.default.getService('map');\n map.on('change-layer-position-map', function () {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref13.id,\n position = _ref13.position;\n\n return _this7.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref14.id,\n opacity = _ref14.opacity;\n\n return _this7.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref15.id,\n visible = _ref15.visible;\n\n return _this7.changeLayerData(name, { key: 'visible', value: visible });\n });\n\n Object.keys(data.wms).forEach(function (url) {\n data.wms[url].forEach(function (d) {\n return _this7._addExternalWMSLayer(_extends({ url: url }, d));\n });\n });\n });\n\n this.wms_urls = data.urls;\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unloadFile();\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').remove();\n\n _gui2.default.getService('map').off('remove-external-layer', this.deleteWMS);\n this.$data = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal_addlayer\",staticClass:\"modal fade\",attrs:{\"id\":\"modal-addlayer\",\"role\":\"dialog\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}],staticClass:\"modal-title\",staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_type'),expression:\"'layer_type'\"}]}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_type),expression:\"layer_type\"}],staticClass:\"form-control\",attrs:{\"id\":\"add-layer-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_type=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('choose_type'),expression:\"'choose_type'\"}],attrs:{\"disabled\":\"\"},domProps:{\"value\":undefined}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('remote_wms_url'),expression:\"'remote_wms_url'\"}],attrs:{\"value\":\"wms\"}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('local_file'),expression:\"'local_file'\"}],attrs:{\"value\":\"file\"}})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),('wms' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#wms\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config}},[_c('label',{attrs:{\"for\":\"add_custom_url_wms_input\"}},[_vm._v(\"URL\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.url),expression:\"url\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_url_wms_input\",\"placeholder\":\"http://example.org/?&service=WMS&request=GetCapabilities\",\"type\":\"url\",\"list\":\"wms_urls\",\"required\":\"\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(!_vm.wms_config)?_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('add_new_wms_url_help'),expression:\"'add_new_wms_url_help'\"}]}):_vm._e(),_vm._v(\" \"),_c('datalist',{attrs:{\"id\":\"wms_urls\"}},_vm._l((_vm.wms_urls),function(wms){return _c('option',{key:wms.id,domProps:{\"value\":wms.url}},[_vm._v(_vm._s(wms.id))])}),0)]),_vm._v(\" \"),(_vm.url && !_vm.wms_config && !_vm.loading)?_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config || _vm.wms_urls.some(function (l) { return l.url == _vm.url; })}},[_c('label',{attrs:{\"for\":\"add_custom_name_url_wms_input\",\"title\":\"required\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}]}),_vm._v(\" \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.id),expression:\"id\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_name_url_wms_input\",\"required\":\"\"},domProps:{\"value\":(_vm.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.id=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(null !== _vm.id && _vm.wms_urls.some(function (l) { return l.id === _vm.id; }) && _vm.wms_urls.every(function (l) { return l.url !== _vm.url; }))?_c('p',{staticStyle:{\"color\":\"red\",\"margin\":\"10px 0\"}},[_vm._v(\"\\n ⚠️ \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}]})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('button',{staticClass:\"btn btn-block btn-success\",attrs:{\"disabled\":!(_vm.id || '').trim() || _vm.wms_urls.some(function (l) { return l.id === _vm.id && l.url !== _vm.url; }) || !(_vm.url || '').trim().match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g)},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.addWmsURL($event)}}},[_c('b',{class:_vm.$fa('plus-square')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('connect_to_wms'),expression:\"'connect_to_wms'\"}]})]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('div',{staticClass:\"form-group\"},[_c('hr'),_vm._v(\" \"),_vm._l((_vm.wms_urls),function(wms){return _c('div',{key:wms.id,staticStyle:{\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"padding-top\":\"3px\"}},[_c('b',{staticStyle:{\"flex-grow\":\"1\",\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.id))]),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('connect_to_wms'),expression:\"'connect_to_wms'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('eye'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.deleteWmsUrl(wms.id)}}})]),_vm._v(\" \"),_c('small',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.url))])])})],2):_vm._e(),_vm._v(\" \"),(_vm.wms_config)?_c('fieldset',{attrs:{\"disabled\":_vm.loading}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('disconnect_from_wms'),expression:\"'disconnect_from_wms'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin-top\":\"15px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadWMS}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.wms_config.abstract)?_c('fieldset',{staticClass:\"form-group\",staticStyle:{\"border\":\"1px solid #c0c0c0\",\"padding\":\"4.9px 8.75px 8.75px 10.5px\",\"border-radius\":\"3px\"}},[_c('legend',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border\":\"1px solid\",\"border-radius\":\"50%\",\"background-color\":\"#222d32\",\"font-weight\":\"bold\",\"color\":\"#fff\",\"font-size\":\"0.7em\",\"text-align\":\"center\",\"margin\":\"0 -14px\",\"user-select\":\"none\"}},[_vm._v(\"i\")]),_vm._v(\"\\n \"+_vm._s(_vm.wms_config.abstract)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.layers'),expression:\"'sidebar.wms.panel.label.layers'\"}],attrs:{\"for\":\"g3w-wms-layers\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('wms_layers'),expression:\"'wms_layers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(l){return _c('option',{key:l.name,domProps:{\"value\":l.name}},[_vm._v(_vm._s(l.title))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.projections'),expression:\"'sidebar.wms.panel.label.projections'\"}],attrs:{\"for\":\"g3w-wms-projections\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('epsg'),expression:\"'epsg'\"}],attrs:{\"id\":\"g3w-wms-projections\"}},_vm._l((_vm.projections),function(p){return _c('option',[_vm._v(_vm._s(p))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}],attrs:{\"for\":\"g3w-wms-layer-name\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-wms-layer-name\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[(_vm.layer_data)?_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin\":\"5px 0 0 8px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadFile}},[_vm._v(\"×\")]):_vm._e(),_vm._v(\" \"),_c('form',{style:({ padding: _vm.layer_data ? '0' : '20px 0' }),attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"accept\":\".zip,.geojson,.GEOJSON,.kml,.kmz,.KMZ,.KML,.json,.gpx,.gml,.csv\"},on:{\"change\":_vm.parseFile}}),_vm._v(\" \"),_c('h4',{staticClass:\"skin-color\"},[(!_vm.layer_data)?_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}):(_vm.layer_name)?_c('b',[_vm._v(_vm._s(_vm.layer_name))]):_vm._e()]),_vm._v(\" \"),(!_vm.layer_data)?_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.layer_data)?_c('span',{staticStyle:{\"font-family\":\"Monospace\"}},[_vm._v(\".gml, .geojson, .kml, .kmz, .gpx, .csv, .zip (shapefile)\")]):_vm._e()]),_vm._v(\" \"),('csv' === _vm.file_type)?_c('div',{staticClass:\"form-group\",staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv_loading}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_separator'),expression:\"'mapcontrols.add_layer_control.select_csv_separator'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_separator),expression:\"csv_separator\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-separator\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_separator=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},[_c('option',[_vm._v(\",\")]),_vm._v(\" \"),_c('option',[_vm._v(\";\")])]),_vm._v(\" \"),(_vm.fields.length > 1 && !_vm.csv_wkt)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_x_field'),expression:\"'mapcontrols.add_layer_control.select_csv_x_field'\"}],attrs:{\"for\":\"g3w-select-x-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_x),expression:\"csv_x\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-x-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_x=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_y_field'),expression:\"'mapcontrols.add_layer_control.select_csv_y_field'\"}],attrs:{\"for\":\"g3w-select-y-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_y),expression:\"csv_y\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_y=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.csv_wkt)?[_c('label',{attrs:{\"for\":\"g3w-select-wkt-field\"}},[_vm._v(\"WKT\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_wkt),expression:\"csv_wkt\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_wkt=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(0 === _vm.fields.length)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_csv_fields'),expression:\"'no_csv_fields'\"}]}):_vm._e(),_vm._v(\" \"),(_vm.olLayer)?_c('small',{staticStyle:{\"color\":\"red\",\"display\":\"inline-block\",\"margin-top\":\"1em\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(\" \"+_vm._s(_vm.feature_count))]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://epsg.io/\" + ((_vm.layer_crs || '').toLowerCase().replace('epsg:', ''))),\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.layer_data || ['kmz', 'zip'].includes(_vm.file_type)}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_projection'),expression:\"'mapcontrols.add_layer_control.select_projection'\"}],attrs:{\"for\":\"projection-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_crs),expression:\"layer_crs\"}],staticClass:\"form-control\",attrs:{\"id\":\"projection-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_crs=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((new Set([_vm.map_crs, 'EPSG:3003','EPSG:3004', 'EPSG:3045', 'EPSG:3857', 'EPSG:4326', 'EPSG:6708', 'EPSG:23032', 'EPSG:23033', 'EPSG:25833', 'EPSG:32632', 'EPSG:32633'])),function(crs){return _c('option',[_vm._v(_vm._s(crs))])}),0)]),_vm._v(\" \"),(_vm.parse_errors.length)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"csv_parse_errors\"}},[_vm._v(\"⚠️ Parse errors:\")]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",staticStyle:{\"background-color\":\"gold\",\"font-family\":\"Monospace\"},attrs:{\"id\":\"csv_parse_errors\"}},_vm._l((_vm.parse_errors),function(ref){\nvar value = ref.value;\nvar row = ref.row;\nreturn _c('option',[_vm._v(\"[\"+_vm._s(row)+\"] \"+_vm._s(value))])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_data'),expression:\"'mapcontrols.add_layer_control.persistent_data'\"}],attrs:{\"for\":\"persistent-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.persistent),expression:\"persistent\"}],staticClass:\"form-control\",attrs:{\"id\":\"persistent-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.persistent=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('no'),expression:\"'no'\"}],domProps:{\"value\":false}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('yes'),expression:\"'yes'\"}],domProps:{\"value\":true}})]),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_help'),expression:\"'mapcontrols.add_layer_control.persistent_help'\"}]})]):_vm._e(),_vm._v(\" \"),((_vm.fields || []).length)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('label'),expression:\"'label'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.field),expression:\"field\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-field-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.field=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---\")]),_vm._v(\" \"),_vm._l((_vm.fields),function(f){return _c('option',{key:f,domProps:{\"value\":f}},[_vm._v(_vm._s(f))])})],2),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',[_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_color'),expression:\"'mapcontrols.add_layer_control.select_color'\"}],staticStyle:{\"font-weight\":\"700\"}}),_vm._v(\" \"),_c('chrome-picker',{staticStyle:{\"width\":\"100%\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer_color),callback:function ($$v) {_vm.layer_color=$$v},expression:\"layer_color\"}})],1):_vm._e()]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.error_message)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.error_message),expression:\"error_message\"}],staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"1.2em\",\"background-color\":\"orange\",\"padding\":\"10px\",\"text-align\":\"center\",\"margin-bottom\":\"5px\"}}):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":'wms' === _vm.layer_type ? !_vm.wms_layers.length : !_vm.layer_data},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81ff9972\"\n\n},{\"g3w-constants\":126,\"map/layers/imagelayer\":155,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getUniqueDomId\":217,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],85:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-1cd24885]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-1cd24885]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-1cd24885]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-1cd24885]:hover{opacity:1}.menu-item-image img[data-v-1cd24885]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-1cd24885]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-1cd24885]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-1cd24885]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar get_macro = function () {\n var _ref = _asyncToGenerator(function* (id) {\n get_macro[id] = get_macro[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/') }));\n return get_macro[id];\n });\n\n return function get_macro(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar get_group = function () {\n var _ref2 = _asyncToGenerator(function* (id) {\n get_group[id] = get_group[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/projects/') }));\n return get_group[id];\n });\n\n return function get_group(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _XHR = require('utils/XHR');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar LOGO_GIS3W = 'images/logo_gis3w_156_85.png';\n\nexports.default = {\n name: 'modal-changemap',\n\n data: function data() {\n return {\n state: null,\n\n loading: false,\n\n current: 'projects',\n\n items: [],\n\n parent: null,\n\n steps: [],\n\n curr_group: null\n\n };\n },\n\n\n methods: {\n back: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var last_step = this.steps.pop();\n var has_steps = this.steps.length > 0;\n var item = has_steps && this.steps[this.steps.length - 1];\n if (has_steps && undefined !== item.macrogroup_id || !has_steps && undefined === last_step && Array.isArray(this.parent.macrogroup_id) && this.parent.macrogroup_id.length > 0) {\n var macrogroup_id = has_steps ? item.macrogroup_id : this.parent.macrogroup_id;\n var add = !has_steps;\n return this.showMacroGroups(macrogroup_id, add);\n }\n\n if (has_steps && undefined === item.macrogroup_id) {\n return this.showGroups(item, false);\n }\n\n if (!has_steps) {\n return this.showRoot();\n }\n });\n\n function back() {\n return _ref3.apply(this, arguments);\n }\n\n return back;\n }(),\n showMacroGroups: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var macrogroup_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (1 === macrogroup_id.length) {\n this.parent = this.macrogroups.find(function (mg) {\n return mg.id === macrogroup_id[0];\n });\n return yield this.showGroups(this.parent);\n }\n\n this.items = this.macrogroups.filter(function (m) {\n return macrogroup_id.includes(m.id);\n });\n this.current = 'macrogroups';\n this.parent = {\n macrogroup_id: macrogroup_id,\n title: null,\n name: null };\n\n if (addStep) {\n this.steps.push(this.parent);\n }\n });\n\n function showMacroGroups() {\n return _ref4.apply(this, arguments);\n }\n\n return showMacroGroups;\n }(),\n showGroups: function () {\n var _ref5 = _asyncToGenerator(function* (item) {\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = yield get_macro(item.id);\n this.current = 'groups';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n if (addStep) {\n this.steps.push(this.parent);\n }\n this.loading = false;\n }\n });\n\n function showGroups(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return showGroups;\n }(),\n showProjects: function () {\n var _ref6 = _asyncToGenerator(function* (item) {\n var _this = this;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = this.parent.id === this.curr_group ? (0, _getListableProjects.getListableProjects)() : yield get_group(item.id, function (item) {\n return _this.setItemImageSrc({ item: item, type: 'project' });\n });\n this.current = 'projects';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n this.steps.push(this.parent);\n this.loading = false;\n }\n });\n\n function showProjects(_x7) {\n return _ref6.apply(this, arguments);\n }\n\n return showProjects;\n }(),\n showRoot: function showRoot() {\n this.current = 'root';\n this.items = [].concat(_toConsumableArray(this.macrogroups), _toConsumableArray(this.groups));\n this.steps = [];\n },\n changeMapProject: function () {\n var _ref7 = _asyncToGenerator(function* (item) {\n var url = void 0;\n var base_url = window.initConfig.urls.baseurl;\n var epsg = this.parent.srid ? 'EPSG:' + this.parent.srid : this.parent.crs.epsg;\n yield _projections2.default.registerProjection(epsg);\n try {\n new URL(base_url);\n url = '' + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n } catch (e) {\n url = '' + location.origin + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n }\n url = yield _gui2.default.getService('map').addMapExtentUrlParameterToUrl(url, epsg);\n history.replaceState(null, null, url);\n location.replace(url);\n });\n\n function changeMapProject(_x8) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapProject;\n }(),\n trigger: function () {\n var _ref8 = _asyncToGenerator(function* (item) {\n switch (this.current) {\n case 'root':\n return undefined === item.srid ? this.showGroups(item) : this.showProjects(item);\n case 'macrogroups':\n return this.showGroups(item);\n case 'groups':\n return yield this.showProjects(item);\n case 'projects':\n return yield this.changeMapProject(item);\n }\n });\n\n function trigger(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return trigger;\n }(),\n setItemImageSrc: function setItemImageSrc() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n item = _ref9.item,\n type = _ref9.type;\n\n switch (type) {\n case 'project':\n item.thumbnail = this._setSrc(item.thumbnail);break;\n case 'group':\n item.header_logo_img = this._setSrc(item.header_logo_img);break;\n case 'macrogroup':\n item.logo_img = this._setSrc(item.logo_img);break;\n\n case 'net_error':\n if (item.thumbnail || item.logo_img) {\n item.thumbnail = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n } else if (item.header_logo_img) {\n item.header_logo_img = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n }\n break;\n }\n },\n _setSrc: function _setSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var mediaurl = window.initConfig.mediaurl;\n var clienturl = window.initConfig.urls.clienturl;\n var has_media = src && src.includes(mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + mediaurl + src;\n } else {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n }\n\n return '' + host + imageSrc;\n }\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var config = window.initConfig;\n\n this.items = (0, _getListableProjects.getListableProjects)();\n this.parent = window.initConfig;\n this.curr_group = this.parent.id;\n this.macrogroups = config.macrogroups;\n this.groups = config.groups;\n\n Object.entries({ 'project': this.items, 'magrocroup': this.macrogroups, 'group': this.groups }).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n type = _ref12[0],\n d = _ref12[1];\n\n return d.forEach(function (item) {\n return _this2.setItemImageSrc({ item: item, type: type });\n });\n });\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-changemap\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"height\":\"80vh\"}},[('root' !== this.current)?_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"color\":\"#fff\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('change_session'),expression:\"'change_session'\",arg:\"bottom\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"font-size\":\"2em\",\"margin\":\"5px\",\"cursor\":\"pointer\",\"padding\":\"3px\",\"border\":\"2px solid #fff\",\"border-radius\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('i',{class:_vm.$fa('reply'),staticStyle:{\"color\":\"#FFF\"}})]),_vm._v(\" \"),(_vm.parent)?_c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('h3',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parent.title || _vm.parent.name))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.items.length)?_c('div',{staticClass:\"g3w-change-map-menu-container\"},_vm._l((_vm.items),function(item){return _c('div',{key:item.name,staticClass:\"menu-item\"},[_c('div',{staticClass:\"menu-item-image\",on:{\"click\":function($event){$event.stopPropagation();return _vm.trigger(item)}}},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":item.thumbnail || item.header_logo_img || item.logo_img,\"alt\":\"logo\"},on:{\"error\":function($event){return _vm.setItemImageSrc({ item: item, type: 'net_error' })}}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu-item-content\"},[_c('div',{staticClass:\"menu-item-text\"},[_c('h4',{staticClass:\"menu-item-title\"},[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(item.description)}})])])])}),0):_c('h3',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"no_other_\" + _vm.current)),expression:\"`no_other_${current}`\"}],staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-1cd24885\"\n\n},{\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getListableProjects\":209,\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'modal-login',\n\n computed: {\n login_url: function login_url() {\n return window.initConfig.user.login_url;\n }\n },\n\n methods: {\n onIframeLoaded: function onIframeLoaded(e) {\n var iframe = this.$refs.login_iframe.contentWindow.g3wsdk && this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;\n if (iframe && iframe.user && iframe.user.logout_url) {\n window.location.reload();\n }\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-login\",\"tabindex\":\"-1\",\"role\":\"document\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"height\":\"60%\",\"width\":\"60%\"}},[_c('div',{staticClass:\"modal-content\",staticStyle:{\"height\":\"100%\",\"background\":\"#d2d6de\",\"display\":\"grid\",\"grid-template-areas\":\"'iframe'\",\"place-items\":\"center\"}},[_c('button',{staticClass:\"close\",staticStyle:{\"position\":\"absolute\",\"inset\":\"0 0 auto auto\",\"padding\":\"10px 15px\"},attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"grid-area\":\"iframe\"}},[_vm._v(\"Loading..\")]),_vm._v(\" \"),_c('iframe',{ref:\"login_iframe\",staticStyle:{\"border\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"grid-area\":\"iframe\"},attrs:{\"loading\":\"lazy\",\"src\":_vm.login_url},on:{\"load\":_vm.onIframeLoaded}})])])])}\n__vue__options__.staticRenderFns = []\n\n},{}],87:[function(require,module,exports){\n(function (process){(function (){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-7923edc6]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-7923edc6]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-7923edc6]{color:var(--skin-success)}#project-catalog[data-v-7923edc6]{background:transparent}.modal-header.nav[data-v-7923edc6]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-7923edc6]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-7923edc6]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-7923edc6]{border-bottom-color:#222d32!important;border-bottom-width:4px;background-color:transparent!important;color:#2c3b41!important}.modal-header.nav li a.metadata-item-tab[data-v-7923edc6]{height:100%;margin:0;font-size:1.1em;border-top:0;border-right:0;border-left:0;border-bottom:4px solid #e2e2e2}.modal-header.nav li a[data-v-7923edc6]{text-align:center}.modal-header.nav li a i[data-v-7923edc6]{margin-right:5px}.metadata-item-tab[data-v-7923edc6]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-7923edc6]{position:absolute;bottom:10px;right:auto}.row-info[data-v-7923edc6]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-7923edc6]{font-weight:700}.h_100[data-v-7923edc6]{height:100%}#project-catalog[data-v-7923edc6]{position:relative;overflow:auto}.nav-tabs[data-v-7923edc6]{border-bottom:0 none}.metadata-label[data-v-7923edc6]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-7923edc6],.metadata-contact-label[data-v-7923edc6]{font-weight:700}.contact-icon[data-v-7923edc6]{margin-right:3px}.metadata-contact-row[data-v-7923edc6]{margin-bottom:5px}.layer_header[data-v-7923edc6]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-7923edc6]{font-weight:700}.layer-header-icon[data-v-7923edc6]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-7923edc6]{position:absolute;right:5px;color:#999}.layer-row[data-v-7923edc6]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-7923edc6]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li.active>a[data-v-7923edc6]:focus,.layer-nav-tabs>li.active>a[data-v-7923edc6]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-7923edc6]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li>a[data-v-7923edc6]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-7923edc6]:after{content:\\\"\\\";height:2px;position:absolute;width:100%;left:0;bottom:-1px;transition:all .25s ease 0s;transform:scale(0)}.layer-nav-tabs>li.active>a[data-v-7923edc6]:after,.layer-nav-tabs>li:hover>a[data-v-7923edc6]:after{transform:scale(1)}.layer-tab-content[data-v-7923edc6]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-7923edc6]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-7923edc6],.metadata-nav-tabs>li>a[data-v-7923edc6]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-7923edc6]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-7923edc6]:hover{background-color:transparent}.credit-title-logo[data-v-7923edc6]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-7923edc6]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-7923edc6]{width:50%!important}.customcredits[data-v-7923edc6]{margin-bottom:10px;margin-top:5px;text-align:center}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n\n name: \"modal-metadata\",\n\n data: function data() {\n var project = _application2.default.project.getState();\n var version = window.initConfig.version.split('-')[0].split('.');\n\n return {\n customcredits: false,\n powered_by: window.initConfig.powered_by,\n urls: window.initConfig.urls,\n docs_url: 'https://g3w-suite.readthedocs.io/en/v' + version[0].replace('v', '') + '.' + version[1] + '.x/',\n groups: Object.entries({\n general: ['title', 'name', 'description', 'abstract', 'keywords', 'fees', 'accessconstraints', 'contactinformation', 'wms_url'],\n spatial: ['crs', 'extent'],\n layers: ['layers']\n }).reduce(function (g, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n fields = _ref2[1];\n\n g[name] = fields.reduce(function (f, field) {\n var value = project.metadata && project.metadata[field] ? project.metadata[field] : project[field];\n if (value) {\n f[field] = { value: value, label: 'sdk.metadata.groups.' + name + '.fields.' + field };\n }\n return f;\n }, {});\n return g;\n }, {}),\n g3wsdk_info: ''\n };\n },\n\n\n methods: {\n showHideInfo: function showHideInfo(e) {\n var box = e.target.closest(\".layer_header\");\n box.querySelector(\".open-close\").classList.toggle('fa-plus');\n box.querySelector(\".open-close\").classList.toggle('fa-minus');\n },\n sanitizeValue: function sanitizeValue(value) {\n if (Array.isArray(value) || 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && null !== value) {\n value = Object.values(value).length ? value : '';\n }\n return value;\n },\n copy_g3wsdk_info: function copy_g3wsdk_info(e) {\n var range = document.createRange();\n range.selectNode(e.target);\n window.getSelection().removeAllRanges();\n window.getSelection().addRange(range);\n document.execCommand('copy');\n window.getSelection().removeAllRanges();\n alert('Copied to clipboard!');\n }\n },\n\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if (!!window.initConfig.credits) {\n try {\n var credits = yield _XHR.XHR.get({ url: window.initConfig.credits });\n this.customcredits = 'None' !== credits && credits;\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function mounted() {\n var _this = this;\n\n $('#modal-metadata').on('show.bs.modal', _asyncToGenerator(function* () {\n yield Promise.allSettled([new Promise(function (resolve) {\n return $script('https://unpkg.com/platform@1.3.6/platform.js', resolve);\n }), new Promise(function (resolve) {\n return _application4.default.complete ? resolve() : _application4.default.on('complete', resolve);\n })]);\n\n var platform = window.platform || {};\n\n _this.g3wsdk_info = ('\\n[g3wsdk.info]\\n\\n- g3w-admin: __' + initConfig.version + '__\\n- g3w-client: __' + \"3.11.0-alpha.1\" + '__\\n' + Object.entries(_application2.default.pluginsConfigs).map(function (p) {\n return ' - ' + p[0] + ': __' + p[1].version + '__';\n }).join('\\n') + '\\n- browser: __' + platform.name + ' ' + platform.version + '__\\n- operating system: __' + platform.os.toString() + '__\\n').trim();\n }));\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-metadata\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('ul',{staticClass:\"modal-header nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((['general', 'spatial', 'layers', 'credits']),function(tab){return _c('li',{class:{ active: 'general' === tab }},[_c('a',{class:'metadata-item-tab '+ tab,attrs:{\"data-toggle\":\"tab\",\"href\":'#metadata_' + tab}},[_c('i',{staticClass:\"action-button\",class:_vm.$fa(({ general: 'info', spatial: 'globe', layers: 'bars', credits: 'copyright' })[tab]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.'+ tab +'.title'),expression:\"'sdk.metadata.groups.'+ tab +'.title'\"}]})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"65vh\",\"max-height\":\"70vh\"},attrs:{\"id\":\"project-catalog\"}},[_c('div',{staticClass:\"tab-content\"},[_vm._l((['general', 'spatial']),function(item){return _c('div',{staticClass:\"tab-pane fade\",class:{ in: 'general' === item, active: 'general' === item },attrs:{\"id\":'metadata_' + item}},_vm._l((_vm.groups[item]),function(data,field){return _c('div',{staticClass:\"row row-info\"},[_c('div',{staticClass:\"wrap-content-tab\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(data.label),expression:\"data.label\"}],staticClass:\"col-sm-2 metadata-label\"}),_vm._v(\" \"),('keywords' === field || 'wms_url'=== field)?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',[_vm._v(_vm._s([].concat(data.value).join(', ')))])]):('abstract' === field || (!Array.isArray(data.value) && typeof data.value !== 'object'))?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]):('contactinformation' !== field)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,index){return _c('div',[('extent' === field)?_c('span',{staticClass:\"bbox-labels\"},[_vm._v(_vm._s((['MINX', 'MINY', 'MAXX', 'MAXY'])[index]))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,info){return _c('div',[_c('div',{staticClass:\"row metadata-contact-row\"},[_c('div',{staticClass:\"col-sm-2 metadata-contact-label\"},[_c('i',{staticClass:\"contact-icon\",class:_vm.$fa(({ contactelectronicmailaddress: 'mail', personprimary: 'user', contactvoicetelephone: 'mobile' })[info]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + info)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${info}`\"}]})]),_vm._v(\" \"),('personprimary' === info)?_c('div',{staticClass:\"col-sm-10\"},_vm._l((value),function(subvalue,key){return _c('div',[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + key)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${key}`\"}],staticClass:\"metadata-contact-label\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(subvalue))])])}),0):('contactelectronicmailaddress' === info )?_c('div',{staticClass:\"col-sm-10\"},[_c('a',{attrs:{\"href\":(\"mailto: \" + (_vm.sanitizeValue(value)))}},[_c('b',[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])]):_c('div',{staticClass:\"col-sm-10\"},[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])])}),0)])])}),0)}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_layers\"}},_vm._l((_vm.groups.layers.layers.value),function(layer){return _c('div',{staticClass:\"row-info\"},[_c('h4',{staticClass:\"layer_header\",attrs:{\"data-toggle\":\"collapse\",\"data-target\":(\"#\" + (layer.id))},on:{\"click\":_vm.showHideInfo}},[_c('i',{class:'layer-header-icon action-button ' + _vm.g3wtemplate.font['NoGeometry' === layer.geometrytype ? 'table' : 'map'],attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"layer-name\"},[_vm._v(_vm._s(layer.name))]),_vm._v(\" \"),_c('span',{staticClass:\"action-button open-close\",class:_vm.$fa('plus')})]),_vm._v(\" \"),_c('div',{staticClass:\"collapse\",attrs:{\"id\":layer.id}},[_c('ul',{staticClass:\"metadata-nav-tabs nav nav-tabs layer-nav-tabs\",attrs:{\"role\":\"tablist\"}},[_c('li',{staticClass:\"active spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.general'),expression:\"'sdk.metadata.groups.layers.groups.general'\"}],attrs:{\"href\":(\"#layer_general_\" + (layer.id)),\"aria-controls\":\"general\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]),_vm._v(\" \"),('NoGeometry' !== layer.geometrytype)?_c('li',{staticClass:\"spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.spatial'),expression:\"'sdk.metadata.groups.layers.groups.spatial'\"}],attrs:{\"href\":(\"#layer_spatial_\" + (layer.id)),\"aria-controls\":\"profile\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content layer-tab-content\"},[_c('div',{staticClass:\"tab-pane active\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_general_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['metadata.title', 'name', 'source', 'metadata.abstract', 'metadata.keywords', 'metadata.metadataurl.onlineresource', 'metadata.dataurl.onlineresources', 'metadata.attributes']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('metadata.title' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.title))]):_vm._e(),_vm._v(\" \"),('name' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.name))]):_vm._e(),_vm._v(\" \"),('source' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.source.type))]):_vm._e(),_vm._v(\" \"),('metadata.abstract' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",domProps:{\"innerHTML\":_vm._s(layer.metadata.abstract)}}):('metadata.keywords' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.keywords.join(', ')))]):('metadata.metadataurl.onlineresource' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.metadataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.metadataurl.onlineresources))])]):('metadata.dataurl.onlineresources' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.dataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.dataurl.onlineresources))])]):('metadata.attributes' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",staticStyle:{\"overflow\":\"auto\"}},[_c('table',{staticClass:\"table table-striped\",staticStyle:{\"background-color\":\"#eee !important\"}},[_c('thead',[_c('tr',_vm._l((layer.metadata.attributes[0]),function(value,header){return _c('th',[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('tbody',_vm._l((layer.metadata.attributes),function(a){return _c('tr',_vm._l((a),function(value,header){return _c('td',[_vm._v(_vm._s(value))])}),0)}),0)])]):_vm._e()]):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_spatial_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['crs', 'geometrytype', 'bbox', 'metadata.crs']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[('metadata.crs' === attr)?_c('div',{staticClass:\"col-md-2 col-sm-12 metadata-label\"},[_vm._v(\"CRS\")]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.crs.epsg))]):('geometrytype' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.geometrytype))]):('bbox' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.bbox),function(value,key){return _c('p',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(key))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):('metadata.crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.metadata.crs),function(crs){return _c('div',[_c('span',[_vm._v(_vm._s(crs))])])}),0):_vm._e()]):_vm._e()]})],2)])])])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_credits\"}},[(!!_vm.customcredits)?_c('div',{staticClass:\"customcredits\",domProps:{\"innerHTML\":_vm._s(_vm.customcredits)}}):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticClass:\"g3w-credits-block\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteFramework'),expression:\"'credits.g3wSuiteFramework'\"}],staticClass:\"credit-title-logo\",staticStyle:{\"padding\":\"5px\"}}),_vm._v(\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://g3wsuite.it/\"}},[_c('img',{staticClass:\"g3w-suite-logo\",attrs:{\"src\":((_vm.urls.clienturl) + \"images/g3wsuite_logo.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteDescription'),expression:\"'credits.g3wSuiteDescription'\"}],staticStyle:{\"margin-top\":\"10px\"}})]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('credits.productOf'),expression:\"'credits.productOf'\",arg:\"pre\"}],staticClass:\"credit-title-logo g3w-credits-block\",staticStyle:{\"font-size\":\"1em\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('a',{staticStyle:{\"text-align\":\"center!important\"},attrs:{\"href\":\"http://www.gis3w.it\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"img-responsive center-block\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"width\":\"60\",\"src\":((_vm.urls.clienturl) + \"images/logo_gis3w_156_85.png\"),\"alt\":\"\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('address',{staticStyle:{\"line-height\":\"1.3\",\"text-align\":\"center\",\"margin-top\":\"5px\",\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"5px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_vm._v(\"📍 Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"📱 +39 393 8534336\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"mailto:info@gis3w.it\"}},[_vm._v(\"✉️ info@gis3w.it\")])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"20px\"}},[_c('a',{attrs:{\"href\":_vm.docs_url,\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_vm._v(\"📖 Docs\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"mailto:info@gis3w.it?subject=Sponsoring%20G3W-SUITE%20development&body=Hi%20there,%20I'd%20like%20to%20fund%20some%20code%20changes:\"}},[_vm._v(\"❤️ Sponsor\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/g3w-suite\"}},[_vm._v(\"🐞 Report a bug\")])]):_vm._e(),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),(_vm.powered_by && _vm.g3wsdk_info)?_c('pre',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":\"click to copy\"},on:{\"click\":_vm.copy_g3wsdk_info}},[_vm._v(_vm._s(_vm.g3wsdk_info))]):_vm._e()])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7923edc6\"\n\n}).call(this)}).call(this,require('_process'))\n},{\"_process\":1,\"services/application\":171,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],88:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print .select2-container--open{width:100%}#print .select2-container--open input.select2-search__field{color:#555;width:100%}#print.treeview-menu .select2.select2-container{display:block}\\n.print-labels-content[data-v-9e025612]{margin-top:5px;color:#fff}.print-labels-content>span.skin-color[data-v-9e025612]{font-weight:700;font-size:1.1em;display:block;border-bottom:2px solid #fff;margin-bottom:5px}.print-labels-content>.labels-input-content[data-v-9e025612]{max-height:120px;overflow-y:auto}label[data-v-9e025612]{color:#fff}.box-footer[data-v-9e025612]{background-color:transparent}#printbutton[data-v-9e025612]{width:100%;font-weight:700;background-color:var(--skin-color)}#fid-print-atals-instruction[data-v-9e025612]{margin-top:5px;color:#fff}#fids_intruction[data-v-9e025612]{white-space:pre-line}#fids_examples_values[data-v-9e025612]{margin-top:3px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _PrintPage = require('components/PrintPage.vue');\n\nvar vueComp = _interopRequireWildcard(_PrintPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'print',\n\n mixins: [_resize2.default],\n\n data: function data() {\n this.init();\n return {\n state: this.state || {},\n disabled: false,\n\n atlas_values: []\n };\n },\n\n\n computed: {\n has_maps: function has_maps() {\n return (this.state.maps || []).length > 0;\n },\n has_autocomplete: function has_autocomplete() {\n return !!(this.state.atlas && this.state.atlas.field_name);\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n init: function init() {\n this._init = undefined !== this._init ? this._init : false;\n this._moveKey = this._moveKey || null;\n this._page = this._page || null;\n this._resolutions = this._resolutions || {};\n\n var print = _application2.default.project.getPrint() || [];\n var visible = print.length > 0;\n\n var PRINT_FORMATS = [{ value: 'png', label: 'PNG' }, { value: 'jpg', label: 'JPG' }, { value: 'svg', label: 'SVG' }, { value: 'pdf', label: 'PDF' }, { value: 'geopdf', label: 'GEOPDF' }];\n\n this.state = Object.assign(this.state || {}, {\n visible: visible,\n print: print,\n loading: false,\n downloading: false,\n url: null,\n layers: true,\n maps: visible ? print[0].maps : undefined,\n labels: visible ? print[0].labels : undefined,\n template: visible ? print[0].name : undefined,\n atlas: visible ? print[0].atlas : undefined,\n rotation: visible ? 0 : undefined,\n inner: [0, 0, 0, 0],\n scales: [],\n scale: visible ? null : undefined,\n dpis: [150, 300],\n dpi: 150,\n formats: PRINT_FORMATS,\n format: PRINT_FORMATS[0].value\n });\n\n this.print_extent = null;\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n },\n changeTemplate: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n if (!this.state.template) {\n return;\n }\n\n yield this.$nextTick();\n\n if (this.select2) {\n this.select2.select2('destroy');\n this.select2.off();\n this.select2 = null;\n }\n\n this.disabled = false;\n\n var has_previous = this.state.atlas || 0 === this.state.maps.length;\n var print = this.state.print.find(function (p) {\n return p.name === _this.state.template;\n });\n\n Object.assign(this.state, {\n maps: print.maps,\n atlas: print.atlas,\n labels: print.labels\n });\n\n this.atlas_values = [];\n\n if (this.state.atlas) {\n this._clearPrint();\n this.initSelect2Field();\n } else if (has_previous) {\n this.showPrintArea(true);\n } else {\n this._setPrintArea();\n }\n\n yield this.$nextTick();\n });\n\n function changeTemplate() {\n return _ref.apply(this, arguments);\n }\n\n return changeTemplate;\n }(),\n changeScale: function changeScale() {\n\n try {\n if (this.state.scale.includes(':')) {\n var scale = Number(this.state.scale.split(':')[1].trim());\n\n this.$refs.scales.children[this.$refs.scales.children.length - 1].value = scale;\n\n this.state.scale = scale;\n }\n } catch (e) {\n console.warn(e);\n this.state.scale = this.state.scales[0].value;\n }\n\n if (Number.isNaN(Number(this.state.scale)) || this.state.scale > this.state.scales[0].value) {\n this.state.scale = this.state.scales[0].value;\n }\n\n if (this.state.scale < 0) {\n this.state.scale = this.state.scales[this.state.scales.length - 1].value;\n }\n\n $(this.$refs.scales).val(this.state.scale).trigger('change');\n\n if (this.state.scale) {\n this._setPrintArea();\n }\n },\n changeDpi: function changeDpi() {\n if (Number.isNaN(Number(this.state.dpi))) {\n this.state.dpi = this.state.dpis[0];\n\n $(this.$refs.dpi).val(this.state.dpi).trigger('change');\n }\n },\n changeRotation: function changeRotation() {\n this.state.rotation = this.state.rotation >= 0 ? Math.min(this.state.rotation || 0, 360) : Math.max(this.state.rotation || 0, -360);\n _gui2.default.getService('map').setInnerGreyCoverBBox({ rotation: this.state.rotation });\n },\n isAxisOrientationInverted: function isAxisOrientationInverted() {\n return 'neu' === _gui2.default.getService('map').getProjection().getAxisOrientation();\n },\n getOverviewExtent: function getOverviewExtent() {\n var extent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var xmin = extent.xmin,\n xmax = extent.xmax,\n ymin = extent.ymin,\n ymax = extent.ymax;\n\n return (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n },\n getPrintExtent: function getPrintExtent() {\n var map = _gui2.default.getService('map').viewer.map;\n\n try {\n var _map$getCoordinateFro = map.getCoordinateFromPixel([this.state.inner[0], this.state.inner[1]]),\n _map$getCoordinateFro2 = _slicedToArray(_map$getCoordinateFro, 2),\n xmin = _map$getCoordinateFro2[0],\n ymin = _map$getCoordinateFro2[1];\n\n var _map$getCoordinateFro3 = map.getCoordinateFromPixel([this.state.inner[2], this.state.inner[3]]),\n _map$getCoordinateFro4 = _slicedToArray(_map$getCoordinateFro3, 2),\n xmax = _map$getCoordinateFro4[0],\n ymax = _map$getCoordinateFro4[1];\n\n this.print_extent = (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n } catch (e) {\n console.warn(e);\n }\n\n return this.print_extent;\n },\n print: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var has_atlas = !!this.state.atlas;\n var err = void 0;\n var response = void 0;\n\n this.state.loading = true;\n\n try {\n _gui2.default.disableSideBar(true);\n\n if (this._page) {\n yield (0, _promisify.promisify)(_gui2.default.closeContent());\n }\n\n if (has_atlas) {\n _application2.default.download = true;\n yield (0, _downloadFile.downloadFile)({\n url: (yield (0, _printAtlas.printAtlas)({\n template: this.state.template,\n field: this.state.atlas.field_name || '$id',\n values: this.atlas_values,\n download: true\n })).url,\n filename: this.state.template,\n mime_type: 'application/pdf'\n });\n }\n\n if (!has_atlas) {\n this.state.url = null;\n this.state.layers = true;\n\n this._page = new _g3wComponent2.default({ service: { state: this.state }, vueComponentObject: vueComp });\n\n _gui2.default.setContent({\n content: this._page,\n title: 'print',\n perc: 100\n });\n\n var has_theme = this.state.maps.some(function (m) {\n return undefined !== m.preset_theme;\n });\n var store = _application2.default.project.getLayersStore();\n var layers = store.getLayers({ PRINTABLE: { scale: this.state.scale }, SERVERTYPE: 'QGIS' }).reverse();\n var LAYERS = (layers || []).map(function (l) {\n return l.getPrintLayerName();\n }).join();\n var url = store.getWmsUrl();\n var mime_type = { pdf: 'application/pdf', jpg: 'image/jpeg', svg: 'image/svg' }[this.state.format] || this.state.format;\n var params = layers.length && new URLSearchParams(_extends({\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrint',\n TEMPLATE: this.state.template,\n DPI: this.state.dpi,\n STYLES: layers.map(function (l) {\n return l.getStyle();\n }).join(',')\n }, has_theme ? {} : { LAYERS: LAYERS }, {\n FORMAT: { png: 'png', pdf: 'application/pdf', geopdf: 'application/pdf' }[this.state.format] || this.state.format\n }, 'geopdf' === this.state.format ? { FORMAT_OPTIONS: 'WRITE_GEO_PDF:TRUE' } : {}, {\n CRS: store.getProjection().getCode(),\n filtertoken: _application2.default.tokens.filtertoken\n }, this.state.maps.map(function (m) {\n return {\n name: m.name,\n preset_theme: m.preset_theme,\n scale: m.overview ? m.scale : _this2.state.scale,\n extent: m.overview ? _this2.getOverviewExtent(m.extent) : _this2.getPrintExtent()\n };\n }).reduce(function (params, map) {\n var _extends2;\n\n return Object.assign(params, _extends((_extends2 = {}, _defineProperty(_extends2, map.name + ':SCALE', map.scale), _defineProperty(_extends2, map.name + ':EXTENT', map.extent), _defineProperty(_extends2, map.name + ':ROTATION', _this2.state.rotation), _extends2), has_theme && undefined === map.preset_theme ? _defineProperty({}, map.name + ':LAYERS', LAYERS) : {}));\n }, {}), (this.state.labels || []).reduce(function (params, label) {\n return Object.assign(params, _defineProperty({}, label.id, label.text));\n }, {}))).toString();\n\n var method = layers.length && ('geopdf' === this.state.format ? 'GET' : _application2.default.project.state.ows_method);\n\n response = yield 'GET' === method ? Promise.resolve({ ok: true }) : fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: params\n });\n\n this.state.url = 'GET' === method ? url + '?' + params : URL.createObjectURL((yield response.blob()));\n this.state.layers = !!response.ok;\n\n this._page.getInternalComponent().$on('hook:mounted', function () {\n return _this2.state.loading = false;\n });\n\n this._page.unmount = function () {\n _gui2.default.getService('map').viewer.map.once('postrender', _this2._setPrintArea.bind(_this2));\n var promise = _g3wComponent2.default.prototype.unmount.call(_this2._page);\n _this2._page = null;\n return promise;\n };\n }\n } catch (e) {\n if (response && !response.ok && 500 === response.status) {\n err = 500 === response.status ? 'Internal Server Error' : 'Request Failed';\n } else {\n err = e;\n }\n this.state.loading = false;\n\n _gui2.default.disableSideBar(false);\n console.warn(e);\n }\n\n this.state.loading = false;\n\n _application2.default.download = false;\n\n if (has_atlas || !this.state.layers) {\n _gui2.default.disableSideBar(false);\n }\n\n if (err) {\n console.warn(err);\n _gui2.default.notify.error(err || t(\"info.server_error\"));\n _gui2.default.closeContent();\n }\n });\n\n function print() {\n return _ref2.apply(this, arguments);\n }\n\n return print;\n }(),\n showPrintArea: function showPrintArea(show) {\n var _this3 = this;\n\n var reset = !show;\n if (reset && this.select2) {\n this.select2.val(null).trigger('change');\n }\n if (reset) {\n this.atlas_values = [];this.print_extent = null;\n }\n\n if (0 === this.state.print.length) {\n return;\n }\n _gui2.default.closeContent().then(function (component) {\n setTimeout(function () {\n var map = component.getService();\n map.getMap().once('postrender', function () {\n if (!show) {\n return _this3._clearPrint();\n }\n _this3._moveKey = map.viewer.map.on('moveend', _this3._setPrintArea.bind(_this3));\n _this3._initPrintConfig();\n\n if (undefined === _this3.state.atlas && _this3._setPrintArea()) {\n map.startDrawGreyCover();\n }\n });\n map.getMap().renderSync();\n });\n });\n },\n _setPrintArea: function _setPrintArea() {\n if (!this.has_maps) {\n this._clearPrint();\n return false;\n }\n var map = _gui2.default.getService('map').viewer.map;\n var size = map.getSize();\n var resolution = map.getView().getResolution();\n\n var _state$maps$find = this.state.maps.find(function (m) {\n return !m.overview;\n }),\n h = _state$maps$find.h,\n w = _state$maps$find.w;\n\n var res = resolution * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n var w2 = w / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var h2 = h / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var x = size[0] / 2,\n y = size[1] / 2;\n\n this.state.inner = [x - w2, y + h2, x + w2, y - h2];\n _gui2.default.getService('map').setInnerGreyCoverBBox({\n type: 'pixel',\n inner: this.state.inner,\n rotation: this.state.rotation\n });\n return true;\n },\n _clearPrint: function _clearPrint() {\n ol.Observable.unByKey(this._moveKey);\n this._moveKey = null;\n _gui2.default.getService('map').stopDrawGreyCover();\n },\n _setScales: function _setScales(maxRes) {\n var _this4 = this;\n\n var units = _gui2.default.getService('map').getMapUnits();\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(maxRes, units);\n var scales = _g3wConstants.PRINT_SCALES.sort(function (a, b) {\n return b.value - a.value;\n });\n var below = scales.filter(function (s) {\n return s.value < mapScale;\n });\n var above = scales.findLast(function (s) {\n return s.value >= mapScale;\n });\n this.state.scales = (above ? [above] : []).concat(below);\n this.state.scales.forEach(function (s) {\n return _this4._resolutions[s.value] = (0, _getResolutionFromScale.getResolutionFromScale)(s.value, units);\n });\n },\n _initPrintConfig: function _initPrintConfig() {\n var _this5 = this;\n\n var view = _gui2.default.getService('map').viewer.map.getView();\n if (!this._initialized) {\n this._setScales(view.getMaxResolution());\n this._initialized = true;\n }\n var resolution = view.getResolution();\n\n Object.entries(this._resolutions).find(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n scala = _ref5[0],\n res = _ref5[1];\n\n if (resolution <= res) {\n _this5.state.scale = scala;\n return true;\n }\n });\n },\n reload: function reload() {\n var _this6 = this;\n\n this.state.print = _application2.default.project.state.print || [];\n var visible = this.state.print.length > 0;\n var init = this._initialized;\n this.state.template = visible ? this.state.print[0].name : this.state.template;\n if (visible && !init) {\n this.init();\n }\n if (visible) {\n this._initPrintConfig();\n var map = _gui2.default.getService('map');\n map.on('changeviewaftercurrentproject', function () {\n _this6.state.scales = _g3wConstants.PRINT_SCALES;\n _this6._setScales(map.viewer.map.getView().getMaxResolution());\n });\n } else {\n this._clearPrint();\n }\n },\n initSelect2Field: function initSelect2Field() {\n var _this7 = this;\n\n this.select2 = $('#print_atlas_autocomplete').select2({\n width: '100%',\n multiple: true,\n dropdownParent: $(this.$refs.print_atlas),\n minimumInputLength: 1,\n ajax: {\n delay: 500,\n transport: function () {\n var _ref6 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getCatalogLayerById.getCatalogLayerById)(_this7.state.atlas.qgs_layer_id).getFilterData({\n suggest: _this7.state.atlas.field_name + '|' + d.data.q,\n unique: _this7.state.atlas.field_name\n })).map(function (v) {\n return { id: v, text: v };\n })\n });\n } catch (e) {\n console.warn(e);\n ko(e);\n }\n });\n\n function transport(_x2, _x3, _x4) {\n return _ref6.apply(this, arguments);\n }\n\n return transport;\n }()\n },\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n this.select2.on('select2:select', function (e) {\n _this7.atlas_values.push(e.params.data.id);\n });\n this.select2.on('select2:unselect', function (e) {\n _this7.atlas_values = _this7.atlas_values.filter(function (v) {\n return v != e.params.data.id;\n });\n });\n }\n },\n\n watch: {\n has_autocomplete: function () {\n var _ref7 = _asyncToGenerator(function* (b) {\n if (!b) {\n return;\n }\n yield this.$nextTick();\n this.initSelect2Field();\n });\n\n function has_autocomplete(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return has_autocomplete;\n }(),\n\n\n atlas_values: {\n immediate: true,\n handler: function () {\n var _ref8 = _asyncToGenerator(function* (vals) {\n var _this8 = this;\n\n if (this._skip_atlas_check || !this.state.atlas) {\n return;\n }\n if (this.has_autocomplete) {\n this.disabled = 0 === vals.length;\n return;\n }\n var validate = function validate(n) {\n return n && Number.isInteger(1 * n) && 1 * n >= 0 && 1 * n < _this8.state.atlas.feature_count || null;\n };\n var values = new Set();\n var value = (vals ? vals[0] : '') || '';\n value.split(',').filter(function (v) {\n return v;\n }).forEach(function (value) {\n if (!value.includes('-') && null !== validate(value)) {\n values.add(value);\n return;\n }\n var _values = value.split('-');\n var range = _values.filter(function (v) {\n return validate(v) !== null;\n });\n if (range.length === _values.length && range.reduce(function (bool, value, i) {\n return bool && (0 === i || range[i - 1] <= value);\n }, true)) {\n for (var i = 1; i < range.length; i++) {\n for (var j = range[i - 1]; j < range[i]; j++) {\n values.add(j + '');\n }\n }\n values.add(range[range.length - 1]);\n }\n });\n this._skip_atlas_check = true;\n this.atlas_values = Array.from(values);\n yield this.$nextTick();\n this._skip_atlas_check = false;\n this.disabled = '' === value.trim();\n });\n\n function handler(_x6) {\n return _ref8.apply(this, arguments);\n }\n\n return handler;\n }()\n },\n\n 'state.url': function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n var _this9 = this;\n\n if (!url) {\n return;\n }\n var timeout = void 0;\n\n try {\n\n yield this.$nextTick();\n\n timeout = setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this9.state.downloading = false;\n _gui2.default.showUserMessage({ type: 'alert', message: 'timeout' });\n }, _g3wConstants.TIMEOUT);\n\n var response = yield fetch(url);\n\n if (!response.ok) {\n throw response.statusText;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(e || t(\"info.server_error\"));\n _gui2.default.closeContent();\n } finally {\n clearTimeout(timeout);\n _gui2.default.disableSideBar(false);\n this.state.downloading = false;\n }\n });\n\n function stateUrl(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return stateUrl;\n }()\n\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n\n if (this.state.atlas) {\n this.initSelect2Field();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu\",attrs:{\"id\":\"print\"}},[_c('li',[(_vm.state.print.length)?_c('form',{staticClass:\"g3w-search-form form-horizonal\"},[_c('div',{staticClass:\"box-body\"},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}})],1),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.print.help\"}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.template'),expression:\"'sdk.print.template'\"}],attrs:{\"for\":\"templates\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.template'),expression:\"'state.template'\"}],staticClass:\"form-control\",style:({ marginBottom: this.state.atlas && '10px' }),attrs:{\"id\":\"templates\",\"select2_value\":_vm.state.template},on:{\"change\":_vm.changeTemplate}},_vm._l((_vm.state.print),function(print){return _c('option',{domProps:{\"value\":print.name}},[_vm._v(_vm._s(print.name))])}),0),_vm._v(\" \"),(!_vm.state.atlas)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.scale'),expression:\"'sdk.print.scale'\"}],attrs:{\"for\":\"scale\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"select2\",rawName:\"v-select2\",value:('state.scale'),expression:\"'state.scale'\"}],ref:\"scales\",staticClass:\"form-control\",attrs:{\"id\":\"scale\",\"select2_value\":_vm.state.scale,\"createTag\":true},on:{\"change\":_vm.changeScale}},_vm._l((_vm.state.scales),function(scale){return _c('option',{domProps:{\"value\":scale.value}},[_vm._v(_vm._s(scale.label))])}),0),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"dpi\"}},[_vm._v(\"dpi\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.dpi'),expression:\"'state.dpi'\"}],ref:\"dpi\",staticClass:\"form-control\",attrs:{\"id\":\"dpi\",\"select2_value\":_vm.state.dpi,\"createTag\":true},on:{\"change\":_vm.changeDpi}},_vm._l((_vm.state.dpis),function(dpi){return _c('option',[_vm._v(_vm._s(dpi))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.rotation'),expression:\"'sdk.print.rotation'\"}],attrs:{\"for\":\"rotation\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.rotation),expression:\"state.rotation\"}],staticClass:\"form-control\",attrs:{\"id\":\"rotation\",\"min\":\"-360\",\"max\":\"360\",\"type\":\"number\"},domProps:{\"value\":(_vm.state.rotation)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"rotation\", $event.target.value)},_vm.changeRotation]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.format'),expression:\"'sdk.print.format'\"}],attrs:{\"for\":\"format\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.format'),expression:\"'state.format'\"}],staticClass:\"form-control\",attrs:{\"id\":\"format\",\"select2_value\":_vm.state.format}},_vm._l((_vm.state.formats),function(format){return _c('option',{domProps:{\"value\":format.value}},[_vm._v(_vm._s(format.label))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.state.atlas)?_c('div',{ref:\"print_atlas\",staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[(_vm.has_autocomplete)?[_c('label',{attrs:{\"for\":\"print_atlas_autocomplete\"}},[_c('span',[_vm._v(_vm._s(_vm.state.atlas.field_name))])]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"print_atlas_autocomplete\",\"name\":_vm.state.atlas.field_name}})]:[_c('label',[_c('span',[_vm._v(\"fids [max: \"+_vm._s(_vm.state.atlas.feature_count - 1)+\"]\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.atlas_values),expression:\"atlas_values\"}],staticClass:\"form-control\",domProps:{\"value\":(_vm.atlas_values)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();},\"input\":function($event){if($event.target.composing){ return; }_vm.atlas_values=$event.target.value}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"fid-print-atals-instruction\"}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_instruction'),expression:\"'sdk.print.fids_instruction'\"}],attrs:{\"id\":\"fids_intruction\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_example'),expression:\"'sdk.print.fids_example'\"}],attrs:{\"id\":\"fids_examples_values\"}})])]],2):_vm._e(),_vm._v(\" \"),(_vm.state.labels && _vm.state.labels.length > 0)?_c('div',{staticClass:\"print-labels-content\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.labels'),expression:\"'sdk.print.labels'\"}],staticClass:\"skin-color\"}),_vm._v(\" \"),_c('div',{staticClass:\"labels-input-content\"},_vm._l((_vm.state.labels),function(label){return _c('span',{key:label.id},[_c('label',{attrs:{\"for\":(\"g3w_label_id_input_\" + (label.id))}},[_vm._v(\" \"+_vm._s(label.id))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(label.text),expression:\"label.text\"}],staticClass:\"form-control\",attrs:{\"id\":(\"g3w_label_id_input_\" + (label.id))},domProps:{\"value\":(label.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(label, \"text\", $event.target.value)}}})])}),0)]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"box-footer\"},[_c('span',[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"},{name:\"download\",rawName:\"v-download\"},{name:\"t\",rawName:\"v-t\",value:('create_print'),expression:\"'create_print'\"}],staticClass:\"sidebar-button-run btn\",attrs:{\"id\":\"printbutton\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.print($event)}}})])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"padding\":\"1em\",\"text-align\":\"center\"}},[_c('b',[_c('a',{attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/training_manual/map_composer/map_composer.html\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')}),_vm._v(\" Edit in QGIS\\n \")])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9e025612\"\n\n},{\"components/PrintPage.vue\":89,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/printAtlas\":231,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],89:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print-output[data-v-184574a6]{height:100%;position:relative}#print-output>iframe[data-v-184574a6]{border:0;width:100%;height:100%}.g3w-print-image-output[data-v-184574a6]{display:flex;flex-direction:column;position:relative;height:100%}#g3w-print-header[data-v-184574a6]{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:5px;margin-bottom:5px}#g3w-print-header button[data-v-184574a6]{font-weight:700}.g3w-print-url[data-v-184574a6]{height:100%;width:100%;position:relative;overflow-y:auto}.g3w-print-url>img[data-v-184574a6]{height:auto;max-width:100%}#print-output>h4[data-v-184574a6]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'print-page',\n\n data: function data() {\n var state = this.$options.service.state || {};\n return {\n state: state,\n\n format: state.format,\n ready: false\n };\n },\n\n\n methods: {\n downloadImage: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n _gui2.default.disableSideBar(true);\n this.state.downloading = true;\n if (['jpg', 'png', 'svg'].includes(this.format)) {\n yield this.imageToDataURL({ src: this.state.url, type: 'image/' + this.format });\n setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this.state.downloading = false;\n });\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function downloadImage() {\n return _ref.apply(this, arguments);\n }\n\n return downloadImage;\n }(),\n imageToDataURL: function imageToDataURL(_ref2) {\n var src = _ref2.src,\n _ref2$type = _ref2.type,\n type = _ref2$type === undefined ? 'image/jpeg' : _ref2$type,\n _ref2$callback = _ref2.callback,\n callback = _ref2$callback === undefined ? function () {} : _ref2$callback;\n\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.height = this.naturalHeight;\n canvas.width = this.naturalWidth;\n context.drawImage(this, 0, 0);\n var dataURL = canvas.toDataURL(type);\n callback(dataURL);\n resolve(dataURL);\n };\n image.onerror = reject;\n image.src = src;\n });\n }\n },\n\n watch: {\n ready: {\n handler: function handler(bool) {\n _gui2.default.setLoadingContent(!bool);\n },\n\n immediate: true\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this.state.url && 'POST' === _application2.default.project.state.ows_method) {\n window.URL.revokeObjectURL(this.state.url);\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"print-output\"}},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading && _vm.state.layers}})],1),_vm._v(\" \"),(_vm.state.layers)?[(['pdf', 'geopdf'].includes(_vm.format))?_c('iframe',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}}):_c('div',{staticClass:\"g3w-print-image-output\"},[_c('div',{attrs:{\"id\":\"g3w-print-header\"}},[_c('div',{class:{ 'g3w-disabled': !!(_vm.state.downloading && _vm.state.layers) }},[_c('a',{attrs:{\"href\":_vm.state.url,\"download\":(\"download.\" + _vm.format)}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sdk.print.download_image'),expression:\"'sdk.print.download_image'\",modifiers:{\"create\":true}}],staticClass:\"btn skin-button skin-tooltip-left\",class:_vm.$fa('download'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadImage($event)}}})])])]),_vm._v(\" \"),(_vm.state.url)?_c('div',{staticClass:\"g3w-print-url\"},[_c('img',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}})]):_vm._e()])]:_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.no_layers'),expression:\"'sdk.print.no_layers'\"}]})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-184574a6\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],90:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".project-menu[data-v-4c9dd89f]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-4c9dd89f]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-4c9dd89f]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-4c9dd89f]{padding:15px;background:hsla(0,0%,100%,.3)}.project-menu-item-text[data-v-4c9dd89f]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-4c9dd89f]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}#menu-projects[data-v-4c9dd89f]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-4c9dd89f]{display:flex;flex-wrap:wrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'projects-menu',\n\n data: function data() {\n return {\n state: null,\n loading: false\n };\n },\n\n\n methods: {\n trigger: function trigger(item) {\n if (item.cbk) this._initCallback(item);else if (item.href) window.open(item.href, '_blank');else if (item.route) _gui2.default.goto(item.route);else console.log(\"No action for \" + item.title);\n },\n _initCallback: function _initCallback(item) {\n var _this = this;\n\n this._toggleModal(true);\n item.cbk.call(item, { gid: item.gid }).then(function (promise) {\n promise.then(function (project) {\n if (project) document.title = project.state.html_page_title;\n }).fail(function () {\n _gui2.default.notify.error(\"

\" + t(\"error_map_loading\") + \"

\" + \"
\" + t(\"check_internet_connection_or_server_admin\") + \"
\");\n }).always(function () {\n _this._toggleModal(false);\n });\n });\n },\n _toggleModal: function _toggleModal(state) {\n _gui2.default.showFullModal({ show: state });\n _gui2.default.setLoadingContent(state);\n },\n logoSrc: function logoSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var has_media = src && src.includes(window.initConfig.mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + window.initConfig.mediaurl + src;\n } else {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n }\n\n return '' + host + imageSrc;\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"menu-projects\"}},[_c('div',{staticClass:\"row row-equal\"},[_vm._l((_vm.state.menuitems),function(menuitem){return _c('div',{key:menuitem.title,staticClass:\"col-xs-12 col-sm-4 project-menu\",on:{\"click\":function($event){return _vm.trigger(menuitem)}}},[_c('div',{staticClass:\"project-menu-item-image\"},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":_vm.logoSrc(menuitem.thumbnail)}})]),_vm._v(\" \"),_c('div',{staticClass:\"project-menu-item-content\"},[_c('div',{staticClass:\"project-menu-item-text\"},[_c('h4',{staticClass:\"project-menu-item-title\"},[_vm._v(_vm._s(menuitem.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(menuitem.description)}})])])])}),_vm._v(\" \"),(!_vm.state.menuitems.length)?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},[_c('h2',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_other_projects'),expression:\"'no_other_projects'\"}]})]):_vm._e()],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c9dd89f\"\n\n},{\"g3w-i18n\":129,\"services/gui\":173,\"vueify/lib/insert-css\":2}],91:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#query_builder[data-v-81e8d74e]{font-family:monospace;margin-bottom:0;height:100%;display:flex;flex-wrap:nowrap;flex-direction:column}#query_builder .select2.select2-container[data-v-81e8d74e]{font-weight:700}.querybuilder-title[data-v-81e8d74e]{color:#fff;font-weight:700}select[data-v-81e8d74e]{background-color:#fff;color:#000;border:none}option[data-v-81e8d74e]{padding:8px;cursor:pointer}option[data-v-81e8d74e]:checked{background:var(--skin-color) linear-gradient(0deg,var(--skin-color),var(--skin-color));color:#fff}option[data-v-81e8d74e]:nth-of-type(odd){background-color:#f9f9f9}.query_builder_button[data-v-81e8d74e]{margin:1px;flex-basis:78px;flex-grow:1;color:#000}.content-wrap[data-v-81e8d74e]{display:flex;flex-wrap:wrap}.content-end[data-v-81e8d74e]{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.margin-between-element[data-v-81e8d74e]{margin-bottom:5px}#query_builder_expression_content[data-v-81e8d74e]{width:100%;resize:none;height:100px;color:#000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'query-builder',\n\n data: function data() {\n return {\n edit: undefined !== this.$options.options,\n currentlayer: null,\n message: '',\n filter: undefined !== this.$options.options ? this.$options.options.filter : '',\n loading: {\n test: false,\n values: false\n },\n values: [],\n manual: true,\n manualvalue: null,\n select: {\n field: null,\n value: null\n }\n };\n },\n\n\n computed: {\n fields: function fields() {\n return this.currentlayer ? this.currentlayer.fields : [];\n },\n disabled: function disabled() {\n return !this.filter;\n }\n },\n\n watch: {\n 'select.field': function selectField() {\n this.values = [];\n this.manual = true;\n }\n },\n\n methods: {\n addToExpression: function addToExpression() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref.value,\n type = _ref.type;\n\n switch (type) {\n case 'operator':\n value = ' ' + value + ' ';break;\n case 'field':\n value = '\"' + value + '\"';break;\n case 'value':\n value = '\\'' + value + '\\'';break;\n }\n if (value) this.filter = '' + this.filter + value;\n },\n all: function () {\n var _ref2 = _asyncToGenerator(function* () {\n this.loading.values = true;\n try {\n var layerId = this.currentlayer.id;\n var field = this.select.field;\n var CACHE = _application2.default.querybuilder.cache;\n CACHE[layerId] = CACHE[layerId] || {};\n if (undefined !== CACHE[layerId][field]) {\n this.values = CACHE[layerId][field];\n } else {\n var response = yield _XHR.XHR.get({\n url: (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getUrl('data'),\n params: { ordering: field, formatter: 1, fformatter: field }\n });\n if (response.result) {\n CACHE[layerId][field] = CACHE[layerId][field] || response.data;\n }\n this.values = CACHE[layerId][field] || [];\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading.values = false;\n yield this.$nextTick();\n this.manualvalue = null;\n this.manual = false;\n });\n\n function all() {\n return _ref2.apply(this, arguments);\n }\n\n return all;\n }(),\n reset: function reset() {\n this.filter = '';\n this.message = '';\n this.filterElement.previous = null;\n this.filterElement.current = null;\n this.filterElement.operator = null;\n this.select.field = null;\n if (this.$refs.search_fields) {\n this.$refs.search_fields.selectedIndex = -1;\n }\n if (this.$refs.search_values) {\n this.$refs.search_values.selectedIndex = -1;\n }\n },\n run: function () {\n var _ref3 = _asyncToGenerator(function* () {\n try {\n this.loading.test = true;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id);\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: this.filter }),\n feature_count: 100\n },\n outputs: true\n }),\n data = _ref4.data;\n\n var n = data.length && data[0].features.length;\n this.message = undefined !== n ? ' ' + n : '';\n return data;\n } catch (e) {\n console.warn(e);\n } finally {\n this.loading.test = false;\n }\n });\n\n function run() {\n return _ref3.apply(this, arguments);\n }\n\n return run;\n }(),\n save: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var id = this.projectId || _application2.default.project.getId();\n var edit_id = this.edit && this.$options.options.id;\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var searches = item ? JSON.parse(item) : undefined;\n\n var query = void 0;\n\n try {\n query = {\n layerId: this.currentlayer.id,\n filter: this.filter,\n layerName: (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id).getName(),\n name: edit_id ? this.edit && this.$options.options.name : yield new Promise(function (res, rej) {\n _gui2.default.dialog.prompt(t('sdk.querybuilder.additem'), function (d) {\n return d ? res(d) : rej();\n });\n }),\n id: edit_id || (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n if (edit_id) {\n var i = searches[id].findIndex(function (s) {\n return s.id === query.id;\n });\n if (-1 !== i) {\n searches[id][i] = query;\n }\n } else {\n _gui2.default.getService('search').state.querybuildersearches.push(query);\n if (undefined === searches) {\n searches = _defineProperty({}, id, [query]);\n } else {\n searches[id] = [].concat(_toConsumableArray(searches[id] || []), [query]);\n }\n }\n } catch (e) {\n console.warn(e);\n return;\n }\n\n var ITEMS = _application2.default.querybuilder.searches;\n\n try {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(searches));\n } catch (e) {\n console.warn(e);\n }\n\n setTimeout(function () {\n searches[id].forEach(function (q) {\n return ITEMS[id].push(q);\n });\n }, 0);\n ITEMS[id].splice(0);\n _gui2.default.showUserMessage({ type: 'success', message: t(\"sdk.querybuilder.messages.changed\"), autoclose: true });\n });\n\n function save() {\n return _ref5.apply(this, arguments);\n }\n\n return save;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.filterElement = {\n current: null,\n previous: null,\n operator: null\n };\n\n var project = _application2.default.project;\n\n this.layers = project.getLayers().filter(function (l) {\n return !l.baselayer && Array.isArray(l.fields);\n }).map(function (layer) {\n var exclude = [];\n project.state.relations.filter(function (r) {\n return layer.id === r.referencedLayer && 'ONE' === r.type;\n }).forEach(function (r) {\n var l = project.getLayerById(r.referencingLayer);\n r.customPrefix = r.customPrefix === undefined ? l.getName() + '_' : r.customPrefix;\n exclude = [].concat(_toConsumableArray(exclude), _toConsumableArray(l.getFields().map(function (field) {\n return '' + r.customPrefix + field.name;\n })));\n });\n return {\n id: layer.id,\n label: layer.title,\n fields: layer.fields.filter(function (f) {\n return f.show;\n }).map(function (f) {\n return { label: f.label, name: f.name };\n }).filter(function (f) {\n return !exclude.includes(f);\n })\n };\n });\n\n this.operators = Object.values(_g3wConstants.FILTER_OPERATORS);\n\n this.currentlayer = this.edit ? this.layers.find(function (l) {\n return l.id === _this.$options.options.layerId;\n }) : this.layers[0];\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.select2 = $('#query_builder_layers_select').select2({ width: '100%' });\n\n if (this.edit) {\n this.select2.val(this.layers.indexOf(this.currentlayer));\n this.select2.trigger('change');\n }\n\n this.select2.on('select2:select', function (e) {\n _this2.currentlayer = _this2.layers[e.params.data.id];\n _this2.select.field = null;\n _this2.select.value = null;\n _this2.reset();\n });\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.select2.select2('destroy');\n this.select2 = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"query_builder\"}},[_c('div',{staticClass:\"margin-between-element\",attrs:{\"id\":\"query_builder_layers\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.expression'),expression:\"'sdk.querybuilder.panel.expression'\"}],staticClass:\"querybuilder-title\"}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#search-and-query-builder\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"query_builder_layers_select\"}},_vm._l((_vm.layers),function(layer,i){return _c('option',{key:layer.label,staticClass:\"bold\",domProps:{\"value\":i}},[_vm._v(_vm._s(layer.label))])}),0)]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],attrs:{\"id\":\"query_builder_expression_content\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filter=$event.target.value}}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.test}}),_vm._v(\" \"),_c('b',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],staticClass:\"skin-color\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"content-end\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.run'),expression:\"'sdk.querybuilder.panel.button.run'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.run}},[_c('i',{class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.clear'),expression:\"'sdk.querybuilder.panel.button.clear'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":_vm.reset}},[_c('i',{class:_vm.$fa('clear')})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.save'),expression:\"'sdk.querybuilder.panel.button.save'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.save}},[_c('i',{class:_vm.$fa('save')})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.fields'),expression:\"'sdk.querybuilder.panel.fields'\"}]}),_vm._v(\" \"),_c('select',{ref:\"search_fields\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field.name,on:{\"click\":function($event){_vm.select.field = field.name; _vm.addToExpression({ value: field.name, type: 'field' })}}},[_vm._v(_vm._s(field.label))])})],2),_vm._v(\" \"),_c('div',{staticClass:\"content-wrap margin-between-element\"},_vm._l((_vm.operators),function(operator){return _c('button',{key:operator,staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":function($event){return _vm.addToExpression({ value: operator, type: 'operator' })}}},[_vm._v(_vm._s(operator))])}),0),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.values}}),_vm._v(\" \"),(!_vm.manual)?_c('select',{ref:\"search_values\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.values),function(ref){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('option',{key:key,on:{\"click\":function($event){_vm.select.value = key; _vm.addToExpression({ value: key, type: 'value' })}}},[_vm._v(_vm._s(value))])})],2):_vm._e(),_vm._v(\" \"),(_vm.select.field !== null && !_vm.values.length)?_c('button',{staticClass:\"btn btn-secondary bold\",class:{'skin-border-color' : !_vm.manual },staticStyle:{\"color\":\"#000\"},on:{\"click\":_vm.all}},[_c('i',{class:_vm.g3wtemplate.getFontClass('search')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.all'),expression:\"'sdk.querybuilder.panel.button.all'\"}]})]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81e8d74e\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],92:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".feature_attributes tr[data-v-09a18998]{line-height:1.8em}.featurebox-body+tr[data-v-09a18998]{border-top:2px groove #000}#g3w-queryresults-pagination[data-v-09a18998]{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;flex-wrap:wrap}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination span[data-v-09a18998]{background-color:transparent;margin:2px;font-weight:700;font-size:.8em}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination select[data-v-09a18998]{min-width:0}#pagination-pages[data-v-09a18998]{display:flex;align-items:baseline}#pagination-pages label[data-v-09a18998]{margin-left:3px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nvar _QueryResultsTableAttributeFieldValue = require('components/QueryResultsTableAttributeFieldValue.vue');\n\nvar _QueryResultsTableAttributeFieldValue2 = _interopRequireDefault(_QueryResultsTableAttributeFieldValue);\n\nvar _QueryResultsActionInfoFormats = require('components/QueryResultsActionInfoFormats.vue');\n\nvar _QueryResultsActionInfoFormats2 = _interopRequireDefault(_QueryResultsActionInfoFormats);\n\nvar _QueryResultsHeaderFeatureBody = require('components/QueryResultsHeaderFeatureBody.vue');\n\nvar _QueryResultsHeaderFeatureBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureBody);\n\nvar _QueryResultsHeaderFeatureActionsBody = require('components/QueryResultsHeaderFeatureActionsBody.vue');\n\nvar _QueryResultsHeaderFeatureActionsBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureActionsBody);\n\nvar _toRawType = require('utils/toRawType');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar MAX_SUBSET_LENGTH = 3;\nvar headerExpandActionCellWidth = 10;\nvar headerActionsCellWidth = 10;\nvar HEADERTYPESFIELD = ['varchar', 'integer', 'float', 'bigint', 'date'];\n\nexports.default = {\n name: 'queryresults',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n headerExpandActionCellWidth: headerExpandActionCellWidth,\n headerActionsCellWidth: headerActionsCellWidth\n };\n },\n\n mixins: [_mixins.fieldsMixin],\n components: {\n Select2: _mixins.Select2,\n TableAttributeFieldValue: _QueryResultsTableAttributeFieldValue2.default,\n 'infoformats': _QueryResultsActionInfoFormats2.default,\n 'header-feature-body': _QueryResultsHeaderFeatureBody2.default,\n HeaderFeatureActionsBody: _QueryResultsHeaderFeatureActionsBody2.default\n },\n computed: {\n onelayerresult: function onelayerresult() {\n return 1 === this.state.layers.length;\n },\n hasLayers: function hasLayers() {\n return this.hasResults || !!this.state.components.length;\n },\n hasResults: function hasResults() {\n return this.state.layers.length > 0;\n },\n info: function info() {\n if (this.state.query) {\n var query = this.state.query;\n\n var decimalNumber = 'degrees' === _gui2.default.getService('map').getMapUnits() ? 4 : 2;\n switch (query.type) {\n case 'coordinates':\n return {\n icon: 'marker',\n message: ' ' + query.coordinates[0].toFixed(decimalNumber) + ', ' + query.coordinates[1].toFixed(decimalNumber)\n };\n case 'bbox':\n return {\n icon: 'square',\n message: ' [' + query.bbox.map(function (c) {\n return c.toFixed(decimalNumber);\n }).join(' , ') + ']'\n };\n case 'polygon':\n case 'drawpolygon':\n return {\n icon: 'draw',\n message: query.layerName ? query.layerName + ' ' + (undefined !== query.fid ? ' - Feature Id: ' + query.fid : '') : ' ' };\n case 'circle':\n return {\n icon: 'empty-circle',\n message: ' ' };\n default:\n console.warn('Unsupported query type: ' + query.type);\n break;\n }\n } else if (this.state.search) {}\n\n return { icon: null, message: null };\n },\n queryableLayers: function queryableLayers() {\n return (0, _getMapLayersByFilter.getMapLayersByFilter)({ QUERYABLE: true });\n },\n selectedLayer: function selectedLayer() {\n return _gui2.default.getService('map').getSelectedLayer();\n }\n },\n methods: {\n showInPagination: function showInPagination(layer) {\n return !layer.filter.pagination;\n },\n getLayerDownloads: function getLayerDownloads() {\n var downloads = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return downloads.filter(function (d) {\n return 'pdf' !== d;\n });\n },\n showLayer: function showLayer(layer) {\n return layer.show && (this.layerHasFeatures(layer) || layer.rawdata || Array.isArray(layer.infoformats) && layer.infoformats.length > 0);\n },\n getLayerCustomComponents: function getLayerCustomComponents(layerId) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'feature';\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'after';\n\n return this.state.layerscustomcomponents[layerId] && this.state.layerscustomcomponents[layerId][type] && this.state.layerscustomcomponents[layerId][type][position] || [];\n },\n getLayerField: function getLayerField(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature,\n fieldName = _ref.fieldName;\n\n var layerField = layer.attributes.find(function (a) {\n return fieldName === a.name;\n });\n return _extends({}, layerField, {\n label: null,\n value: feature.attributes[fieldName]\n });\n },\n getQueryFields: function getQueryFields(layer, feature) {\n var fields = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = layer.formStructure.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n var _field = _extends({}, field);\n _field.query = true;\n _field.value = feature.attributes[field.name];\n _field.input = {\n type: '' + this.getFieldType(_field)\n };\n fields.push(_field);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return fields;\n },\n getColSpan: function getColSpan(layer) {\n return this.attributesSubsetLength(layer) + !this.hasLayerOneFeature(layer) * 1;\n },\n addLayerFeaturesToResults: function addLayerFeaturesToResults(layer) {\n this.$options.service.addLayerFeaturesToResultsAction(layer);\n },\n printAtlas: function printAtlas(layer) {\n this.$options.service.printAtlas(layer);\n },\n showLayerDownloadFormats: function showLayerDownloadFormats(layer) {\n this.$options.service.showLayerDownloadFormats(layer);\n },\n saveLayerResult: function saveLayerResult(layer) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"csv\";\n\n this.$options.service.downloadFeatures(type, layer, layer.features);\n },\n hasLayerOneFeature: function hasLayerOneFeature(layer) {\n return 1 === layer.features.length;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function () {\n var _ref2 = _asyncToGenerator(function* (layer) {\n var _this = this;\n\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n\n if (layer.filter.active) {\n layer.features.filter(function (f) {\n return !f.selection.selected;\n }).forEach(function (f) {\n return _this.$options.service.removeFeatureLayerFromResult(layer, f);\n });\n }\n });\n\n function addRemoveFilter(_x5) {\n return _ref2.apply(this, arguments);\n }\n\n return addRemoveFilter;\n }(),\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref3.layer,\n index = _ref3.index;\n\n return $('#' + layer.id + '_' + index + ' > td');\n },\n hasOneLayerAndOneFeature: function hasOneLayerAndOneFeature(layer) {\n return this.hasLayerOneFeature(layer);\n },\n hasFormStructure: function hasFormStructure(layer) {\n return !!layer.formStructure;\n },\n layerHasFeatures: function layerHasFeatures(layer) {\n return Array.isArray(layer.features) && layer.features.length > 0;\n },\n addToSelection: function addToSelection(layer) {\n this.$options.service.addToSelection(layer);\n },\n extractAttributesFromFirstTabOfFormStructureLayers: function extractAttributesFromFirstTabOfFormStructureLayers(layer) {\n var _this2 = this;\n\n var attributes = new Set();\n var traverseStructure = function traverseStructure(item) {\n if (item.nodes) {\n item.nodes.forEach(function (node) {\n return traverseStructure(node);\n });\n } else {\n var field = layer.formStructure.fields.find(function (f) {\n return item.field_name === f.name;\n });\n if (field) {\n if (_this2.state.type === 'ows') {\n field = _extends({}, field);\n field.name = field.name.replace(/ /g, '_');\n }\n attributes.add(field);\n }\n }\n };\n if (layer.formStructure.structure.length) {\n layer.formStructure.structure.forEach(function (structure) {\n return traverseStructure(structure);\n });\n }\n return Array.from(attributes);\n },\n attributesSubset: function attributesSubset(layer) {\n var attributes = this.hasFormStructure(layer) ? this.extractAttributesFromFirstTabOfFormStructureLayers(layer) : layer.attributes;\n var _attributes = attributes.filter(function (attribute) {\n return attribute.show && HEADERTYPESFIELD.includes(attribute.type);\n });\n\n var end = Math.min(MAX_SUBSET_LENGTH, attributes.length);\n return _attributes.slice(0, end);\n },\n attributesSubsetLength: function attributesSubsetLength(layer) {\n return this.attributesSubset(layer).length;\n },\n getLayerFormStructure: function getLayerFormStructure(layer) {\n return layer.formStructure.structure.map(function (n) {\n return Vue.observable(structuredClone(n));\n });\n },\n getLayerFeatureBox: function getLayerFeatureBox(layer, feature, relation_index) {\n var _this3 = this;\n\n var boxid = this.getBoxId(layer, feature, relation_index);\n if (undefined === this.state.layersFeaturesBoxes[boxid]) {\n this.state.layersFeaturesBoxes[boxid] = Vue.observable({\n collapsed: true\n });\n this.$watch(function () {\n return _this3.state.layersFeaturesBoxes[boxid].collapsed;\n }, function (collapsed) {\n var index = layer.features.findIndex(function (_feature) {\n return feature.id === _feature.id;\n });\n var container = _this3.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this3.$options.service.openCloseFeatureResult({ open: !collapsed, layer: layer, feature: feature, container: container });\n });\n this.state.layersFeaturesBoxes[boxid].collapsed = layer.features.length > 1;\n }\n return this.state.layersFeaturesBoxes[boxid];\n },\n collapsedFeatureBox: function collapsedFeatureBox(layer, feature, relation_index) {\n var box = this.state.layersFeaturesBoxes[this.getBoxId(layer, feature, relation_index)];\n return box ? box.collapsed : true;\n },\n showFeatureInfo: function showFeatureInfo(layer, boxid) {\n var box = this.state.layersFeaturesBoxes[boxid];\n this.$options.service.emit('show-query-feature-info', {\n layer: layer,\n tabs: this.hasFormStructure(layer),\n show: box ? !box.collapsed : false\n });\n },\n getBoxId: function getBoxId(layer, feature, relation_index) {\n return this.$options.service.getBoxId(layer, feature, relation_index);\n },\n toggleFeatureBox: function () {\n var _ref4 = _asyncToGenerator(function* (layer, feature, relation_index) {\n var boxid = this.getBoxId(layer, feature, relation_index);\n this.state.layersFeaturesBoxes[boxid].collapsed = !this.state.layersFeaturesBoxes[boxid].collapsed;\n yield this.$nextTick();\n this.showFeatureInfo(layer, boxid);\n });\n\n function toggleFeatureBox(_x7, _x8, _x9) {\n return _ref4.apply(this, arguments);\n }\n\n return toggleFeatureBox;\n }(),\n toggleFeatureBoxAndZoom: function toggleFeatureBoxAndZoom(layer, feature, relation_index) {\n if (!this.hasLayerOneFeature(layer)) {\n this.toggleFeatureBox(layer, feature, relation_index);\n }\n },\n trigger: function () {\n var _ref5 = _asyncToGenerator(function* (action, layer, feature, index) {\n if (action.opened && 'none' === $('#' + layer.id + '_' + index).css('display')) {\n this.toggleFeatureBox(layer, feature);\n yield this.$nextTick();\n }\n yield this.$options.service.trigger(action.id, layer, feature, index, this.getContainerFromFeatureLayer({ layer: layer, index: index }));\n });\n\n function trigger(_x10, _x11, _x12, _x13) {\n return _ref5.apply(this, arguments);\n }\n\n return trigger;\n }(),\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n },\n isJSON: function isJSON(field) {\n return !this.isVue(field) && this.isSimple(field) && 'Object' === (0, _toRawType.toRawType)(field.value);\n },\n openAttributeTable: function openAttributeTable(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).openAttributeTable({ perc: 100 });\n },\n highLightLayerFeatures: function highLightLayerFeatures(layer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: true };\n\n if (layer.hasgeometry) {\n this.$options.service.highLightLayerFeatures(layer, opts);\n }\n },\n collapseSidebar: function collapseSidebar(e) {\n var box = e.target.closest(\".box\");\n var collapsed = box.classList.contains('collapsed-box');\n box.classList.toggle('collapsed-box');\n box.querySelector(\".btn-collapser\").classList.toggle('fa-plus', !collapsed);\n box.querySelector(\".btn-collapser\").classList.add('fa-minus', collapsed);\n },\n showPagination: function showPagination(index) {\n return this.state.query.pagination && this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n },\n loadPaginationData: function () {\n var _ref6 = _asyncToGenerator(function* (index, page, page_size) {\n this.state.layers[index].loading = true;\n try {\n yield this.$options.service.loadPaginationData(index, page, page_size, this.state.query);\n } catch (e) {\n console.warn(e);\n }\n this.state.layers[index].loading = false;\n });\n\n function loadPaginationData(_x15, _x16, _x17) {\n return _ref6.apply(this, arguments);\n }\n\n return loadPaginationData;\n }(),\n getCurrentPagSize: function getCurrentPagSize(index) {\n return this.state.query.pagination.getData.params[index].page_size;\n }\n },\n\n watch: {\n 'state.layers': function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (layer) {\n if (layer.attributes.length <= MAX_SUBSET_LENGTH && !layer.hasImageField) {\n layer.expandable = false;\n }\n layer.features.forEach(function (feature) {\n _this4.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this4.state.layersFeaturesBoxes[layer.id + '_' + feature.id + '_' + relation.name + index] = { collapsed: true };\n });\n });\n }\n });\n });\n\n if (this.onelayerresult && this.hasLayerOneFeature(layers[0])) {\n var layer = layers[0];\n var feature = layer.features[0];\n var boxid = this.getBoxId(layer, feature);\n this.$options.service.onceafter('postRender', function () {\n _this4.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this4.$options.service.postRender(_this4.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref7.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool && !this.state.query.pagination) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this5 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this5.$options.service.zoomToLayerFeaturesExtent(layer);\n });\n },\n destroyed: function destroyed() {\n this.$options.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"queryresults-wrapper\",attrs:{\"id\":\"search-results\"}},[(_vm.info.message)?_c('div',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"margin-bottom\":\"3px\",\"font-size\":\"1.1em\"}},[(_vm.info.icon)?_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.info.icon)}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.info.message)+\" \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"queryresults-container\"},[(_vm.state.layers.length)?[(_vm.hasLayers)?_c('ul',{staticClass:\"queryresults\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"queryresults\"}},[_vm._l((_vm.state.layers),function(layer,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLayer(layer)),expression:\"showLayer(layer)\"}]},[_c('bar-loader',{attrs:{\"loading\":layer.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"box box-primary\"},[_c('div',{staticClass:\"box-header with-border\",class:{'mobile': _vm.isMobile()},on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":function($event){$event.stopPropagation();return _vm.collapseSidebar($event)}}},[_c('div',{staticClass:\"box-title query-layer-title\",style:({fontSize: _vm.isMobile() && '1em !important'})},[(!layer.external)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.contextmenu.open_attribute_table'),expression:\"'catalog_items.contextmenu.open_attribute_table'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAttributeTable(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('list')})]):_vm._e(),_vm._v(\"\\n \"+_vm._s(layer.title)+\"\\n \"),[(_vm.state.query.pagination)?_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length + ((_vm.state.query.pagination.current[index] - 1) * _vm.getCurrentPagSize(index)))+\" - \"+_vm._s(_vm.state.query.pagination.counts[index])+\")\\n \")]):_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\\n \")])]],2),_vm._v(\" \"),_c('div',{staticClass:\"box-features-action\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('infoformats',{attrs:{\"layer\":layer}}),_vm._v(\" \"),(layer.features.length > 1)?[(layer.hasgeometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'),expression:\"'sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToLayerFeaturesExtent(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('marker')})]):_vm._e(),_vm._v(\" \"),(layer.atlas.length)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.atlas.hint'),expression:\"'sdk.mapcontrols.query.actions.atlas.hint'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.printAtlas(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('print')})]):_vm._e(),_vm._v(\" \"),(1 === _vm.getLayerDownloads(layer.downloads).length )?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:((\"sdk.mapcontrols.query.actions.download_features_\" + (layer.downloads[0]) + \".hint\")),expression:\"`sdk.mapcontrols.query.actions.download_features_${layer.downloads[0]}.hint`\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();_vm.saveLayerResult(layer, _vm.getLayerDownloads(layer.downloads)[0])}}})])]:(_vm.getLayerDownloads(layer.downloads).length > 1)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('Downloads'),expression:\"'Downloads'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayerDownloadFormats(layer)}}})])]:_vm._e()]:_vm._e(),_vm._v(\" \"),(layer.external || (layer.source && 'wms' !== layer.source.type && !_vm.state.query.pagination))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_features_to_results.hint'),expression:\"'sdk.mapcontrols.query.actions.add_features_to_results.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': layer.addfeaturesresults.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayerFeaturesToResults(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('plus-square')})]):_vm._e(),_vm._v(\" \"),(\n layer.toc &&\n layer.id !== '__g3w_marker' &&\n layer.features.length > 1 &&\n (layer.external\n || (\n layer.source\n && layer.source.type !== 'wms'\n && (layer.selection.active || _vm.showInPagination(layer, index))\n )\n )\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_selection.hint'),expression:\"'sdk.mapcontrols.query.actions.add_selection.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.selection.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addToSelection(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('success')})]):_vm._e(),_vm._v(\" \"),(!layer.external && layer.selection.active && _vm.showInPagination(layer, index))?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.filter.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addRemoveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('filter')})]),_vm._v(\" \"),(\n _vm.state.logged\n && layer.filter.active\n && (null === layer.filter.current || layer.selection.active)\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('save')})]):_vm._e()]:_vm._e()],2),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-box-tool\",staticStyle:{\"pointer-events\":\"none\"}},[_c('i',{staticClass:\"btn-collapser skin-color\",class:_vm.g3wtemplate.font['minus']})])]),_vm._v(\" \"),(_vm.state.layeractiontool[layer.id].component)?[_c('div',{staticClass:\"g3w-layer-action-tools with-border\",class:{'mobile': _vm.isMobile()},staticStyle:{\"padding\":\"5px\"}},[_c(_vm.state.layeractiontool[layer.id].component,{tag:\"component\",attrs:{\"layer\":layer,\"config\":_vm.state.layeractiontool[layer.id].config}})],1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'before')),function(ref){\n var component = ref.component;\nreturn _c(component,{tag:\"component\",attrs:{\"layer\":layer}})}),_vm._v(\" \"),(_vm.state.query.pagination && _vm.state.query.pagination.page_sizes[index].length > 1)?_c('section',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.loading),expression:\"layer.loading\"}],attrs:{\"id\":\"g3w-queryresults-pagination\"}},[_c('section',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"id\":\"pagination-pages\"}},[_c('select',{staticClass:\"form-control\",on:{\"change\":function($event){_vm.loadPaginationData(index, 1, Number($event.target.value))}}},_vm._l((_vm.state.query.pagination.page_sizes[index]),function(p){return _c('option',{key:p,domProps:{\"value\":p}},[_vm._v(_vm._s(p))])}),0)]),_vm._v(\" \"),(!layer.loading)?_c('section',{attrs:{\"id\":\"pagination-buttons\"}},[(_vm.state.query.pagination.counts[index] > layer.features.length)?_c('button',{staticClass:\"btn\",attrs:{\"disabled\":1 === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] - 1)}}},[_c('i',{class:_vm.g3wtemplate.font['backward']})]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.features.length === _vm.state.query.pagination.counts[index]),expression:\"layer.features.length === state.query.pagination.counts[index]\"}],staticClass:\"btn\",class:{ 'skin-background-color': 1 === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, 1)}}},[_vm._v(_vm._s(1)+\"\\n \")]),_vm._v(\" \"),(_vm.state.query.pagination.counts[index] > layer.features.length)?[(_vm.state.query.pagination.pages[index] > 4 && _vm.state.query.pagination.current[index] > 2 )?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),_vm._l(((\n (_vm.state.query.pagination.pages[index] < 4 || _vm.state.query.pagination.current[index] < 3)\n ? Array.from(Array(_vm.state.query.pagination.pages[index] - 2).keys()).slice(0, 2).map(function (i) { return i + 2; })\n : (_vm.state.query.pagination.pages[index] - _vm.state.query.pagination.current[index]) > 2\n ? [_vm.state.query.pagination.current[index], _vm.state.query.pagination.current[index] + 1 ]\n : [_vm.state.query.pagination.pages[index] - 2, _vm.state.query.pagination.pages[index] - 1 ]\n )),function(page){return _c('button',{staticClass:\"btn\",class:{ 'skin-background-color': page === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, page)}}},[_vm._v(_vm._s(page)+\"\\n \")])}),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 4 && (_vm.state.query.pagination.current[index] < _vm.state.query.pagination.pages[index] - 2))?_c('span',{staticStyle:{\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 1)?_c('button',{staticClass:\"btn\",class:{ 'skin-background-color': _vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.pages[index])}}},[_vm._v(_vm._s(_vm.state.query.pagination.pages[index])+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"disabled\":_vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] + 1)}}},[_c('i',{class:_vm.g3wtemplate.font['forward']})])]:_vm._e()],2):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[(layer.rawdata)?[_c('div',{staticClass:\"queryresults-text-html\",class:{text: layer.infoformat === 'text/plain'},domProps:{\"innerHTML\":_vm._s(layer.rawdata)}})]:(_vm.hasFormStructure(layer))?[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},[_c('tbody',[_vm._l((layer.features),function(feature,index){return (feature.show)?[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{noAttributes: _vm.attributesSubset(layer).length === 0},staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('tabs',{attrs:{\"fields\":_vm.getQueryFields(layer, feature),\"layerid\":layer.id,\"feature\":feature,\"tabs\":_vm.getLayerFormStructure(layer)}})],1)]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})]:_vm._e()})],2)])]:[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},_vm._l((layer.features),function(feature,index){return (feature.show)?_c('tbody',{key:feature.id},[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{ noAttributes: 0 === _vm.attributesSubset(layer).length },staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('table',{staticClass:\"feature_attributes\"},[_vm._l((layer.attributes.filter(function (attribute) { return attribute.show; })),function(attribute){return [(_vm.isJSON(_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})))?[_vm._l((_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name}).value),function(v,k){\n var _obj;\nreturn _vm._l((('object' === typeof v ? v : ( _obj = {}, _obj[k] = v, _obj ))),function(v2,k2){return _c('tr',{staticStyle:{\"padding-top\":\"10px\",\"padding-bottom\":\"10px\"}},[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label)+\".\"),(('object' === typeof v))?[_vm._v(_vm._s(k)+\".\")]:_vm._e(),_vm._v(_vm._s(k2))],2),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\"},[_vm._v(_vm._s(v2))])])})})]:_c('tr',[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label))]),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\",attrs:{\"attribute\":attribute.name}},[_c('table-attribute-field-value',{attrs:{\"feature\":feature,\"field\":_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})}})],1)])]})],2)])]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":\"getColSpan(layer)\"}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})],2):_c('tbody')}),0)]],2),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'after')),function(ref){\n var component = ref.component;\nreturn _c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer}})],1)})],2)],1)}),_vm._v(\" \"),_vm._l((_vm.state.components),function(component){return _c('li',[_c(component,{tag:\"component\",on:{\"showresults\":function($event){return _vm.showResults()}}})],1)})],2):_vm._e()]:[(_vm.state.changed)?_c('div',{staticClass:\"query-results-not-found\"},[_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.no_results'),expression:\"'info.no_results'\"}],staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}})]):_vm._e()]],2),_vm._v(\" \"),(_vm.state.query)?_c('div',{staticStyle:{\"visibility\":\"hidden\",\"position\":\"sticky\",\"bottom\":\"-8px\",\"background\":\"#eee\",\"padding\":\"8px 0\",\"display\":\"flex\",\"gap\":\"1em\"}},[_c('label',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.$t('query_filter')))]),_vm._v(\" \"),_c('select',{staticStyle:{\"flex\":\"1\"}},[_vm._l((_vm.queryableLayers),function(layer){return _c('option',{domProps:{\"selected\":layer === _vm.selectedLayer}},[_vm._v(_vm._s(layer.getName()))])}),_vm._v(\" \"),_c('option',{domProps:{\"selected\":!_vm.selectedLayer}},[_vm._v(_vm._s(_vm.$t('sdk.mapcontrols.queryby.all')))])],2)]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-09a18998\"\n\n},{\"components/QueryResultsActionInfoFormats.vue\":96,\"components/QueryResultsHeaderFeatureActionsBody.vue\":99,\"components/QueryResultsHeaderFeatureBody.vue\":100,\"components/QueryResultsTableAttributeFieldValue.vue\":101,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/getMapLayersByFilter\":210,\"utils/throttle\":241,\"utils/toRawType\":242,\"vueify/lib/insert-css\":2}],93:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"action\",\n data: function data() {\n return {\n show: true\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n action: {\n type: Object,\n required: true\n }\n },\n methods: {\n clickAction: function () {\n var _ref = _asyncToGenerator(function* (action, layer, feature, featureIndex, event) {\n yield this.trigger(action, layer, feature, featureIndex);\n if (action.hint_change) {\n var element = $(event.target).parent();\n var originalDataTitle = element.attr('data-original-title');\n element.attr('data-original-title', t(action.hint_change.hint));\n element.tooltip('show');\n setTimeout(function () {\n element.attr('data-original-title', originalDataTitle);\n element.tooltip('show');\n }, action.hint_change.duration || 600);\n }\n this.$emit('action-clicked', action);\n });\n\n function clickAction(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n }\n\n return clickAction;\n }()\n },\n created: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (this.action.init) {\n this.action.init({ layer: this.layer, feature: this.feature, index: this.featureIndex, action: this.action });\n }\n if (typeof this.action.condition === 'function') {\n var show = this.action.condition({ layer: this.layer, feature: this.feature });\n this.show = show instanceof Promise ? yield show : show;\n }\n });\n\n function created() {\n return _ref2.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (typeof this.action.clear === 'function') {\n this.action.clear({ layer: this.layer, feature: this.feature });\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show && (undefined === (_vm.action.state || {}).show ? _vm.show : _vm.action.state.show))?_c('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!!(_vm.action.state || {}).disabled),expression:\"!!(action.state || {}).disabled\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.action.hint),expression:\"action.hint\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': (_vm.action.state || {}).toggled && _vm.action.state.toggled[_vm.featureIndex] },on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();},\"click\":function($event){$event.stopPropagation();return _vm.clickAction(_vm.action, _vm.layer, _vm.feature, _vm.featureIndex, $event)}}},[_c('span',{class:(\"action-button-icon \" + (_vm.action.class)),staticStyle:{\"padding\":\"2px\"},style:(_vm.action.style)})]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129}],94:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'choose_layer',\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: {\n icon: 'pencil',\n label: 'Choose a Layer',\n nolayers: 'No layers found',\n layers: [],\n cbk: function cbk() {}\n }\n }\n },\n\n data: function data() {\n return {\n layerId: null\n };\n },\n\n\n computed: {\n has_layers: function has_layers() {\n return this.config.layers && this.config.layers.length > 0;\n }\n },\n\n created: function created() {\n if (this.has_layers) {\n this.layerId = this.config.layers[0].id;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"action-choose-layer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.label),expression:\"config.label\"}]}),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('layerId'),expression:\"'layerId'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false,\"disabled\":!_vm.has_layers}},[_vm._l((_vm.config.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_c('b',[_vm._v(_vm._s(layer.name))])])}),_vm._v(\" \"),(!_vm.has_layers)?_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.nolayers),expression:\"config.nolayers\"}]}):_vm._e()],2),_vm._v(\" \"),(_vm.has_layers)?_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.config.cbk(_vm.layerId, _vm.feature); })($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.config.icon)})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n\n},{}],95:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"downloadformats\",\n\n data: function data() {\n return {\n download_format: this.config.downloads[0].format\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n var _download = this.config.downloads.find(function (action) {\n return action.format === _this.download_format;\n });\n yield _download.cbk(this.layer, this.feature ? this.feature : this.layer.features, _download, this.featureIndex, 'pdf' === _download.format ? document.querySelector(\"[feature-html-content=\\\"\" + this.layer.id + \"_\" + this.featureIndex + \"\\\"]\").innerHTML : null);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function download() {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3w-download-formats-content\",staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('download_format'),expression:\"'download_format'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false}},_vm._l((_vm.config.downloads),function(download){return _c('option',{directives:[{name:\"download\",rawName:\"v-download\"}],key:download.id,domProps:{\"value\":download.format}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(download.format))])])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"download\",rawName:\"v-download\"}],staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.download($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])}\n__vue__options__.staticRenderFns = []\n\n},{}],96:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _parsers = require('utils/parsers');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'Infoformats',\n\n props: {\n layer: {\n type: Object,\n required: true\n }\n },\n\n data: function data() {\n return {\n infoformat: this.layer.infoformat\n };\n },\n\n\n computed: {\n infoformats: function infoformats() {\n return this.layer.infoformats || [];\n },\n hasInfo: function hasInfo() {\n return this.infoformats.length;\n }\n },\n\n methods: {\n reloadLayerDataWithChangedContentType: function () {\n var _ref = _asyncToGenerator(function* (contenttype) {\n this.layer.loading = true;\n\n this.$el.disabled = true;\n try {\n var response = yield this.projectLayer.changeProxyDataAndReloadFromServer('wms', {\n headers: { 'Content-Type': contenttype },\n params: { INFO_FORMAT: contenttype }\n });\n this.layer.infoformat = contenttype;\n this.projectLayer.setInfoFormat(this.layer.infoformat);\n\n var _ResponseParser$get = _parsers.ResponseParser.get(contenttype)({ layers: [this.projectLayer], response: response }),\n _ResponseParser$get2 = _slicedToArray(_ResponseParser$get, 1),\n data = _ResponseParser$get2[0];\n\n if (data.features) {\n this.__parsedata(data);\n } else {\n this.__parserawdata(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.layer.loading = false;\n\n this.$el.disabled = false;\n });\n\n function reloadLayerDataWithChangedContentType(_x) {\n return _ref.apply(this, arguments);\n }\n\n return reloadLayerDataWithChangedContentType;\n }(),\n __parsedata: function __parsedata(data) {\n var _this = this;\n\n var queryService = _gui2.default.getService('queryresults');\n this.layer.rawdata = null;\n\n data.features.forEach(function (feature) {\n var _properties$geometry$ = {\n properties: feature instanceof ol.Feature ? feature.getProperties() : feature.properties,\n geometry: feature instanceof ol.Feature ? feature.getGeometry() : feature.geometry,\n id: feature instanceof ol.Feature ? feature.getId() : feature.id\n },\n fid = _properties$geometry$.id,\n geometry = _properties$geometry$.geometry,\n attributes = _properties$geometry$.properties;\n\n if (0 === _this.layer.attributes.length) {\n _this.layer.hasgeometry = !!geometry;\n\n queryService.setActionsForLayers([_this.layer]);\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(attributes).forEach(function (name) {\n _this.layer.attributes.push({\n name: name,\n label: name,\n show: true\n });\n });\n }\n\n _this.layer.features.push({ id: fid, attributes: attributes, geometry: geometry, show: true });\n });\n },\n __parserawdata: function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n this.layer.features.splice(0);\n yield this.$nextTick();\n this.layer.rawdata = data.rawdata;\n });\n\n function __parserawdata(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return __parserawdata;\n }()\n },\n\n watch: {\n 'infoformat': function infoformat(value) {\n this.reloadLayerDataWithChangedContentType(value);\n }\n },\n\n created: function created() {\n this.projectLayer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.projectLayer) {\n this.projectLayer.clearProxyData('wms');\n }\n this.projectLayer = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasInfo)?_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('infoformat'),expression:\"'infoformat'\"}],staticClass:\"skin-color\",attrs:{\"select2_value\":_vm.infoformat,\"search\":false}},_vm._l((_vm.infoformats),function(infoformat){return _c('option',{key:infoformat,domProps:{\"value\":infoformat}},[_vm._v(\"\\n \"+_vm._s(infoformat)+\"\\n \")])}),0):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"services/gui\":173,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/parsers\":230}],97:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-polygonattributes-types-title[data-v-7fd19c11]{font-weight:700;padding:3px;color:#fff;margin:0 0 5px}.g3w-polygonattributes-types-content[data-v-7fd19c11]{display:flex;justify-content:space-between;padding:3px;border-radius:3px;border:1px solid #f4f4f4}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"queryresults-querypolygonaddattributes\",\n\n props: {\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n data: function data() {\n return {\n type: this.config.choices[0].type\n };\n },\n created: function created() {\n var _this = this;\n\n this.unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n _this.config.choices.forEach(function (c) {\n return $(_this.$refs[c.type]).text(t(c.label));\n });\n $(_this.$refs.g3w_select_feature_featurepolygon).select2().trigger('change');\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unwatch && this.unwatch();\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.mapcontrols.querybypolygon.download.title'),expression:\"'sdk.mapcontrols.querybypolygon.download.title'\"}],staticClass:\"skin-background-color g3w-polygonattributes-types-title\"}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-polygonattributes-types-content\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('type'),expression:\"'type'\"}],ref:\"g3w_select_feature_featurepolygon\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"search\":false}},_vm._l((_vm.config.choices),function(choice){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(choice.label),expression:\"choice.label\"}],key:choice.type,ref:choice.type,refInFor:true,domProps:{\"value\":choice.type}})}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.config.download(_vm.type)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7fd19c11\"\n\n},{\"g3w-i18n\":129,\"store/application\":178,\"vueify/lib/insert-css\":2}],98:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-feature-actions[data-v-ec80a64e]{padding:3px;background-color:rgba(34,45,50,.1)!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsAction = require(\"components/QueryResultsAction.vue\");\n\nvar _QueryResultsAction2 = _interopRequireDefault(_QueryResultsAction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"actions\",\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n actions: {\n type: Array,\n default: []\n },\n colspan: {\n type: Number\n }\n },\n components: {\n action: _QueryResultsAction2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.actions.length)?_c('td',{staticClass:\"g3w-feature-actions\",staticStyle:{\"padding\":\"3px\"},attrs:{\"colspan\":_vm.colspan}},_vm._l((_vm.actions),function(action){return _c('action',_vm._b({key:action.id,attrs:{\"action\":action}},'action',_vm.$props,false))}),1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-ec80a64e\"\n\n},{\"components/QueryResultsAction.vue\":93,\"vueify/lib/insert-css\":2}],99:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-164045ac]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n },\n index: {\n type: Number\n },\n actions: {\n type: Array\n },\n colspan: {\n type: Number\n }\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"featurebox-header\",on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'clearHighlightGeometry'}, _vm.layer, _vm.feature, _vm.index)}}},[_c('actions',{attrs:{\"colspan\":_vm.colspan,\"layer\":_vm.layer,\"featureIndex\":_vm.index,\"trigger\":_vm.trigger,\"feature\":_vm.feature,\"actions\":_vm.actions}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-164045ac\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],100:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-137530c7]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n }\n\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_vm._l((_vm.attributesSubset(_vm.layer)),function(attribute){return _c('td',{staticClass:\"attribute\"},[(_vm.isLink(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('link')}):(_vm.isPhoto(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):(_vm.isImage(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):_c('span',[_vm._v(_vm._s(_vm.feature.attributes[attribute.name]))])])}),_vm._v(\" \"),(!_vm.hasLayerOneFeature(_vm.layer))?_c('td'):_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-137530c7\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],101:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"tableattributefieldvalue\",\n props: {\n field: {\n type: Object\n },\n feature: {\n type: Object\n }\n },\n mixins: [_mixins.fieldsMixin],\n components: {\n 'g3w-link': _FieldLink2.default,\n 'g3w-vue': _FieldVue2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVue(_vm.field))?_c('g3w-vue',{attrs:{\"feature\":_vm.feature,\"state\":_vm.field}}):(_vm.isSimple(_vm.field))?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.field.value)}}):(_vm.isPhoto(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isImage(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isLink(_vm.field))?_c('g3w-link',{attrs:{\"state\":{value: _vm.field.value}}}):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0a32e30e\"\n\n},{\"components/FieldLink.vue\":46,\"components/FieldVue.vue\":49,\"mixins\":166}],102:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".query-relation[data-v-20ddbb22]{margin-top:3px}.query-relation>.header[data-v-20ddbb22]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-20ddbb22]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-20ddbb22]{font-size:1em}.relations-table-tools[data-v-20ddbb22]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-20ddbb22]{padding:5px}.relation-wrapper[data-v-20ddbb22]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-20ddbb22]{font-size:.8em}.header-component[data-v-20ddbb22]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.table-tools[data-v-20ddbb22]{display:flex;justify-content:space-between}.relationtable .table-tools .action-button[data-v-20ddbb22]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-20ddbb22]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-20ddbb22]{background-color:#fff!important}#chart_content[data-v-20ddbb22]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-20ddbb22]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}\\n.relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:transparent!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _mixins = require('mixins');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SIDEBARWIDTH = void 0;\n\nexports.default = {\n name: 'relation',\n\n props: {\n table: {},\n feature: { default: null },\n relation: {},\n previousview: {},\n showChartButton: {},\n cardinality: {}\n },\n\n inject: ['relationnoback'],\n\n mixins: [_mixins.fieldsMixin, _mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n return {\n fields: null,\n chart: false,\n headercomponent: null,\n downloadButton: null,\n downloadLayer: {\n state: null,\n config: {\n downloads: []\n }\n }\n };\n },\n\n\n computed: {\n showTools: function showTools() {\n return [!!this.isEditable, !!this.table.formStructure, !!this.isGeoLayer].filter(Boolean).length;\n },\n showrelationslist: function showrelationslist() {\n return 'relations' === this.previousview && !this.relationnoback;\n },\n one: function one() {\n return 'ONE' === this.relation.type;\n }\n },\n\n methods: {\n zoomToGeometry: function zoomToGeometry(geometry) {\n if (geometry) {\n _gui2.default.getService('map').zoomToGeometry(new ol.geom[geometry.type](geometry.coordinates), { highlight: true });\n }\n },\n createTable: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.table.layerId);\n\n this.isEditable = layer.isEditable() && !layer.isInEditing();\n\n this.isGeoLayer = undefined !== this.table.features.find(function (f) {\n return f.geometry;\n });\n\n var downloadformats = layer.getDownloadableFormats();\n\n if (downloadformats.length > 0) {\n this.downloadButton = {\n toggled: false,\n tooltip: downloadformats.length > 1 ? 'Downloads' : 'sdk.tooltips.download_' + downloadformats[0],\n handler: downloadformats.length > 1 ? _asyncToGenerator(function* () {\n _this.downloadButton.toggled = !_this.downloadButton.toggled;\n _this.downloadLayer.state = _this.downloadLayer.state || layer.state;\n _this.downloadLayer.config.downloads = _this.downloadLayer.config.downloads.length ? _this.downloadLayer.config.downloads : downloadformats.map(function (format) {\n return {\n id: format,\n format: format,\n cbk: function cbk() {\n _this.saveRelation(layer.getDownloadUrl(format));\n _this.headercomponent = null;\n },\n download: true\n };\n });\n _this.headercomponent = _this.downloadButton.toggled ? _QueryResultsActionDownloadFormats2.default : null;\n }) : function () {\n return _this.saveRelation(layer.getDownloadUrl(downloadformats[0]));\n }\n };\n }\n\n _g3wEventbus.VM.$on('reload-relations', function () {\n _this.reloadLayout();\n });\n\n this.showChart = (0, _throttle.throttle)(_asyncToGenerator(function* () {\n _this.chart = !_this.chart;\n yield _this.$nextTick();\n _this.chartContainer = _this.chartContainer || $('#chart_content');\n _this.$emit(_this.chart ? 'show-chart' : 'hide-chart', _this.chartContainer, { relations: [_this.relation], fid: _this.feature.attributes[_g3wConstants.G3W_FID] });\n }));\n\n yield this.$nextTick();\n\n SIDEBARWIDTH = _gui2.default.getSize({ element: 'sidebar', what: 'width' });\n\n this.relation.title = this.relation.name;\n\n if (!this.one) {\n this.relationDataTable = $(this.$refs.relationtable).DataTable({\n autoWidth: false,\n bLengthChange: true,\n dom: 'ltip',\n columnDefs: [this.showTools ? { orderable: false, targets: 0, width: '1%' } : { orderable: true, targets: 0 }],\n order: [this.showTools ? 1 : 0, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollResize: true,\n scrollCollapse: true,\n scrollX: true\n });\n this.tableHeaderHeight = $('.query-relation div.dataTables_scrollHeadInner').height();\n }\n\n _gui2.default.on('pop-content', function () {\n return setTimeout(function () {\n return _this.resize();\n });\n });\n\n this.resize();\n });\n\n function createTable() {\n return _ref.apply(this, arguments);\n }\n\n return createTable;\n }(),\n resize: function () {\n var _ref4 = _asyncToGenerator(function* () {\n if (!this.$refs.query_relation || 'none' === this.$refs.query_relation.parentNode.style.display) {\n return;\n }\n\n var table = $(this.$refs.query_relation).find('div.dataTables_scrollBody');\n table.height($(\".content\").height() - this.tableHeaderHeight - $('.content_breadcrumb').outerHeight() - $('.navbar').outerHeight() - $('.close-panel-block').outerHeight() - $(this.$refs['relation-header']).outerHeight() - $('.dataTables_filter').last().outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_scrollHead').last().outerHeight());\n\n this.reloadLayout();\n });\n\n function resize() {\n return _ref4.apply(this, arguments);\n }\n\n return resize;\n }(),\n saveRelation: function saveRelation(type) {\n this.$emit('save-relation', type);\n this.downloadButton.toggled = false;\n },\n showFormStructureRow: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerid = _ref6.layerid,\n feature = _ref6.feature,\n fields = _ref6.fields,\n tabs = _ref6.tabs;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend({\n data: function data() {\n return {\n layerid: layerid,\n feature: feature,\n fields: fields,\n formStructure: tabs\n };\n },\n\n template: '\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n ',\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.$refs.table.click();\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n }))()\n }),\n push: true,\n showgoback: true,\n closable: false\n });\n });\n\n function showFormStructureRow() {\n return _ref5.apply(this, arguments);\n }\n\n return showFormStructureRow;\n }(),\n editFeature: function editFeature(index) {\n _gui2.default.getService('queryresults').editFeature({\n layer: {\n id: this.table.layerId,\n attributes: this.table.fields\n },\n feature: this.table.features[index]\n });\n },\n getRowFields: function getRowFields(row) {\n var _this2 = this;\n\n return this.table.fields.map(function (field, index) {\n field.value = row[index];\n field.query = true;\n field.input = { type: '' + _this2.getFieldType(field) };\n return field;\n });\n },\n reloadLayout: function reloadLayout() {\n if (this.relationDataTable) {\n this.relationDataTable.columns.adjust();\n }\n },\n back: function back() {\n this.$parent.setRelationsList();\n },\n fieldIs: function fieldIs(type, value) {\n return this.getFieldType(value) === type;\n },\n is: function is(type, value) {\n return this.fieldIs(type, value);\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.getElementById('g3w-view-content').addEventListener('mousemove', this.wrapMoveFnc);\n document.getElementById('g3w-view-content').addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref8 = _asyncToGenerator(function* () {\n document.getElementById('g3w-view-content').removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref8.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n moveFnc: function moveFnc(evt) {\n var sidebarHeaderSize = $('.sidebar-collapse').length ? 0 : SIDEBARWIDTH;\n var size = evt.pageX + 2 - sidebarHeaderSize;\n this.$refs.tablecontent.style.width = size + 'px';\n this.$refs.chartcontent.style.width = $(this.$refs.relationwrapper).width() - size - 10 + 'px';\n }\n },\n\n watch: {\n table: {\n immediate: true,\n handler: function handler(table) {\n if (table && table.rows.length) {\n this.createTable();\n }\n }\n },\n\n chart: function () {\n var _ref9 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function chart() {\n return _ref9.apply(this, arguments);\n }\n\n return chart;\n }(),\n headercomponent: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function headercomponent() {\n return _ref10.apply(this, arguments);\n }\n\n return headercomponent;\n }()\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n beforeDestroy: function () {\n var _ref11 = _asyncToGenerator(function* () {\n if (!this.relationDataTable) {\n return;\n }\n this.relationDataTable.destroy();\n this.relationDataTable = null;\n if (this.chartContainer) {\n this.$emit('hide-chart', this.chartContainer);\n }\n this.chartContainer = null;\n this.tableHeaderHeight = null;\n _gui2.default.off('pop-content', this.resize);\n });\n\n function beforeDestroy() {\n return _ref11.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.table)?_c('div',{ref:\"query_relation\",staticClass:\"query-relation\",class:_vm.isMobile() ? 'mobile' : null},[_c('div',{ref:\"relation-header\",staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"g3w-long-text\"},[(_vm.showrelationslist)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.relations.back_to_relations'),expression:\"'sdk.relations.back_to_relations'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button back-button\",class:_vm.$fa('exit'),on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}}):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"relation-tile skin-color\"},[_vm._v(\" \"+_vm._s(_vm.relation.name)+\" \")])]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{staticClass:\"relations-table-tools\"},[(_vm.downloadButton)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(_vm.downloadButton.tooltip),expression:\"downloadButton.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('download'),\n { 'toggled-white': _vm.downloadButton.toggled } ],on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadButton.handler($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showChartButton)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('sdk.tooltips.show_chart'),expression:\"'sdk.tooltips.show_chart'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('chart'),\n _vm.chart ? 'toggled-white' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.showChart($event)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{ref:\"relationwrapper\",staticClass:\"relation-wrapper\"},[_c('div',{ref:\"tablecontent\",style:({\n width: _vm.chart ? '70%' : '100%',\n marginRight: _vm.chart ? '8px' : '3px',\n position: 'relative',\n }),attrs:{\"id\":\"table_content\"}},[(_vm.headercomponent)?_c('div',{staticClass:\"header-component\"},[_c(_vm.headercomponent,{tag:\"component\",attrs:{\"layer\":_vm.downloadLayer.state,\"config\":_vm.downloadLayer.config}})],1):_vm._e(),_vm._v(\" \"),_c('table',{ref:\"relationtable\",staticClass:\"hover relationtable table table-striped row-border compact nowrap\"},[_c('thead',[_c('tr',{staticStyle:{\"height\":\"0! important\"}},[(_vm.showTools)?_c('th',{style:({\n minWidth: this.showTools * 30 + 'px',\n padding: '0 !important',\n })}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.table.columns),function(column){return _c('th',[_vm._v(_vm._s(column))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.table.rows),function(row,index){return _c('tr',{key:_vm.table.rows_fid[index],class:{\n 'selected': _vm.table.rowFormStructure === row,\n }},[(_vm.showTools)?_c('td',{staticClass:\"table-tools\"},[(_vm.table.features[index].geometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.tooltips.relations.zoomtogeometry'),expression:\"'sdk.tooltips.relations.zoomtogeometry'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('marker'),on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToGeometry(_vm.table.features[index].geometry)}}}):_vm._e(),_vm._v(\" \"),(_vm.table.formStructure)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(\"sdk.tooltips.relations.row_to_form\"),expression:\"`sdk.tooltips.relations.row_to_form`\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();_vm.showFormStructureRow({ layerid: _vm.table.layerId, feature: _vm.table.features[index], fields: _vm.getRowFields(row), tabs: _vm.table.formStructure })}}}):_vm._e(),_vm._v(\" \"),(_vm.isEditable)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('Edit'),expression:\"'Edit'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(index)}}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((row),function(value){return _c('td',[_c('field',{attrs:{\"state\":{value:value}}})],1)})],2)}),0)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],staticClass:\"skin-border-color lighten\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"0 1px 0 1px\"},style:({\n minWidth: '5px',\n backgroundColor: '#dddddd',\n cursor: 'col-resize',\n }),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],ref:\"chartcontent\",style:({ width: _vm.chart ? '30%' : '0' }),attrs:{\"id\":\"chart_content\"}})]):_c('div',{staticClass:\"dataTables_scrollBody\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.no_relations_found'),expression:\"'sdk.relations.no_relations_found'\"}]})])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-20ddbb22\"\n\n},{\"components/FieldG3W.vue\":43,\"components/QueryResultsActionDownloadFormats.vue\":95,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241,\"vueify/lib/insert-css\":2}],103:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'relations',\n\n props: ['relations', 'feature', 'loading'],\n\n methods: {\n showRelation: function () {\n var _ref = _asyncToGenerator(function* (relation) {\n yield this.$parent.showRelation(relation);\n });\n\n function showRelation(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n featureInfo: function featureInfo() {\n return Object.entries(this.feature.attributes).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n value = _ref3[1];\n\n return value && 'string' === typeof value && !value.includes('/');\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n return { key: key, value: value };\n }).slice(0, 3);\n }\n },\n\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (1 === this.relations.length) {\n this.relations[0].noback = true;\n yield this.showRelation(this.relations[0]);\n }\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (1 === this.relations.length) {\n delete this.relations[0].noback;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations\"},[_c('div',{staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"skin-color-dark\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.relations.list_of_relations_feature'),expression:\"'sdk.relations.list_of_relations_feature'\",arg:\"pre\"}],staticStyle:{\"font-size\":\"1.1em\"}}),_vm._v(\" \"),_vm._l((_vm.featureInfo()),function(info){return _c('div',[_vm._v(\" - \"),_c('b',[_vm._v(_vm._s(info.key))]),_vm._v(\": \"+_vm._s(info.value))])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"query-relations-content\"},_vm._l((_vm.relations),function(relation){return _c('div',{staticClass:\"skin-border-color relation-grid-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showRelation(relation)}}},[_c('span',{staticClass:\"skin-color g3w-long-text\"},[_vm._v(_vm._s(relation.name))])])}),0)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-02f56b7e\"\n\n},{\"vueify/lib/insert-css\":2}],104:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Relations = require('components/Relations.vue');\n\nvar _Relations2 = _interopRequireDefault(_Relations);\n\nvar _Relation = require('components/Relation.vue');\n\nvar _Relation2 = _interopRequireDefault(_Relation);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _XHR = require('utils/XHR');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _options = void 0;\n\nfunction _buildRelationTable() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var id = arguments[1];\n\n relations = relations || [];\n var layer = _application2.default.project.getLayerById(id);\n var attrs = Object.keys(relations[0] ? relations[0].attributes : {});\n var cols = layer.getTableHeaders().filter(function (h) {\n return attrs.includes(h.name);\n });\n return {\n columns: cols.map(function (c) {\n return c.label;\n }),\n rows: relations.map(function (r) {\n return cols.map(function (c) {\n return r.attributes[c.name];\n });\n }),\n rows_fid: relations.map(function (r) {\n return r.attributes[_g3wConstants.G3W_FID];\n }),\n features: relations,\n fields: cols.length ? cols : null,\n formStructure: layer.getLayerEditingFormStructure(),\n rowFormStructure: null,\n layerId: layer.getId()\n };\n}\n\nexports.default = {\n name: 'relation-page',\n\n data: function data() {\n var _$options = this.$options,\n _$options$table = _$options.table,\n table = _$options$table === undefined ? null : _$options$table,\n _$options$relation = _$options.relation,\n relation = _$options$relation === undefined ? null : _$options$relation,\n _$options$relations = _$options.relations,\n relations = _$options$relations === undefined ? [] : _$options$relations,\n nmRelation = _$options.nmRelation,\n _$options$feature = _$options.feature,\n feature = _$options$feature === undefined ? null : _$options$feature,\n _$options$currentview = _$options.currentview,\n currentview = _$options$currentview === undefined ? 'relations' : _$options$currentview,\n _$options$chartRelati = _$options.chartRelationIds,\n chartRelationIds = _$options$chartRelati === undefined ? [] : _$options$chartRelati,\n layer = _$options.layer;\n\n return {\n loading: false,\n state: null,\n error: false,\n table: table ? _buildRelationTable(table) : null,\n previousview: currentview,\n showChartButton: false,\n feature: feature,\n currentview: currentview,\n relation: relation,\n relations: relations,\n nmRelation: nmRelation,\n chartRelationIds: chartRelationIds,\n layer: layer\n };\n },\n provide: function provide() {\n return {\n relationnoback: 1 === this.$options.relations.length\n };\n },\n\n components: {\n 'relations': _Relations2.default,\n 'relation': _Relation2.default\n },\n methods: {\n saveRelations: function () {\n var _ref = _asyncToGenerator(function* (type) {\n _application2.default.download = true;\n try {\n yield _XHR.XHR.fileDownload({\n url: (0, _createRelationsUrl.createRelationsUrl)(Object.assign(_options, { type: type })),\n httpMethod: \"GET\"\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: e || 'info.server_error',\n closable: true\n });\n }\n _application2.default.download = false;\n });\n\n function saveRelations(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return saveRelations;\n }(),\n reloadLayout: function reloadLayout() {\n _g3wEventbus.VM.$emit('reload-relations');\n },\n showChart: function showChart(container, relationData) {\n _gui2.default.getService('queryresults').showChart([this.relation.referencingLayer], container, relationData);\n },\n hideChart: function hideChart(container) {\n _gui2.default.getService('queryresults').hideChart(container);\n },\n getRelationsNM: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n nmRelation = _ref3.nmRelation,\n _ref3$features = _ref3.features,\n features = _ref3$features === undefined ? [] : _ref3$features;\n\n var referencedLayer = nmRelation.referencedLayer,\n _nmRelation$fieldRef = nmRelation.fieldRef,\n referencingField = _nmRelation$fieldRef.referencingField,\n referencedField = _nmRelation$fieldRef.referencedField;\n\n var relationsNM = [];\n if (features.length) {\n var values = features.map(function (f) {\n return f.attributes[referencingField];\n });\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer),\n filter: '' + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: referencedField, value: values, logicop: 'OR' }),\n formatter: 1 },\n outputs: null\n }),\n data = _ref4.data;\n\n if (data && data[0] && Array.isArray(data[0].features)) {\n relationsNM = data[0].features.map(function (f) {\n return {\n id: f.getId(),\n geometry: f.getGeometry(),\n attributes: (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(f.getProperties()).reduce(function (accumulator, property) {\n accumulator[property] = f.get(property);\n return accumulator;\n }, {})\n };\n });\n }\n }\n return relationsNM;\n });\n\n function getRelationsNM() {\n return _ref2.apply(this, arguments);\n }\n\n return getRelationsNM;\n }(),\n showRelation: function () {\n var _ref5 = _asyncToGenerator(function* (relation) {\n _gui2.default.setLoadingContent(true);\n this.loading = true;\n this.relation = relation;\n var relationLayerId = relation.referencingLayer;\n try {\n _options = {\n layer: this.$options.layer,\n fid: this.feature.attributes[_g3wConstants.G3W_FID],\n relation: relation\n };\n var response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(_options) });\n var relations = response.result ? (response.vector.data.features || []).map(function (f) {\n f.properties[_g3wConstants.G3W_FID] = f.id;\n return {\n geometry: f.geometry,\n attributes: f.properties,\n id: f.id\n };\n }) : null;\n\n if (this.nmRelation) {\n relationLayerId = this.nmRelation.referencedLayer;\n relations = yield this.getRelationsNM({\n nmRelation: this.nmRelation,\n features: relations\n });\n }\n this.showChartButton = !!this.chartRelationIds.find(function (id) {\n return relationLayerId === id;\n });\n this.table = _buildRelationTable(relations, relationLayerId);\n\n _gui2.default.setCurrentContentOptions({\n title: relation.name,\n crumb: { title: relation.name }\n });\n\n yield this.$nextTick();\n this.previousview = this.currentview;\n this.currentview = 'relation';\n } catch (e) {\n console.warn(e);\n }\n _gui2.default.setLoadingContent(false);\n this.loading = true;\n });\n\n function showRelation(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n setRelationsList: function setRelationsList() {\n this.previousview = 'relation';\n this.currentview = 'relations';\n _gui2.default.setCurrentContentOptions({ crumb: { title: 'info.list_of_relations' } });\n this.loading = false;\n }\n },\n beforeMount: function beforeMount() {\n if ('relation' === this.currentview || 1 === this.relations.length && 'ONE' === this.relations[0].type) {\n this.showRelation(this.relations[0]);\n }\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n this.relations.sort(function (_ref7, _ref8) {\n var relationName1 = _ref7.name;\n var relationName2 = _ref8.name;\n\n if (relationName1 < relationName2) return -1;\n if (relationName1 > relationName2) return 1;\n return 0;\n });\n yield this.$nextTick();\n if (this.error) {\n requestAnimationFrame(function () {\n return _gui2.default.popContent();\n });\n }\n this.error = false;\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n created: function created() {\n this.$on('resize-component', this.reloadLayout);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations-page\"},[_c(_vm.currentview,{ref:_vm.currentview,tag:\"component\",attrs:{\"loading\":_vm.loading,\"previousview\":_vm.previousview,\"showChartButton\":_vm.showChartButton,\"relations\":_vm.relations,\"relation\":_vm.relation,\"nmRelation\":_vm.nmRelation,\"feature\":_vm.feature,\"table\":_vm.table},on:{\"save-relation\":_vm.saveRelations,\"show-chart\":_vm.showChart,\"hide-chart\":_vm.hideChart}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Relation.vue\":102,\"components/Relations.vue\":103,\"g3w-constants\":126,\"g3w-eventbus\":127,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/createSingleFieldParameter\":196,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203}],105:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li.menu-item[data-v-3edc3c4e]{padding-right:20px!important}li.menu-item span[data-v-3edc3c4e]{display:inline-flex;white-space:pre-wrap}.search-action[data-v-3edc3c4e]{text-shadow:0 2px 5px rgba(0,0,0,.3);padding:0 4px}#g3w-search li i[data-v-3edc3c4e]{width:20px}.search-tools[data-v-3edc3c4e]{display:flex;align-items:baseline}.search-tools>span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _Tool = require('components/Tool.vue');\n\nvar _Tool2 = _interopRequireDefault(_Tool);\n\nvar _QueryBuilder = require('components/QueryBuilder.vue');\n\nvar vueComp = _interopRequireWildcard(_QueryBuilder);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'search',\n\n data: function data() {\n return {\n state: this.state || {}\n };\n },\n\n\n components: {\n 'g3w-tool': _Tool2.default\n },\n\n computed: {\n show: function show() {\n return this.state.searches.length + this.state.tools.length + this.state.querybuildersearches.length > 0;\n }\n },\n\n methods: {\n showPanel: function showPanel() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.$options.service.showPanel(config);\n },\n remove: function () {\n var _ref = _asyncToGenerator(function* (search, index) {\n try {\n yield new Promise(function (res, rej) {\n _gui2.default.dialog.confirm(t('sdk.querybuilder.delete'), function (d) {\n return d ? res() : rej();\n });\n });\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var items = item ? JSON.parse(item) : undefined;\n var projectId = _application2.default.project.getId();\n var searches = (items ? items[projectId] || [] : []).filter(function (item) {\n return item.id !== search.id;\n });\n\n if (searches.length) {\n items[projectId] = searches;\n } else {\n delete items[projectId];\n }\n\n try {\n if (Object.keys(items).length) {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(items));\n } else {\n window.localStorage.removeItem('QUERYBUILDERSEARCHES');\n }\n } catch (e) {\n console.warn(e);\n }\n\n this.state.querybuildersearches.splice(index, 1);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function remove(_x2, _x3) {\n return _ref.apply(this, arguments);\n }\n\n return remove;\n }(),\n edit: function edit(search) {\n var opts = {\n id: search.id,\n name: search.name,\n layerId: search.layerId,\n filter: search.filter,\n title: t('sdk.querybuilder.title'),\n show: true\n };\n opts.internalPanel = new (Vue.extend(vueComp))({ options: opts });\n new _g3wPanel2.default(opts);\n },\n run: function () {\n var _ref2 = _asyncToGenerator(function* (search) {\n search.qbloading = true;\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(search.layerId);\n yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: search.filter }),\n feature_count: 100\n },\n outputs: true\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({ type: 'alert', message: 'sdk.querybuilder.error_run', autoclose: true });\n }\n search.qbloading = false;\n });\n\n function run(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return run;\n }()\n },\n\n mounted: function () {\n var _ref3 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('.search-action').tooltip();\n });\n\n function mounted() {\n return _ref3.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('ul',{staticClass:\"treeview-menu g3w-search g3w-tools menu-items\",attrs:{\"id\":\"g3w-search\"}},[_vm._l((_vm.state.searches),function(search){return _c('li',{staticClass:\"menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showPanel(search)}}},[_c('i',{class:_vm.$fa('empty-circle')}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))])])}),_vm._v(\" \"),_vm._l((_vm.state.tools),function(searchtool){return _c('li',[_c('g3w-tool',{attrs:{\"tool\":searchtool}})],1)}),_vm._v(\" \"),_vm._l((_vm.state.querybuildersearches),function(search,i){return _c('li',{key:search.id},[_c('div',{staticStyle:{\"position\":\"relative\"},on:{\"click\":function($event){return _vm.edit(search)}}},[_c('bar-loader',{attrs:{\"loading\":search.qbloading}}),_vm._v(\" \"),_c('div',{staticClass:\"search-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.delete'),expression:\"'sdk.querybuilder.search.delete'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"margin-right\":\"5px\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(search, i)}}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))]),_vm._v(\" \"),_c('div',[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.run'),expression:\"'sdk.querybuilder.search.run'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.run(search)}}})])])],1)])})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3edc3c4e\"\n\n},{\"components/QueryBuilder.vue\":91,\"components/Tool.vue\":110,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],106:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-search-form label[data-v-51de5286]{color:#fff}.g3w-search-form .search-logicop[data-v-51de5286]{width:100%;position:relative;display:flex;justify-content:center;margin-bottom:15px;margin-top:30px;border-bottom:1px solid}.g3w-search-form .search-logicop h4[data-v-51de5286]{font-weight:700;position:absolute;padding:5px;top:-24px;background:#222d32}#dosearch[data-v-51de5286]{color:#fff;font-weight:700;margin-top:15px;background-color:var(--skin-color)}#dosearch[data-v-51de5286]:hover{color:#fff}.search-label[data-v-51de5286]{width:100%;display:flex;justify-content:space-between}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _convertQGISDateTimeFormatToMoment = require('utils/convertQGISDateTimeFormatToMoment');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar SELECTS = [];\n\nexports.default = {\n\n mixins: [_resize2.default],\n\n data: function data() {\n return {\n state: this.$options.service.state,\n autofilter: false,\n allvalue: _g3wConstants.SEARCH_ALLVALUE,\n reload: false\n };\n },\n\n\n computed: {\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n },\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n loading: function loading() {\n return this.state.forminputs.reduce(function (bool, i) {\n return bool || i.loading;\n }, false);\n },\n filterlayers: function filterlayers() {\n return _application2.default.tokens.filtertoken && this.state.search_layers.filter(function (l) {\n return l.getFilterToken();\n }) || [];\n }\n },\n\n methods: {\n clearFilters: function clearFilters() {\n var _this = this;\n\n this.filterlayers.forEach(function (l) {\n if (_this.state.paginate) {\n l.clearSelectionFids();\n } else {\n l.toggleFilterToken();\n }\n });\n },\n resize: function resize() {\n SELECTS.forEach(function (select2) {\n return !_application2.default.ismobile && select2.select2('close');\n });\n },\n getLabelOperator: function getLabelOperator(operator) {\n return '[ ' + _g3wConstants.FILTER_EXPRESSION_OPERATORS[operator] + ' ]';\n },\n onFocus: function () {\n var _ref = _asyncToGenerator(function* (e) {\n if (this.isMobile()) {\n var top = $(e.target).position().top - 10;\n yield this.$nextTick();\n setTimeout(function () {\n return $('.main-sidebar').scrollTop(top);\n }, 500);\n }\n });\n\n function onFocus(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onFocus;\n }(),\n changeInput: function () {\n var _ref2 = _asyncToGenerator(function* (input) {\n var _this2 = this;\n\n var field = input.attribute;\n var deps = this.state.forminputs.filter(function (i) {\n return field === i.dependance;\n });\n var state = this.state;\n var value = input.value;\n\n var is_empty = function is_empty(v) {\n return [_g3wConstants.SEARCH_ALLVALUE, null, undefined].includes(v) || '' === v.toString().trim();\n };\n var has_autocomplete = function has_autocomplete(i) {\n return 'autocompletefield' === i.type;\n };\n\n try {\n this.state.searching = true;\n\n if ('numberfield' === input.type) {\n value = value || 0 === value ? value : null;\n }\n\n if (undefined === value) {\n value = _g3wConstants.SEARCH_ALLVALUE;\n }\n\n if (!['textfield', 'textField'].includes(input.type)) {\n value = value.trim();\n }\n\n input.value = value;\n\n yield Promise.allSettled(deps.map(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n var filter = _getDataForSearchInput.getDataForSearchInput.field({\n state: state,\n field: field,\n fields: [_g3wConstants.SEARCH_ALLVALUE, undefined].includes(value) ? [] : [(0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: input.operator })]\n });\n\n var cached = d.dvalues[filter];\n\n d.value = 'selectfield' === d.type ? _g3wConstants.SEARCH_ALLVALUE : null;\n d.values = Array.from(new Set([].concat(_toConsumableArray(!has_autocomplete(d) && !is_empty(value) ? [d.values[0]] : []), _toConsumableArray(!has_autocomplete(d) && is_empty(value) ? d._values : []), _toConsumableArray(cached || []))));\n\n d.disabled = is_empty(value) ? d.dependance_strict : false;\n\n if (_this2.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this2.changeInput(d);\n }\n\n if (has_autocomplete(d) || is_empty(value) || cached) {\n return;\n }\n\n state.loading[d.attribute] = true;\n\n try {\n var data = yield state.search_layers[0].getFilterData({\n fformatter: d.attribute,\n ordering: d.attribute,\n field: filter\n });\n\n data.data = (data.data || []).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n value = _ref5[0],\n key = _ref5[1];\n\n return { key: key, value: value };\n });\n\n if (!d.dependance_strict && 'selectfield' === d.type) {\n var _d$_values;\n\n (_d$_values = d._values).push.apply(_d$_values, _toConsumableArray(d.values));\n }\n\n if (1 === d.values.length) {\n var _d$values;\n\n (_d$values = d.values).push.apply(_d$values, _toConsumableArray(data.data));\n }\n\n d.dvalues[filter] = d.values.slice(1);\n } catch (e) {\n console.warn(e);\n } finally {\n d.disabled = false;\n _this2.state.loading[d.attribute] = false;\n }\n });\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.searching = false;\n }\n });\n\n function changeInput(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return changeInput;\n }(),\n doSearch: function doSearch(e) {\n e.preventDefault();\n this.$options.service.run();\n },\n initDateTimeField: function () {\n var _ref6 = _asyncToGenerator(function* (input) {\n var _this3 = this;\n\n if ('datetimefield' !== input.type) {\n return;\n }\n\n yield this.$nextTick();\n\n input.options.format.fieldformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.fieldformat);\n input.options.format.displayformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.displayformat);\n\n $(this.$refs['date_' + input.id]).datetimepicker({\n defaultDate: null,\n format: input.options.format.displayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n toolbarPlacement: 'top',\n widgetPositioning: { vertical: 'bottom', horizontal: 'left' },\n showClose: true,\n locale: _application2.default.language || 'en'\n });\n\n $(this.$refs['date_' + input.id]).on(\"dp.change\", function () {\n var newDate = $('#' + input.id).val();\n input.value = newDate.trim() ? moment(newDate, input.options.format.displayformat).format(input.options.format.fieldformat) : null;\n _this3.changeInput(input);\n });\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + input.id).blur();\n });\n }\n });\n\n function initDateTimeField(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return initDateTimeField;\n }(),\n initSelect2Field: function () {\n var _ref7 = _asyncToGenerator(function* (input) {\n var _this4 = this;\n\n if (!['selectfield', 'autocompletefield'].includes(input.type)) {\n return;\n }\n\n yield this.$nextTick();\n\n var numdigaut = input.options.numdigaut;\n var has_autocomplete = 'autocompletefield' === input.type;\n var ajax = has_autocomplete ? {\n delay: 500,\n transport: function () {\n var _ref8 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getDataForSearchInput.getDataForSearchInput)({\n state: _this4.state,\n field: input.attribute,\n suggest: input.attribute + '|' + d.data.q\n })).map(function (d) {\n return { id: d.value, text: d.key };\n })\n });\n } catch (e) {\n ko(e);\n }\n });\n\n function transport(_x6, _x7, _x8) {\n return _ref8.apply(this, arguments);\n }\n\n return transport;\n }()\n } : null;\n\n var select2 = $('#' + input.id).select2({\n ajax: ajax,\n width: '100%',\n dropdownParent: $('.g3w-search-form:visible'),\n minimumInputLength: has_autocomplete && (numdigaut && !Number.isNaN(1 * numdigaut) && 1 * numdigaut > 0 && 1 * numdigaut || 2) || 0,\n allowClear: has_autocomplete,\n placeholder: has_autocomplete ? '' : null,\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n\n SELECTS.push(select2);\n\n select2.on('select2:select select2:unselecting', function (e) {\n if ('select2:select' === e.type || has_autocomplete) {\n input.value = e.params.data ? '' + e.params.data.id : _g3wConstants.SEARCH_ALLVALUE;\n _this4.changeInput(input);\n }\n });\n\n this.$watch(function () {\n return input.value;\n }, function () {\n var _ref9 = _asyncToGenerator(function* (value, oldVal) {\n if (value !== oldVal && _g3wConstants.SEARCH_ALLVALUE === value) {\n select2.val(value).trigger('change');\n }\n });\n\n return function (_x9, _x10) {\n return _ref9.apply(this, arguments);\n };\n }());\n\n var unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n unwatch();\n _this4.clearSelect2();\n _this4.initSelect2Field(input);\n });\n\n select2.val(input.value).trigger('change');\n });\n\n function initSelect2Field(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return initSelect2Field;\n }(),\n clearSelect2: function clearSelect2() {\n SELECTS.forEach(function (select2) {\n select2.select2('destroy');\n select2.off();\n select2 = null;\n });\n\n SELECTS.splice(0);\n },\n reloadSelect2Inputs: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n if (this.reload) {\n return;\n }\n\n this.reload = true;\n\n yield this.$nextTick();\n\n try {\n yield this.$options.service.setInputs();\n } catch (e) {\n console.warn(e);\n }\n\n this.clearSelect2();\n try {\n yield Promise.allSettled(this.state.forminputs.map(function (input) {\n return _this5.initSelect2Field(input);\n }));\n } catch (e) {\n console.warn(e);\n }\n\n this.reload = false;\n });\n\n function reloadSelect2Inputs() {\n return _ref10.apply(this, arguments);\n }\n\n return reloadSelect2Inputs;\n }()\n },\n watch: {\n autofilter: function autofilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.autofilter.value = Number(bool);\n }\n },\n\n created: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.on('filtertokenchange', _this6.reloadSelect2Inputs);\n });\n });\n\n function created() {\n return _ref11.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n yield Promise.allSettled([this.$nextTick(), this.state.mounted]);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.state.forminputs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var input = _step.value;\n\n yield this.initSelect2Field(input);\n yield this.initDateTimeField(input);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n var _this7 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.off('filtertokenchange', _this7.reloadSelect2Inputs);\n });\n this.clearSelect2();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.searching || _vm.loading || _vm.reload),expression:\"state.searching || loading || reload\"}],staticClass:\"g3w-search-panel form-group\"},[_c('bar-loader',{attrs:{\"loading\":_vm.state.searching || _vm.loading || _vm.reload}}),_vm._v(\" \"),_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),(_vm.filterlayers.length > 0)?_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"g3w-search-filter-layers\"}},[_c('helpdiv',{attrs:{\"message\":\"sdk.search.help_filter\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.nofilter'),expression:\"'layer_selection_filter.tools.nofilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"btn skin-border-color\",staticStyle:{\"background-color\":\"transparent\",\"margin\":\"5px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearFilters($event)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('clear')})])],1):_vm._e(),_vm._v(\" \"),_vm._t(\"tools\"),_vm._v(\" \"),_vm._t(\"form\",[_c('form',{staticClass:\" g3w-search-form\"},[_vm._l((_vm.state.forminputs),function(input){return _c('div',{key:input.id,staticClass:\"form-group\"},[('numberfield' === input.type || ('textfield' === input.type && 'Range' === input.widget_type))?_c('div',{staticClass:\"numeric\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\",\"min\":\"0\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"change\":function($event){return _vm.changeInput(input)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)},function($event){return _vm.changeInput(input)}]}})]):(['textfield', 'textField'].includes(input.type))?_c('div',{staticClass:\"form-item-search text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"focus\":_vm.onFocus,\"change\":function($event){return _vm.changeInput(input)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)}}})]):(['selectfield', 'autocompletefield'].includes(input.type))?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || input.loading || input.disabled),expression:\"state.loading[input.dependance] || input.loading || input.disabled\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),(input.dependance)?_c('bar-loader',{attrs:{\"loading\":_vm.state.loading[input.dependance] || input.loading}}):_vm._e(),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(input.disabled || input.loading),expression:\"input.disabled || input.loading\"}],staticClass:\"form-control\",attrs:{\"name\":input.attribute,\"id\":input.id}},_vm._l((input.values),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[(_vm.allvalue === opt.value)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.all'),expression:\"'sdk.search.all'\"}]}):_c('span',[_vm._v(_vm._s(opt.key))])])}),0)],1):('datetimefield' === input.type)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || false),expression:\"state.loading[input.dependance] || false\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('div',{ref:'date_' + input.id,refInFor:true,staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"id\":input.id,\"type\":\"text\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon skin-color\"},[_c('span',{class:_vm.$fa(input.options.format.time ? 'time': 'calendar')})])])]):_vm._e(),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(input.options.description))]),_vm._v(\" \"),(_vm.is_staff)?_c('details',{staticStyle:{\"cursor\":\"pointer\",\"user-select\":\"none\",\"margin-top\":\".5em\"}},[_vm._m(0,true),_vm._v(\" \"),_c('sub',[(input.options.description)?_c('br'):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.type))]),_vm._v(\" | \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.widget_type))]),_vm._v(\" \"),(input.options.value)?[_vm._v(\": { key: \\\"\"+_vm._s(input.options.key)+\"\\\", value: \\\"\"+_vm._s(input.options.value)+\" }\\\"\")]:_vm._e(),_vm._v(\" \"),(input.options.layer_id)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"layer_id:\")]),_vm._v(\" \\\"\"+_vm._s(input.options.layer_id)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"depends_on:\")]),_vm._v(\" \\\"\"+_vm._s(input.dependance)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"strict:\")]),_vm._v(\" \"+_vm._s(input.dependance_strict))]:_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(input.logicop)?_c('div',{staticClass:\"search-logicop skin-border-color\"},[_c('h4',[_vm._v(_vm._s(input.logicop))])]):_vm._e()])}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.autofilter),expression:\"autofilter\"}],staticClass:\"magic-checkbox\",attrs:{\"id\":\"g3w-search-filter\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.autofilter)?_vm._i(_vm.autofilter,null)>-1:(_vm.autofilter)},on:{\"change\":function($event){var $$a=_vm.autofilter,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.autofilter=$$a.concat([$$v]))}else{$$i>-1&&(_vm.autofilter=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.autofilter=$$c}}}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.autofilter'),expression:\"'sdk.search.autofilter'\"}],attrs:{\"for\":\"g3w-search-filter\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('dosearch'),expression:\"'dosearch'\"}],staticClass:\"sidebar-button-run btn btn-block pull-right\",attrs:{\"id\":\"dosearch\",\"data-i18n\":\"dosearch\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.doSearch($event)}}})])],2)]),_vm._v(\" \"),_vm._t(\"footer\"),_vm._v(\" \"),(_vm.layers_url)?_c('div',{staticStyle:{\"padding-top\":\"5em\"}},[_c('b',[_c('a',{attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_vm._v(\"Edit in admin\")])])]):_vm._e()],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('summary',{staticStyle:{\"text-align\":\"center\"}},[_c('code',{staticStyle:{\"border\":\"1px solid currentColor\",\"color\":\"var(--skin-color)\",\"background-color\":\"transparent\"}},[_vm._v(\"🐞 \"),_c('b',[_vm._v(\"DEBUG\")])])])}]\n__vue__options__._scopeId = \"data-v-51de5286\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"store/application\":178,\"utils/convertQGISDateTimeFormatToMoment\":187,\"utils/createSingleFieldParameter\":196,\"utils/getDataForSearchInput\":205,\"vueify/lib/insert-css\":2}],107:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"SidebarItem\",\n data: function data() {\n var component = this.$options.component;\n\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component: component,\n active: false,\n title: component.title || '',\n open: !!component.state.open,\n icon: component.icon,\n iconColor: component.iconColor,\n collapsible: false !== component.collapsible,\n actions: component.actions,\n sidebar: _application2.default.gui.sidebar\n };\n },\n\n methods: {\n triggerAction: function triggerAction(action, component) {\n action.fnc(component);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var opts = this.$options.opts || {};\n var sidebar = document.getElementById('g3w-sidebarcomponents');\n\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n } else {\n Array.from(sidebar.children).forEach(function (child, i) {\n if (i === opts.position || child.id === opts.position) {\n child.insertAdjacentElement(!!opts.before || undefined === opts.before ? 'beforebegin' : 'afterend', _this.$el);\n }\n });\n }\n\n this.component.mount(this.$refs['component-placeholder']);\n\n this.component.click = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$open = _ref.open,\n open = _ref$open === undefined ? false : _ref$open;\n\n if (open) {\n _application2.default.sidebar.components.forEach(function (comp) {\n if (comp !== _this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n var node = _this.component.getInternalComponent().$el;\n\n node.classList.toggle('menu-open', open);\n\n node.parentNode.classList.toggle('active', open);\n\n _this.component.setOpen(open);\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.component.state.visible),expression:\"component.state.visible\"},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.component.state.disabled),expression:\"component.state.disabled\"}],staticClass:\"treeview sidebaritem\",class:{'active': _vm.open },attrs:{\"id\":_vm.component.id}},[_c('bar-loader',{attrs:{\"loading\":_vm.component.state.loading}}),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebar.open ? '' : _vm.title),expression:\"sidebar.open ? '' : title\",arg:\"right\",modifiers:{\"create\":true}}],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"current-tooltip\":_vm.sidebar.open ? '' : _vm.title}},[_c('div',[(!_vm.sidebar.open)?_c('span',[_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })})]):_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticClass:\"treeview-label\"})]),_vm._v(\" \"),_c('div',[(_vm.info.state)?_c('span',{class:_vm.info.class,staticStyle:{\"position\":\"absolute\",\"right\":\"5px\",\"font-weight\":\"bold\"},style:(_vm.info.style),attrs:{\"title\":_vm.info.tooltip}},[_vm._v(_vm._s(_vm.info.state))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.actions),function(action){return _c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(action.tooltip),expression:\"action.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],key:action.id,staticClass:\"action skin-tooltip-left\",class:action.class,staticStyle:{\"font-weight\":\"bold\",\"padding\":\"3px\"},style:(action.style),on:{\"click\":function($event){$event.stopPropagation();return _vm.triggerAction(action, _vm.component.internalComponent)}}})})],2),_vm._v(\" \"),(_vm.collapsible)?_c('i',{staticClass:\"pull-right\",class:_vm.$fa('angle-left')}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"component-placeholder\"})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"store/application\":178}],108:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".content-bookmarks{font-weight:700;color:#fff;padding:5px;border-bottom:1px solid #fff;margin-bottom:2px}.spatial-bookmark{display:flex;align-items:baseline;justify-content:space-between;padding:5px!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _InputText = require('components/InputText.vue');\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id);\nvar SPATIAL_BOOKMARKS_LOCALITEMS = item ? JSON.parse(item) : undefined;\n\nexports.default = {\n name: 'spatial-bookmarks',\n\n components: {\n InputText: _InputText2.default\n },\n\n data: function data() {\n var project = _application2.default.project;\n\n if (undefined === SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]) {\n SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()] = [];\n }\n\n return {\n showaddform: false,\n\n project: {\n bookmarks: project.state.bookmarks || []\n },\n\n user: {\n bookmarks: SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]\n },\n\n addbookmarkinput: {\n name: 'add-bookmark',\n label: t('sdk.spatialbookmarks.input.name'),\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n validate: { valid: false, required: true }\n }\n };\n },\n\n\n computed: {\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n addBookMark: function addBookMark() {\n this.user.bookmarks.push({\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n name: this.addbookmarkinput.value,\n extent: _gui2.default.getService('map').getMapExtent(),\n removable: true,\n crs: { epsg: 1 * _gui2.default.getService('map').getCrs().split('EPSG:')[1] }\n });\n\n this.saveUserBookMarks();\n this.showaddform = false;\n },\n removeBookMark: function removeBookMark(id) {\n this.user.bookmarks = this.user.bookmarks.filter(function (b) {\n return id !== b.id;\n });\n this.saveUserBookMarks();\n },\n saveUserBookMarks: function saveUserBookMarks() {\n SPATIAL_BOOKMARKS_LOCALITEMS[_application2.default.project.getId()] = this.user.bookmarks;\n try {\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id, JSON.stringify(SPATIAL_BOOKMARKS_LOCALITEMS));\n } catch (e) {\n console.warn(e);\n }\n },\n showAddForm: function showAddForm() {\n this.addbookmarkinput.value = null;\n this.showaddform = true;\n },\n gotoSpatialBookmark: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var extent = _ref.extent,\n crs = _ref.crs;\n\n if (crs.epsg !== _gui2.default.getService('map').getEpsg().split('EPSG:')[1]) {\n var projection = yield _projections2.default.registerProjection('EPSG:' + crs.epsg);\n extent = ol.proj.transformExtent(extent, projection, _gui2.default.getService('map').getProjection());\n }\n\n _gui2.default.getService('map').zoomToExtent(extent, { force: true });\n });\n\n function gotoSpatialBookmark(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return gotoSpatialBookmark;\n }()\n },\n\n watch: {\n showaddform: function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (bool) {\n yield this.$nextTick();\n\n for (var i = 0; i < this.$refs.add_bookmark_input.$el.children.length; i++) {\n this.$refs.add_bookmark_input.$el.children[i].classList.remove('col-sm-12');\n }\n }\n });\n\n function showaddform(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return showaddform;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.$on('close', function () {\n return _this.showaddform = false;\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu g3w-spatial-bookmarks menu-items\",class:{'g3w-tools': !_vm.showaddform},attrs:{\"id\":\"g3w-spatial-bookmarks\"}},[(_vm.showaddform)?_c('li',[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"5px\",\"margin\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showaddform = false}}})]),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.spatialbookmarks.helptext\"}}),_vm._v(\" \"),_c('div',{staticClass:\"container add-bookmark-input\",staticStyle:{\"padding\":\"5px\",\"width\":\"100%\"}},[_c('input-text',{ref:\"add_bookmark_input\",attrs:{\"state\":_vm.addbookmarkinput}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.addbookmarkinput.validate.valid),expression:\"!addbookmarkinput.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.addBookMark($event)}}})])],1):[(_vm.is_staff)?_c('div',{staticClass:\"content-bookmarks\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.project.title'),expression:\"'sdk.spatialbookmarks.sections.project.title'\"}]}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/user_manual/map_views/map_view.html#bookmarking-extents-on-the-map\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')})])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.project.bookmarks),function(bookmark){return [(bookmark.nodes)?_c('li',[_c('div',{staticStyle:{\"font-weight\":\"bold\",\"width\":\"100%\"},style:({ borderBottom: bookmark.expanded ? '2px solid #2c3b41' : 'none' }),on:{\"click\":function($event){$event.stopPropagation();bookmark.expanded = !bookmark.expanded}}},[_c('span',{class:_vm.$fa(bookmark.expanded ? 'caret-down' : 'caret-right'),staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(bookmark.expanded),expression:\"bookmark.expanded\"}],staticStyle:{\"margin-left\":\"10px\"}},_vm._l((bookmark.nodes),function(node){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(node)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(node.name))])])])}),0)]):_c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])])])]}),_vm._v(\" \"),_c('div',{staticClass:\"content-bookmarks\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.user.title'),expression:\"'sdk.spatialbookmarks.sections.user.title'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"padding\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showAddForm($event)}}})]),_vm._v(\" \"),_vm._l((_vm.user.bookmarks),function(bookmark){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('span',{staticClass:\"sidebar-button sidebar-button-icon\",staticStyle:{\"color\":\"red\",\"margin\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeBookMark(bookmark.id)}}},[_c('i',{class:_vm.$fa('trash')})])])})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputText.vue\":77,\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],109:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#open_attribute_table{margin-top:5px}#g3w-table-toolbar{margin:.755em 1ch 0 0;position:relative;bottom:3px;display:inline-flex;border:1px solid #d2d6de;background-color:#fff;float:left}\\n.geometry[data-v-b4d834d0]{cursor:pointer}#noheaders[data-v-b4d834d0]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-b4d834d0]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-b4d834d0]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-b4d834d0]{padding:5px}#g3w-table-toolbar .action-button[data-v-b4d834d0]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-b4d834d0]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-b4d834d0]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\\n#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _mixins = require('mixins');\n\nvar _debounce = require('utils/debounce');\n\nvar _coordinatesToGeometry = require('utils/coordinatesToGeometry');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nfunction _createFeatureForSelection(f) {\n return {\n id: f.id,\n feature: {\n attributes: f.attributes || f.properties,\n geometry: f.geometry ? (0, _coordinatesToGeometry.coordinatesToGeometry)(f.geometry.type, f.geometry.coordinates) : f.geometry\n }\n };\n}\n\nexports.default = {\n\n name: \"G3WTable\",\n\n mixins: [_mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.$options.layerId);\n\n return {\n layer: layer,\n state: {\n features: [],\n headers: [null].concat(_toConsumableArray(layer.getTableHeaders())),\n geometry: true,\n allfeatures: 0,\n selectAll: false,\n nofilteredrow: false,\n show_tools: false,\n geolayer: {\n active: false,\n in_bbox: undefined\n }\n },\n\n relations: (layer.isGeoLayer() ? [] : layer.getRelations().getArray()).map(function (relation) {\n return [relation, (0, _getCatalogLayerById.getCatalogLayerById)(relation.getFather())];\n }).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n relation = _ref2[0],\n father = _ref2[1];\n\n return layer.getId() !== relation.getFather() && father.isGeoLayer();\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n relation = _ref4[0],\n father = _ref4[1];\n\n return {\n layer: father,\n father_fields: relation.getFatherField(),\n fields: relation.getChildField(),\n features: {}\n };\n }),\n filter: [],\n has_map: true,\n async_highlight: function async_highlight() {},\n getAll: false,\n search: {},\n firstCall: true,\n map_bbox: { key: null, cb: null },\n disableSelectAll: false\n };\n },\n\n\n computed: {\n has_features: function has_features() {\n return !!this.state.features.length;\n },\n current_layout: function current_layout() {\n return _application2.default.gui.layout[_application2.default.gui.layout.__current];\n }\n },\n\n methods: {\n toggleFilterToken: function toggleFilterToken(layer) {\n if (layer.state.filter.active && !layer.selectionFids.has('__ALL__')) {\n this.state.selectAll = false;\n this.selectAllRows();\n }\n layer.toggleFilterToken();\n },\n editFeature: function editFeature(feature) {\n $('.tooltip').remove();\n _gui2.default.getService('queryresults').editFeature({ layer: { id: this.layer.getId() }, feature: feature });\n },\n openForm: function () {\n var _ref5 = _asyncToGenerator(function* (feature) {\n $('.tooltip').remove();\n try {\n yield (0, _promisify.promisify)(_data2.default.getData('search:fids', {\n inputs: {\n layer: this.layer,\n fids: [feature.id],\n formatter: 1\n }\n }));\n\n if (feature.geometry) {\n _gui2.default.getService('map').zoomToGeometry((0, _coordinatesToGeometry.coordinatesToGeometry)(feature.geometry.type, feature.geometry.coordinates));\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function openForm(_x) {\n return _ref5.apply(this, arguments);\n }\n\n return openForm;\n }(),\n get_check_id: function get_check_id(cache) {\n if (cache) {\n this.get_check_id.cached_id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n return this.get_check_id.cached_id;\n },\n getDataFromBBOX: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n this.state.geolayer.active = !this.state.geolayer.active;\n\n var is_active = this.state.geolayer.active;\n\n if (is_active) {\n this.map_bbox.cb = function () {\n _this.state.geolayer.in_bbox = _this.state.geolayer.active ? map.getMapBBOX().join(',') : undefined;\n $(_this.$refs.attribute_table).DataTable().ajax.reload();\n };\n }\n\n if (is_active) {\n this.map_bbox.key = map.getMap().on('moveend', this.map_bbox.cb);\n }\n\n if (this.map_bbox.cb) {\n this.map_bbox.cb();\n }\n\n if (!is_active) {\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n }\n });\n\n function getDataFromBBOX() {\n return _ref6.apply(this, arguments);\n }\n\n return getDataFromBBOX;\n }(),\n checkSelectAll: function checkSelectAll() {\n this.state.selectAll = this.layer.getSelectionFids().has(_g3wConstants.SELECTION.ALL) || this.state.features.every(function (f) {\n return f.selected;\n });\n },\n inverseSelection: function () {\n var _ref7 = _asyncToGenerator(function* () {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = !f.selected;\n });\n this.layer.invertSelectionFids();\n\n this.checkSelectAll();\n });\n\n function inverseSelection() {\n return _ref7.apply(this, arguments);\n }\n\n return inverseSelection;\n }(),\n selectAllRows: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.state.selectAll = !this.state.selectAll;\n\n var filter = this.filter.length > 0;\n\n if (!filter) {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = _this2.state.selectAll;\n });\n yield this.layer[this.state.selectAll ? 'setSelectionFidsAll' : 'clearSelectionFids']();\n }\n\n if (filter) {\n if (this.state.selectAll) {\n this.state.features.filter(function (f) {\n return _this2.filter.includes(f.id);\n }).forEach(function (f) {\n f.selected = true;\n _this2.layer.includeSelectionFid(f.id);\n });\n } else {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.layer.clearSelectionFids();\n }\n }\n\n this.state.show_tools = this.state.features.some(function (f) {\n return f.selected;\n });\n });\n\n function selectAllRows() {\n return _ref8.apply(this, arguments);\n }\n\n return selectAllRows;\n }(),\n highlight: function () {\n var _ref9 = _asyncToGenerator(function* (feature) {\n var _this3 = this;\n\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var map = _gui2.default.getService('map');\n\n if (!feature || !feature.geometry) {\n return map.clearHighlightGeometry();\n }\n\n this.async_highlight = function () {\n map.clearHighlightGeometry();\n map.highlightGeometry(feature.geometry, { zoom: zoom, duration: Infinity });\n };\n\n if (feature.geometry && this.has_map) {\n return this.async_highlight();\n }\n\n if (feature.geometry || !feature.geometry && !this.relations.length > 0) {\n return;\n }\n\n var features = [];\n var field_values = [];\n\n (yield Promise.allSettled(this.relations.flatMap(function (_ref10) {\n var layer = _ref10.layer,\n father_fields = _ref10.father_fields,\n fields = _ref10.fields;\n\n var values = fields.map(function (f) {\n return feature.attributes[f];\n });\n field_values.push(values);\n return zoom ? _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n formatter: 1,\n filter: father_fields.map(function (field, i) {\n return field + '|eq|' + encodeURIComponent(values[i]);\n }).join('|AND,')\n },\n outputs: false }) : [];\n }))).forEach(function (response, index) {\n if ('fulfilled' === response.status) {\n var relation = _this3.relations[index];\n var k = field_values[index].join('__');\n var data = response.value && response.value.data[0];\n if (undefined === relation.features[k]) {\n relation.features[k] = data && data.features || [];\n }\n features.push.apply(features, _toConsumableArray(relation.features[k]));\n }\n if (zoom) {\n map.zoomToFeatures(features, { highlight: true });\n } else {\n map.highlightFeatures(features);\n }\n });\n });\n\n function highlight(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return highlight;\n }(),\n select: function select(feature) {\n feature.selected = !feature.selected;\n\n this.state.selectAll = this.state.features.every(function (f) {\n return f.selected;\n });\n\n this.layer[feature.selected ? 'includeSelectionFid' : 'excludeSelectionFid'](feature.id);\n\n this.state.show_tools = this.layer.getSelectionFids().size > 0;\n },\n resize: function () {\n var _ref11 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n var table = this.$el.querySelector('div.dataTables_scrollBody');\n if (table) {\n table.style.height = _gui2.default.isMobile() ? '100%' : ((document.querySelector('.content') || {}).clientHeight || 0) - ((this.$el.querySelector('div.dataTables_scrollHeadInner') || {}).clientHeight || 0) - 100 + 'px';\n }\n\n $(this.$refs.attribute_table).DataTable().columns.adjust();\n });\n\n function resize() {\n return _ref11.apply(this, arguments);\n }\n\n return resize;\n }(),\n getFeatures: function () {\n var _ref12 = _asyncToGenerator(function* (params) {\n var _this4 = this;\n\n try {\n _gui2.default.setLoadingContent(true);\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(params || {}));\n var is_valid = this.layer.isGeoLayer() && data.features;\n\n if (is_valid && !params) {\n var loaded_features = this.state.features.map(function (f) {\n return f.id;\n });\n data.features.filter(function (f) {\n return f.geometry && !loaded_features.includes(f.id);\n }).forEach(function (f) {\n return _this4.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n });\n this.getAll = true;\n }\n\n if (is_valid) {\n return data.features;\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject();\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getFeatures(_x4) {\n return _ref12.apply(this, arguments);\n }\n\n return getFeatures;\n }(),\n getData: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$start = _ref14.start,\n start = _ref14$start === undefined ? 0 : _ref14$start,\n _ref14$order = _ref14.order,\n order = _ref14$order === undefined ? [] : _ref14$order,\n _ref14$length = _ref14.length,\n length = _ref14$length === undefined ? this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1] : _ref14$length,\n _ref14$columns = _ref14.columns,\n columns = _ref14$columns === undefined ? [] : _ref14$columns,\n _ref14$search = _ref14.search,\n search = _ref14$search === undefined ? { value: null } : _ref14$search;\n\n _gui2.default.setLoadingContent(true);\n\n this.layer.setAttributeTablePageLength(length);\n\n if (0 === this.state.headers.length) {\n return {\n data: [],\n recordsTotal: 0,\n recordsFiltered: 0\n };\n }\n\n this.state.features.splice(0);\n\n if (0 === order.length) {\n order.push({ column: 1, dir: 'asc' });\n }\n\n this.search = {\n field: columns.filter(function (c) {\n return c.search && c.search.value;\n }).map(function (c) {\n return c.name + '|ilike|' + c.search.value + '|and';\n }).join(',') || undefined,\n page: start === 0 || this.layer.state.filter.active ? 1 : start / length + 1,\n page_size: length,\n search: search.value && search.value.length > 0 ? search.value : null,\n in_bbox: this.state.geolayer.in_bbox,\n ordering: ('asc' === order[0].dir ? '' : '-') + this.state.headers[order[0].column].name,\n formatter: 1\n };\n\n try {\n var _state$features;\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(this.search));\n\n this.state.allfeatures = data.count;\n this.state.featurescount = (data.features || []).length;\n\n (_state$features = this.state.features).push.apply(_state$features, _toConsumableArray((data.features || []).map(function (f) {\n if (_this5.layer.isGeoLayer() && f.geometry && !_this5.layer.getOlSelectionFeature(f.id)) {\n _this5.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n }\n return {\n id: f.id,\n selected: _this5.layer.getFilterToken() || _this5.layer.hasSelectionFid(f.id),\n attributes: f.attributes || f.properties,\n geometry: _this5.layer.isGeoLayer() && f.geometry || undefined\n };\n })));\n\n this.state.show_tools = this.layer.state.filter.active || this.layer.getSelectionFids().size > 0;\n this.state.selectAll = this.layer.state.filter.active || this.state.features.every(function (f) {\n return f.selected;\n });\n return {\n data: this.state.features.map(function (f) {\n return [null].concat(_this5.state.headers.filter(function (h) {\n return h;\n }).map(function (h) {\n h.value = (f.attributes || f.properties)[h.name];return h.value;\n }));\n }),\n recordsFiltered: data.count,\n recordsTotal: data.count,\n filter: this.state.features.map(function (f) {\n return f.id;\n })\n\n };\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(t(\"info.server_error\"));\n return Promise.reject(e);\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getData() {\n return _ref13.apply(this, arguments);\n }\n\n return getData;\n }(),\n unSelectAll: function unSelectAll() {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.state.show_tools = false;\n this.state.selectAll = false;\n },\n onGUIContent: function onGUIContent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.has_map = 100 !== opts.perc;\n },\n filterChangeHandler: function filterChangeHandler() {\n $(this.$refs.attribute_table).DataTable().ajax.reload();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.unSelectAll = this.unSelectAll.bind(this);\n\n this.onGUIContent = this.onGUIContent.bind(this);\n\n _gui2.default.onbefore('setContent', this.onGUIContent);\n this.layer.on('unselectionall', this.unSelectAll);\n this.layer.on('filtertokenchange', this.filterChangeHandler);\n\n _gui2.default.closeSideBar();\n this.current_layout.rightpanel.height = 55;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n id: 'openattributetable',\n service: { state: this.state },\n internalComponent: this\n }),\n\n split: _gui2.default.isMobile() ? 'h' : 'v',\n push: false,\n title: this.layer.getTitle(),\n text: true });\n\n if (this.isMobile()) {\n _gui2.default.hideSidebar();\n }\n });\n\n function created() {\n return _ref15.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.last_map_control = _gui2.default.getService('map').getMapControls().find(function (c) {\n return c.control.isToggled && c.control.isToggled();\n });\n if (this.last_map_control) {\n this.last_map_control.control.toggle();\n }\n this.setContentKey = _gui2.default.onafter('setContent', this.resize);\n\n yield this.$nextTick();\n\n var pResolve = void 0;\n\n var filterColumns = {};\n\n var table = $(this.$refs.attribute_table).DataTable({\n ajax: (0, _debounce.debounce)(function () {\n var _ref17 = _asyncToGenerator(function* (opts, cb) {\n try {\n _gui2.default.disableContent(true);\n var data = yield _this6.getData(opts);\n cb(data);\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n if (pResolve) {\n pResolve(data.filter);\n }\n yield _this6.$nextTick();\n table.columns.adjust();\n } catch (e) {\n console.warn(e);\n }\n\n _gui2.default.disableContent(false);\n });\n\n return function (_x7, _x8) {\n return _ref17.apply(this, arguments);\n };\n }(), 800),\n bSortCellsTop: true,\n columns: this.state.headers,\n columnDefs: [{ orderable: false, searchable: false, targets: 0, width: '1%' }],\n deferLoading: this.state.allfeatures,\n dom: 'frt<\"#g3w-table-toolbar\">lip',\n lengthMenu: _g3wConstants.PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1],\n processing: false,\n responsive: true,\n scrollCollapse: true,\n scrollX: true,\n serverSide: true,\n sSearch: false\n });\n\n this.changeColumn = (0, _debounce.debounce)(function () {\n var _ref18 = _asyncToGenerator(function* (e, i) {\n var value = e.target.value.trim();\n table.one('draw', _asyncToGenerator(function* () {\n filterColumns[i] = value;\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n _this6.filter = Object.values(filterColumns).find(function (f) {\n return f;\n }) ? yield new Promise(function (resolve) {\n return pResolve = resolve;\n }) : [];\n }));\n table.columns(i).search(value).draw();\n });\n\n return function (_x9, _x10) {\n return _ref18.apply(this, arguments);\n };\n }());\n\n var fragment = document.createDocumentFragment();\n fragment.appendChild(this.$refs.table_toolbar);\n document.getElementById('g3w-table-toolbar').appendChild(fragment);\n\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_info'));\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_filter'));\n\n document.getElementById('table_body_attributes').remove();\n\n table.ajax.reload();\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n if (this.last_map_control && !this.last_map_control.control.isToggled()) {\n this.last_map_control.control.toggle();\n }\n\n this.last_map_control = null;\n\n this.layer.off('unselectionall', this.unSelectAll);\n this.layer.off('filtertokenchange', this.filterChangeHandler);\n\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n\n this.highlight();\n\n if (!this.has_map) {\n setTimeout(function () {\n _this7.async_highlight();\n _this7.has_map = true;\n _this7.async_highlight = function () {};\n });\n }\n\n _gui2.default.un('setContent', this.setContentKey);\n\n document.querySelector('#g3w-view-content .dataTables_info').remove();\n document.querySelector('#g3w-view-content .dataTables_filter').remove();\n $(this.$refs.attribute_table).DataTable().destroy(true);\n });\n\n function beforeDestroy() {\n return _ref20.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"open_attribute_table\"}},[_c('div',{ref:\"table_toolbar\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"1px\"}},[(_vm.layer.isGeoLayer())?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.geolayer.active && _vm.current_layout.rightpanel.height_100),expression:\"state.geolayer.active && current_layout.rightpanel.height_100\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.show_features_on_map'),expression:\"'layer_selection_filter.tools.show_features_on_map'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('map'), _vm.state.geolayer.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.getDataFromBBOX($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:_vm.$fa('clear'),attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.clearSelectionFids()}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.invert'),expression:\"'layer_selection_filter.tools.invert'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('invert'), _vm.layer.state.filter.active ? 'g3w-disabled': '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.inverseSelection($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('filter'), _vm.layer.state.filter.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFilterToken(_vm.layer)}}})]),_vm._v(\" \"),(_vm.state.headers.length)?_c('table',{ref:\"attribute_table\",staticClass:\"table table-striped row-border compact nowrap\",attrs:{\"id\":\"layer_attribute_table\"}},[_c('thead',[_c('tr',[_c('th'),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_vm._v(_vm._s(header.label))]):_vm._e()})],2),_vm._v(\" \"),_c('tr',[_c('th',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disableSelectAll),expression:\"disableSelectAll\"}]},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"attribute_table_select_all_rows\"},domProps:{\"checked\":_vm.state.selectAll}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"attribute_table_select_all_rows\"},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.selectAllRows($event)}}},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_c('input',{staticClass:\"form-control column-search\",attrs:{\"type\":\"text\",\"placeholder\":header.name,\"title\":'search by ' + header.name},on:{\"keyup\":function($event){return _vm.changeColumn($event, i)}}})]):_vm._e()})],2)]),_vm._v(\" \"),_c('tbody',{attrs:{\"id\":\"table_body_attributes\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('tbody',{ref:\"table_body\",on:{\"mouseleave\":function($event){return _vm.highlight()}}},_vm._l((_vm.state.features),function(feature,i){return _c('tr',{key:feature.id,class:[\n i % 2 == 1 ? 'odd' : 'pair',\n 'feature_attribute',\n { geometry: !!feature.geometry },\n { 'selected': feature.selected }\n ],attrs:{\"role\":\"row\"},on:{\"mouseover\":function($event){return _vm.highlight(feature, false)},\"click\":function($event){$event.stopPropagation();return _vm.highlight(feature, true)}}},[_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.get_check_id(true)},domProps:{\"checked\":feature.selected}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.get_check_id(false)},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.select(feature)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.relations.row_to_form'),expression:\"'sdk.tooltips.relations.row_to_form'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();return _vm.openForm(feature)}}}),_vm._v(\" \"),(_vm.layer.state.geolayer && !feature.geometry)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('no_geometry'),expression:\"'no_geometry'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button ' + _vm.$fa('alert'),staticStyle:{\"color\":\"currentColor !important\"}}):_vm._e(),_vm._v(\" \"),(_vm.layer.isEditable() && _vm.layer.config.editing.visible)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.editing'),expression:\"'sdk.tooltips.editing'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature)}}}):_vm._e()])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,j){return (j > 0)?_c('td',[_c('field',{attrs:{\"feature\":feature,\"state\":({ label: undefined, value: feature.attributes[header.name] })}})],1):_vm._e()})],2)}),0)]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('dataTable.no_data'),expression:\"'dataTable.no_data'\"}],attrs:{\"id\":\"noheaders\"}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b4d834d0\"\n\n},{\"components/FieldG3W.vue\":43,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins\":166,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/coordinatesToGeometry\":189,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],110:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tool_disabled[data-v-31811884]{cursor:not-allowed}.tool_disabled>span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-tool\",\n props: ['tool'],\n methods: {\n showToolStateMessage: function showToolStateMessage() {\n _gui2.default.showModalDialog({ title: this.tool.state.type.toUpperCase(), message: this.tool.state.message });\n }\n },\n computed: {\n disabled: function disabled() {\n return !this.tool.offline && !_application2.default.online || this.tool.loading || this.tool.disabled;\n },\n sidebarOpen: function sidebarOpen() {\n return _application2.default.gui.sidebar.open;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[('checkbox' === _vm.tool.type)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tool.isCheck),expression:\"tool.isCheck\"}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":_vm.tool.layerName,\"type\":\"checkbox\"},domProps:{\"value\":_vm.tool.layerName,\"checked\":Array.isArray(_vm.tool.isCheck)?_vm._i(_vm.tool.isCheck,_vm.tool.layerName)>-1:(_vm.tool.isCheck)},on:{\"click\":function($event){return _vm.tool.action(_vm.tool)},\"change\":function($event){var $$a=_vm.tool.isCheck,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.tool.layerName,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tool, \"isCheck\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tool, \"isCheck\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tool, \"isCheck\", $$c)}}}}),_vm._v(\"\\n \"+_vm._s(_vm.tool.name)+\"\\n \")])]):_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name),expression:\"sidebarOpen ? null : tool.html ? tool.html.text || tool.name : tool.name\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"tool\",class:{ tool_disabled: _vm.disabled },staticStyle:{\"position\":\"relative\"},attrs:{\"current-tooltip\":_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name},on:{\"click\":function($event){!_vm.disabled ? _vm.tool.action(_vm.tool) : null}}},[_c('bar-loader',{attrs:{\"loading\":_vm.tool.loading}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.tool.icon || 'caret-right')}),_vm._v(\" \"),(_vm.tool.html)?_c('span',{staticClass:\"tool-label\"},[_c('i',{class:_vm.tool.html.icon}),_vm._v(\"\\n \"+_vm._s(_vm.tool.html.text || _vm.tool.name)+\"\\n \")]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.tool.name),expression:\"tool.name\"}],staticClass:\"tool-label\"}),_vm._v(\" \"),(_vm.tool.state.type)?_c('span',{staticClass:\"tool_type\",style:({ color: ({ alert: 'red', info: 'blue', warning: 'orange'})[_vm.tool.state.type] }),on:{\"click\":function($event){$event.stopPropagation();return _vm.showToolStateMessage($event)}}},[_c('i',{class:_vm.$fa(_vm.tool.state.type)})]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-31811884\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],111:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".usermessage-content[data-v-57c4f706]{color:#fff;z-index:1000;position:absolute;line-height:normal;padding:3px;min-width:250px;box-shadow:0 3px 5px rgba(0,0,0,.3);border-radius:0 0 3px 3px}.usermessage-tool[data-v-57c4f706]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-57c4f706]{padding:0;min-width:100%}.usermessage-header-content[data-v-57c4f706]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-57c4f706]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-57c4f706]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-57c4f706],.usermessage-header-title h4[data-v-57c4f706]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-57c4f706]{margin:0}.usermessage-header-subtitle[data-v-57c4f706]{font-weight:700;margin:5px}.usermessage-header-right[data-v-57c4f706]{padding:5px}.usermessage-header-right-item[data-v-57c4f706]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-57c4f706]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction dragElement(el) {\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (el.style.marginLeft) {\n x2 -= parseInt(el.style.marginLeft);el.style.marginLeft = null;\n }\n if (el.style.marginTop) {\n y2 -= parseInt(el.style.marginTop);el.style.marginTop = null;\n }\n el.style.top = el.offsetTop - y2 + \"px\";\n el.style.left = el.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: \"usermessage\",\n props: {\n id: {},\n type: {\n type: String,\n default: \"info\" },\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n position: {\n type: String,\n default: \"top\"\n },\n size: {\n type: String,\n default: \"fullpage\"\n },\n message: {\n type: String,\n default: ''\n },\n textMessage: {\n type: Boolean,\n default: false\n },\n autoclose: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n duration: {\n type: Number,\n default: 2000\n },\n closable: {\n type: Boolean,\n default: true\n },\n\n iconClass: {\n type: String,\n default: null\n }\n },\n data: function data() {\n var _position$split = this.position.split('-'),\n _position$split2 = _slicedToArray(_position$split, 2),\n where = _position$split2[0],\n alignement = _position$split2[1];\n\n return {\n style: _extends({}, 'center' === where ? { top: 0, bottom: 0, maxHeight: '20%' } : _defineProperty({}, where, 50), {\n 'center': { left: 0, right: 0, margin: 'auto' },\n 'right': { right: 0 }\n }[alignement] || {}, {\n width: {\n 'small': '325px',\n 'medium': '50%',\n 'fullpage': '100%'\n }[alignement ? 'small' : this.size] || '100%'\n }, {\n success: { backgroundColor: \"#62ac62\", color: \"#FFF\" },\n info: { backgroundColor: \"#44a0bb\", color: \"#FFF\" },\n warning: { backgroundColor: \"#f29e1d\", color: \"#FFF\" },\n alert: { backgroundColor: \"#c34943\", color: \"#FFF\" },\n tool: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n \"z-index\": 100,\n marginLeft: document.body.classList.contains('sidebar-collapse') ? '5px' : '40px'\n },\n loading: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n fontWeight: \"bold\"\n }\n }[this.type])\n };\n },\n\n computed: {\n showheader: function showheader() {\n return 'loading' !== this.type;\n }\n },\n methods: {\n addClassMobile: function addClassMobile() {\n return this.isMobile() && !_gui2.default.isSidebarVisible();\n },\n closeUserMessage: function closeUserMessage() {\n this.$emit('close-usermessage');\n },\n hideShow: function hideShow() {}\n },\n created: function created() {\n this.observe = null;\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n if ('tool' === this.type) {\n dragElement(this.$refs.user_message);\n this.observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n _this.style.marginLeft = mutation.target.classList.contains('sidebar-collapse') ? '5px' : '40px';\n }\n });\n });\n this.observer.observe(document.body, { attributes: true });\n }\n if (this.autoclose) {\n yield this.$nextTick();\n var timeout = setTimeout(function () {\n _this.closeUserMessage();\n clearTimeout(timeout);\n }, this.duration);\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"user_message\",staticClass:\"usermessage-content\",class:( _obj = {'mobile': _vm.addClassMobile()}, _obj['usermessage-' + _vm.type] = true, _obj ),style:(_vm.style),attrs:{\"id\":_vm.id}},[(_vm.showheader)?_c('div',{staticClass:\"usermessage-header-content\"},[_c('i',{staticClass:\"usermessage-header-icontype\",class:_vm.$fa(_vm.iconClass || _vm.type)}),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-title\"},[_vm._t(\"header\",[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}]}):_c('h4',[_vm._v(\" \"+_vm._s(_vm.type.toUpperCase()))]),_vm._v(\" \"),(_vm.subtitle)?_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.subtitle),expression:\"subtitle\"}],staticClass:\"usermessage-header-subtitle\"}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-right\"},[(!_vm.autoclose && _vm.closable)?_c('div',{on:{\"click\":_vm.closeUserMessage}},[_c('i',{staticClass:\"usermessage-header-right-item\",class:_vm.$fa('close')})]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"body\",[(_vm.textMessage)?_c('div',{staticClass:\"usermessage-message\"},[_vm._v(_vm._s(_vm.message))]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"usermessage-message\"})]),_vm._v(\" \"),_vm._t(\"footer\")],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-57c4f706\"\n\n},{\"services/gui\":173,\"vueify/lib/insert-css\":2}],112:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormService = exports.FormComponent = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Form = require('components/Form.vue');\n\nvar vueComp = _interopRequireWildcard(_Form);\n\nvar _FormBody = require('components/FormBody.vue');\n\nvar _FormBody2 = _interopRequireDefault(_FormBody);\n\nvar _getDefaultExpression = require('utils/getDefaultExpression');\n\nvar _getFilterExpression = require('utils/getFilterExpression');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/form/vue/form.js@v3.9.3 \n * \n * Used by the following plugins: \"editing\", \"cadastre\", \"geonotes\", \"iternet\" \n */\nvar FormComponent = exports.FormComponent = function (_Component) {\n _inherits(FormComponent, _Component);\n\n function FormComponent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormComponent);\n\n // set element of the form\n var _this = _possibleConstructorReturn(this, (FormComponent.__proto__ || Object.getPrototypeOf(FormComponent)).call(this, _extends({}, opts, {\n id: opts.id || 'form',\n perc: null !== opts.layer.getFormPercentage() ? opts.layer.getFormPercentage() : opts.perc,\n service: new (opts.service || FormService)(),\n vueComponentObject: opts.vueComponentObject || vueComp\n })));\n\n var components = opts.components || [{\n id: opts.id,\n title: opts.title,\n name: opts.name,\n root: true,\n component: _FormBody2.default,\n headerComponent: opts.headerComponent\n }];\n\n _this.getService().addComponents(components);\n _this.getService().setComponent(components[0].component);\n\n _this.onafter('mount', function () {\n return _gui2.default.setModal(true);\n });\n return _this;\n }\n\n _createClass(FormComponent, [{\n key: 'addFormComponents',\n value: function addFormComponents() {\n var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.getService().addComponents(c);\n }\n }, {\n key: 'addFormComponent',\n value: function addFormComponent(c) {\n c && this.getService().addComponent(c);\n }\n }, {\n key: 'layout',\n value: function layout() {\n this.getInternalComponent().reloadLayout();\n }\n\n /** @TODO check if superflous */\n\n }, {\n key: 'mount',\n value: function mount(parent, append) {\n return _get(FormComponent.prototype.__proto__ || Object.getPrototypeOf(FormComponent.prototype), 'mount', this).call(this, parent, append).then(function () {\n _gui2.default.setModal(true);\n });\n }\n }]);\n\n return FormComponent;\n}(_g3wComponent2.default);\n\n/**\n * @file ORIGINAL SOURCE: src/app/gui/form/formservice.js@v3.10.2\n * @since 3.11.0\n */\n\n\nvar FormService = exports.FormService = function (_G3WObject) {\n _inherits(FormService, _G3WObject);\n\n function FormService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormService);\n\n var _this2 = _possibleConstructorReturn(this, (FormService.__proto__ || Object.getPrototypeOf(FormService)).call(this, opts));\n\n _this2.state = null;\n\n _this2.eventBus = new Vue();\n\n _this2.eventBus.$on('set-loading-form', function () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return _this2.state.loading = bool;\n });\n\n /**\n * Whether to force some state property to have a certain value.\n * (e.g., set on a child to parent form service relation)\n *\n * @type {{ valid: boolean, update: boolean }}\n */\n _this2.force = {\n update: false,\n valid: false // NOT USED FOR THE MOMENT\n };\n\n _this2.layer;\n\n _this2.setters = {\n setInitForm: function setInitForm() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n },\n setFormStructure: function setFormStructure(formStructure) {\n this.state.formstructure = formStructure;\n },\n setFormFields: function setFormFields() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.fields = fields;\n this.handleFieldsWithExpression(fields);\n },\n setupFields: function setupFields() {},\n setFormData: function setFormData() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setFormFields(fields);\n },\n setField: function setField(field) {},\n setState: function setState(state) {\n this._setState(state);\n },\n addActionsForForm: function addActionsForForm(actions) {},\n postRender: function postRender(element) {\n // hook for listener to chenge DOM\n }\n };\n\n return _this2;\n }\n\n _createClass(FormService, [{\n key: 'init',\n value: function init() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n }\n\n /**\n * Init form options passed, for example, by editor\n */\n\n }, {\n key: '_setInitForm',\n value: function _setInitForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fields = options.fields,\n feature = options.feature,\n parentData = options.parentData,\n layer = options.layer,\n _options$title = options.title,\n title = _options$title === undefined ? 'Form' : _options$title,\n formId = options.formId,\n name = options.name,\n _options$buttons = options.buttons,\n buttons = _options$buttons === undefined ? {} : _options$buttons,\n context_inputs = options.context_inputs,\n isnew = options.isnew,\n _options$footer = options.footer,\n footer = _options$footer === undefined ? {} : _options$footer,\n headerComponent = options.headerComponent;\n\n\n this.layer = layer;\n\n /**\n * Cloned feature\n */\n this.feature = feature.clone();\n\n this.title = title;\n\n this.formId = formId;\n\n this.name = name;\n\n this.buttons = buttons;\n\n this.context_inputs = context_inputs;\n\n this.parentData = parentData;\n\n this.headerComponent = headerComponent;\n\n /**\n * Force update state of the service\n * (e.g., setted on a child to parent form service relation)\n */\n this.state = {\n layerid: layer.getId(),\n loading: false,\n components: [],\n disabledcomponents: [],\n component: null,\n headers: [],\n currentheaderid: null,\n fields: null,\n buttons: this.buttons,\n disabled: false,\n isnew: isnew,\n valid: true, // global form validation state. True at beginning\n update: feature.isNew(), // set update in case or not is a new feature\n // when input change will be updated\n tovalidate: {},\n feature: this.feature, //need to get feature cloned\n componentstovalidate: {},\n footer: footer,\n ready: false\n };\n\n this.force.update = feature.isNew();\n\n /**\n * Expression fields dependencies from filter_expression\n */\n this.filter_expression_fields_dependencies = {}; //\n\n /**\n * Expression fields dependencies from default_expression\n */\n this.default_expression_fields_dependencies = {};\n\n /**\n * @since 3.8.0\n */\n this.default_expression_fields_on_update = [];\n\n /**\n * Wheter to listen for changes when `saveDefaultExpressionFieldsNotDependencies` is called\n *\n * @since 3.8.0\n */\n this.listenChangeInput = true;\n\n this.setFormFields(fields);\n\n if (this.layer && options.formStructure) {\n this.setFormStructure(this.layer.getLayerEditingFormStructure());\n }\n }\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.ready = bool;\n }\n }, {\n key: 'changeInput',\n\n\n /**\n * Called when an input change value\n *\n * @param input\n */\n value: function changeInput(input) {\n //need to set property\n this.feature.set(input.name, input.value);\n if (true === this.listenChangeInput) {\n this.evaluateFilterExpressionFields(input);\n this.evaluateDefaultExpressionFields(input);\n this.isValid(input);\n this.isUpdated(input);\n }\n }\n }, {\n key: 'isUpdated',\n\n\n /**\n * Check if the form is updated base on change on input\n *\n * @param input\n */\n value: function isUpdated(input) {\n this.state.update = this.force.update || (!this.state.update ? input.update : !!this.state.fields.find(function (f) {\n return f.update;\n }));\n }\n }, {\n key: 'setUpdate',\n\n\n /**\n *\n */\n value: function setUpdate() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$force = options.force,\n force = _options$force === undefined ? false : _options$force;\n\n this.force.update = force;\n this.state.update = this.force.update || bool;\n if (false === this.state.update) {\n // set original `field._value` equal to current value to get changes\n this.state.fields.forEach(function (f) {\n return f._value = f.value;\n });\n }\n }\n }, {\n key: 'evaluateDefaultExpressionFields',\n\n\n /**\n * Evaluate filter expression\n *\n * @param input\n */\n value: function evaluateDefaultExpressionFields() {\n var _this3 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.default_expression_fields_dependencies[input.name];\n if (filter) {\n filter.forEach(function (dependency_field) {\n (0, _getDefaultExpression.getDefaultExpression)({\n parentData: _this3.parentData,\n qgs_layer_id: _this3.layer.getId(),\n field: _this3._getField(dependency_field),\n feature: _this3.feature\n });\n });\n }\n }\n }, {\n key: 'evaluateFilterExpressionFields',\n\n\n /**\n * Evaluate filter expression fields\n *\n * @param input\n */\n value: function evaluateFilterExpressionFields() {\n var _this4 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.filter_expression_fields_dependencies[input.name];\n if (filter) {\n // on form service inititalization `filter_expression` option has\n // `referencing_fields` or `referenced_columns` from another layer\n filter.forEach(function (dependency_field) {\n (0, _getFilterExpression.getFilterExpression)({\n parentData: _this4.parentData,\n qgs_layer_id: _this4.layer.getId(),\n field: _this4._getField(dependency_field),\n feature: _this4.feature\n });\n });\n }\n }\n }, {\n key: '_handleFieldWithFilterExpression',\n\n\n /**\n * Handle a field that has a `filter_expression` value object\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithFilterExpression(field, filter_expression) {\n var _this5 = this;\n\n if (!filter_expression) {\n return;\n }\n\n var _filter_expression$re = filter_expression.referencing_fields,\n referencing_fields = _filter_expression$re === undefined ? [] : _filter_expression$re,\n _filter_expression$re2 = filter_expression.referenced_columns,\n referenced_columns = _filter_expression$re2 === undefined ? [] : _filter_expression$re2;\n\n\n var dependency_fields = new Set();\n\n // TODO: add description\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this5.filter_expression_fields_dependencies[f]) {\n _this5.filter_expression_fields_dependencies[f] = [];\n }\n _this5.filter_expression_fields_dependencies[f].push(field.name);\n });\n\n // Call input service if a field has a `filter_expression` every time we open a form\n (0, _getFilterExpression.getFilterExpression)({\n parentData: this.parentData,\n qgs_layer_id: this.layer.getId(),\n feature: this.feature,\n field: field\n });\n }\n }, {\n key: '_handleFieldWithDefaultExpression',\n\n\n /**\n * Handle a field that has a `default_value` object and check if `apply_on_update` only\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithDefaultExpression(field, default_expression) {\n var _this6 = this;\n\n if (default_expression) {\n var _default_expression$r = default_expression.referencing_fields,\n referencing_fields = _default_expression$r === undefined ? [] : _default_expression$r,\n _default_expression$r2 = default_expression.referenced_columns,\n referenced_columns = _default_expression$r2 === undefined ? [] : _default_expression$r2,\n _default_expression$a = default_expression.apply_on_update,\n apply_on_update = _default_expression$a === undefined ? false : _default_expression$a;\n\n // Skip if not apply_on_update (listen dependency change only for new Feature)\n\n if (!apply_on_update && !this.state.isnew) {\n return;\n }\n\n var dependency_fields = new Set();\n\n // Get array of dependency fields on default expression if exist\n // add each of it in a Set (unique array items)\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n // Only in apply update listen changeInput\n if (apply_on_update) {\n\n this.default_expression_fields_on_update.push(field);\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this6.default_expression_fields_dependencies[f]) {\n _this6.default_expression_fields_dependencies[f] = [];\n }\n _this6.default_expression_fields_dependencies[f].push(field.name);\n });\n }\n\n // Call input service if a field has a default_expression and is a new feature\n if (this.state.isnew) {\n (0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: this.feature,\n qgs_layer_id: this.layer.getId(),\n parentData: this.parentData\n });\n }\n }\n }\n }, {\n key: 'handleFieldsWithExpression',\n\n\n /**\n * Handle fields with associated expression\n *\n * @param {Array} [fields = []]\n */\n value: function handleFieldsWithExpression() {\n var _this7 = this;\n\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // TODO: add description\n fields.forEach(function (field) {\n var _field$input$options = field.input.options,\n options = _field$input$options === undefined ? {} : _field$input$options;\n\n _this7._handleFieldWithFilterExpression(field, options.filter_expression);\n _this7._handleFieldWithDefaultExpression(field, options.default_expression);\n });\n // start to evaluate filter expression field\n Object.keys(this.filter_expression_fields_dependencies).forEach(function (name) {\n return _this7.evaluateFilterExpressionFields({ name: name });\n });\n }\n }, {\n key: 'setCurrentFormPercentage',\n value: function setCurrentFormPercentage(perc) {\n this.layer.setFormPercentage(perc);\n }\n }, {\n key: 'setLoading',\n value: function setLoading() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.loading = bool;\n }\n }, {\n key: 'setValidComponent',\n value: function setValidComponent(_ref) {\n var id = _ref.id,\n valid = _ref.valid;\n\n this.state.componentstovalidate[id] = valid;\n this.isValid();\n }\n }, {\n key: 'getValidComponent',\n value: function getValidComponent(id) {\n return this.state.componentstovalidate[id];\n }\n }, {\n key: 'isValid',\n\n\n /**\n * Every input sends to form its valid value that will change the general state of form\n */\n value: function isValid(input) {\n var _this8 = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually && !input.validate.required && !input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this8.state.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n }\n if (input.validate.mutually && !input.validate.required && input.validate.empty) {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n // count not empty input_name\n var filled = [];\n for (var i = input.validate.mutually.length; i--;) {\n var input_name = input.validate.mutually[i];\n\n if (!this.state.tovalidate[input_name].validate.empty) {\n filled.push(input_name);\n }\n }\n if (filled.length < 2) {\n filled.forEach(function (input_name) {\n _this8.state.tovalidate[input_name].validate.mutually_valid = true;\n _this8.state.tovalidate[input_name].validate.valid = true;\n setTimeout(function () {\n _this8.state.tovalidate[input_name].validate.valid = _this8.state.tovalidate[input_name].validate._valid;\n _this8.state.valid = _this8.state.valid && _this8.state.tovalidate[input_name].validate.valid;\n });\n });\n }\n }\n // check if min_field or max_field is set\n if (!input.validate.mutually && !input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var _input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.state.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.state.tovalidate[input.validate.min_field].value : this.state.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.state.tovalidate[input.validate.max_field].value;\n\n if (input.validate.valid) {\n this.state.tovalidate[_input_name].validate.valid = true;\n }\n }\n }\n this.state.valid = Object.values(this.state.tovalidate).reduce(function (previous, input) {\n return previous && input.validate.valid;\n }, true) && Object.values(this.state.componentstovalidate).reduce(function (previous, valid) {\n return previous && valid;\n }, true);\n }\n }, {\n key: 'addComponents',\n value: function addComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n\n this.addComponent(component);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addComponent',\n value: function addComponent(component) {\n if (!component) {\n return;\n }\n var id = component.id,\n title = component.title,\n name = component.name,\n icon = component.icon,\n valid = component.valid,\n headerComponent = component.headerComponent,\n _component$header = component.header,\n header = _component$header === undefined ? true : _component$header;\n\n if (undefined !== valid) {\n this.state.componentstovalidate[id] = valid;\n this.state.valid = this.state.valid && valid;\n this.eventBus.$emit('add-component-validate', {\n id: id,\n valid: valid\n });\n }\n // Set a component that can be part of headers (tabs or not)\n if (header) {\n this.state.headers.push({ title: title, name: name, id: id, icon: icon, component: headerComponent });\n this.state.currentheaderid = this.state.currentheaderid || id;\n }\n\n this.state.components.push(component);\n }\n }, {\n key: 'replaceComponent',\n value: function replaceComponent() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n component = _ref2.component;\n\n this.state.components.splice(this.state.components.findIndex(function (c) {\n return id === c.id;\n }), 1, component);\n }\n }, {\n key: 'disableComponent',\n value: function disableComponent() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n disabled = _ref3.disabled;\n\n if (disabled) {\n this.state.disabledcomponents.push(id);\n } else {\n this.state.disabledcomponents = this.state.disabledcomponents.filter(function (disableId) {\n return id !== disableId;\n });\n }\n }\n }, {\n key: 'setCurrentComponentById',\n value: function setCurrentComponentById(id) {\n if (!this.state.disabledcomponents.includes(id)) {\n this.setIdHeader(id);\n this.state.component = this.state.components.find(function (c) {\n return id === c.id;\n }).component;\n return this.state.component;\n }\n }\n }, {\n key: 'setRootComponent',\n\n\n /**\n * setRootComponent (is form)\n */\n value: function setRootComponent() {\n this.state.component = this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'getRootComponent',\n value: function getRootComponent() {\n return this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'isRootComponent',\n value: function isRootComponent(component) {\n return component === this.getRootComponent();\n }\n }, {\n key: 'getComponentById',\n value: function getComponentById(id) {\n return this.state.components.find(function (c) {\n return id === c.id;\n });\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n this.state.component = component;\n }\n }, {\n key: 'addedComponentTo',\n value: function addedComponentTo() {\n var formcomponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';\n\n this.state.addedcomponentto[formcomponent] = true;\n }\n }, {\n key: 'addToValidate',\n value: function addToValidate(input) {\n this.state.tovalidate[input.name] = input;\n // check if is mounted on form gui an otherwise leave form component to run is Valid when form is mounted on dom\n if (this.state.ready) {\n this.isValid(input);\n }\n }\n }, {\n key: 'removeToValidate',\n value: function removeToValidate(input) {\n delete this.state.tovalidate[input.name];\n this.isValid();\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: '_setState',\n value: function _setState(state) {\n this.state = state;\n }\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.state.fields;\n }\n }, {\n key: '_getField',\n value: function _getField(name) {\n return this.state.fields.find(function (f) {\n return name === f.name;\n });\n }\n }, {\n key: 'getEventBus',\n value: function getEventBus() {\n return this.eventBus;\n }\n }, {\n key: 'setIdHeader',\n value: function setIdHeader(id) {\n this.state.currentheaderid = id;\n }\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context_inputs.context;\n }\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this.context_inputs.inputs;\n }\n }, {\n key: 'handleRelation',\n\n\n /**\n * handleRelation\n */\n\n value: function handleRelation(_ref4) {\n //OVERWRITE BY PLUGIN EDITING PLUGIN\n\n var relationId = _ref4.relationId,\n feature = _ref4.feature;\n }\n }, {\n key: 'clearAll',\n\n\n /**\n * Clear all the open things opened by service\n */\n value: function clearAll() {\n this.eventBus.$off('addtovalidate');\n this.eventBus.$off('set-main-component');\n this.eventBus.$off('set-loading-form');\n this.eventBus.$off('component-validation');\n this.eventBus.$off('disable-component');\n }\n }, {\n key: 'saveDefaultExpressionFieldsNotDependencies',\n\n\n /**\n * @returns {Promise}\n *\n * @since 3.8.0\n */\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n if (0 === this.default_expression_fields_on_update.length) {\n return;\n }\n\n // disable listen changeInput\n this.listenChangeInput = false;\n // Array contains field name already resolved with server default_expression request\n var requested_expressions = [];\n // array of defaultExpressionPromises request\n var pending_expressions = [];\n\n // loop through default_expression_fields\n\n var _loop = function* _loop(i) {\n\n // extract all dependency fields of current field\n var dFs = Object.keys(_this9.default_expression_fields_dependencies).filter(function (field) {\n return (\n // check if dependency field is field on update\n _this9.default_expression_fields_on_update.find(function (_ref6) {\n var name = _ref6.name;\n return name === field;\n }) &&\n // if it has bind current field\n _this9.default_expression_fields_dependencies[field].find(function (name) {\n return name === _this9.default_expression_fields_on_update[i].name;\n })\n );\n });\n\n // id current field has an Array (at least one) dependency fields\n // need to evaluate its value and after evaluate field value expression\n\n var _loop2 = function* _loop2(_i) {\n // in case already done a default_expression request evaluation from server\n if (undefined !== requested_expressions.find(function (name) {\n return dFs[_i] === name;\n })) {\n return 'continue';\n }\n // get value. Need to wait response\n try {\n var value = yield (0, _getDefaultExpression.getDefaultExpression)({\n field: _this9._getField(dFs[_i]),\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n });\n // update field with evaluated value to feature\n _this9.feature.set(dFs[_i], value);\n // add to array\n requested_expressions.push(dFs[_i]);\n } catch (e) {\n console.warn(e);\n }\n };\n\n for (var _i = 0; _i < dFs.length; _i++) {\n var _ret2 = yield* _loop2(_i);\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n for (var i = 0; i < this.default_expression_fields_on_update.length; i++) {\n yield* _loop(i);\n }\n\n this.default_expression_fields_on_update.forEach(function (field) {\n if (undefined === requested_expressions.find(function (name) {\n return field.name === name;\n })) {\n pending_expressions.push((0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n }));\n }\n });\n\n try {\n yield Promise.allSettled(pending_expressions);\n } catch (e) {\n console.warn(e);\n }\n\n // enable listen changeInput\n this.listenChangeInput = true;\n });\n\n function saveDefaultExpressionFieldsNotDependencies() {\n return _ref5.apply(this, arguments);\n }\n\n return saveDefaultExpressionFieldsNotDependencies;\n }()\n }]);\n\n return FormService;\n}(_g3wObject2.default);\n\n},{\"components/Form.vue\":50,\"components/FormBody.vue\":51,\"g3w-component\":125,\"g3w-object\":130,\"services/gui\":173,\"utils/getDefaultExpression\":206,\"utils/getFilterExpression\":207}],113:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * Perform search\n * \n * @param { Object } opts\n * @param opts.filter\n * @param opts.queryUrl\n * @param opts.feature_count\n * @param opts.show - false = internal request (No output data)\n * \n * @returns { Promise }\n */\nvar doSearch = function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref3.filter,\n queryUrl = _ref3.queryUrl,\n show = _ref3.show,\n _ref3$feature_count = _ref3.feature_count,\n feature_count = _ref3$feature_count === undefined ? 10000 : _ref3$feature_count,\n state = _ref3.state;\n\n queryUrl = undefined === queryUrl ? state.queryurl : queryUrl;\n show = undefined === show ? 'search' === state.type : show;\n\n state.searching = true;\n\n var data = void 0,\n parsed = void 0;\n //For pagination purpose\n var page_sizes = _g3wConstants.PAGELENGTHS;\n\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: state.search_layers,\n filter: filter || (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (input) {\n return -1 === [null, undefined, _g3wConstants.SEARCH_ALLVALUE].indexOf(input.value) && '' !== input.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n }),\n queryUrl: queryUrl,\n formatter: 1,\n feature_count: feature_count,\n raw: false, // in order to get a raw response\n autofilter: Number(show && state.autofilter.value) }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query (not pagination)\n if (show && !state.paginate && _application2.default.project.state.autozoom_query && data && data.data && 1 === data.data.length) {\n _gui2.default.getService('map').zoomToFeatures(data.data[0].features);\n }\n\n var search_1n = !show && 'search_1n' === state.type;\n var features = search_1n && (data.data[0] || {}).features || [];\n var relation = features.length && _application2.default.project.getRelationById(state.search_1n_relationid); // child and father relation fields (search father layer id based on result of child layer)\n var layer = relation && _application2.default.project.getLayerById(relation.referencedLayer); // father layer id\n\n // no features on result → show an empty message\n if (search_1n && !features.length) {\n _gui2.default.outputDataPlace(Promise.resolve({ data: [] }));\n parsed = [];\n }\n\n // parse search_1n\n if (relation) {\n var _relation$fieldRef = relation.fieldRef,\n referencedField = _relation$fieldRef.referencedField,\n referencingField = _relation$fieldRef.referencingField;\n\n parsed = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: layer,\n filter: (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: layer,\n inputs: features.map(function (f) {\n return {\n attribute: 1 === referencedField.length ? referencedField[0] : referencedField,\n logicop: 'OR',\n operator: 'eq',\n value: [].concat(_toConsumableArray(new Set(1 === referencingField.length // get unique values\n ? features.map(function (f) {\n return f.get(referencingField[0]);\n }) // → single field relation\n : referencingField.map(function (rf) {\n return f.get(rf);\n }) // → multi field relation\n )))\n };\n })\n }),\n formatter: 1,\n feature_count: feature_count,\n autofilter: state.autofilter.value }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: {\n title: state.title\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n\n state.searching = false;\n\n return parsed ? parsed : data;\n });\n\n return function doSearch() {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports.SearchPanel = SearchPanel;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFormInputs = require('utils/createFilterFormInputs');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _debounce = require('utils/debounce');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _SearchPanel = require('components/SearchPanel.vue');\n\nvar vueSearchComp = _interopRequireWildcard(_SearchPanel);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchpanel.js@v3.9.3\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchservice.js@v3.9.3\n */\nfunction SearchPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var state = {\n loading: {}, // store loading state of each input and each dependency\n searching: false, //Boolean. If true, search request from server is starts. False no search\n title: opts.name,\n /** @type { 'search' | 'search_1n' } */\n type: opts.type || 'search',\n /** @TODO check if deprecated */\n queryurl: (opts.options || {}).queryurl,\n /** @deprecated will be removed in v4.x */\n search_endpoint: 'api',\n search_1n_relationid: opts.options.search_1n_relationid, //relations\n /** Layers that will be searchable for that search form. The First one is a layer owner of the search set on admin. */\n search_layers: [(opts.options || {}).querylayerid || (opts.options || {}).layerid || null].concat(_toConsumableArray((opts.options || {}).otherquerylayerids || [])).map(function (id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(id);\n }),\n /** Array of inputs that belongs to search form */\n forminputs: ((opts.options || {}).filter || []).map(function (d, i) {\n return {\n id: d.id || (0, _getUniqueDomId.getUniqueDomId)(),\n type: d.input.type || 'textfield',\n widget_type: d.input.widget_type,\n label: d.label,\n attribute: d.attribute,\n values: d.input.options.values || [],\n /** group values by parent value */\n dvalues: {},\n /**\n * true → initially it is disabled (values = [], ALL value)\n * as in the case in which the dependent field will\n * return to having ALL value. When a value is set to\n * the dependent field, the select will be enabled and\n * will contain the filtered values consistent with the\n * value of the dependent parent field\n */\n dependance_strict: d.input.options.dependance_strict || false,\n /**\n * true → the select is not disabled and will contain all possible values\n * (since at the beginning the parent will have the value ALL).\n * When the value of the dependent field changes, the values in the\n * select list will be filtered in a manner consistent with the value\n * of the parent\n */\n dependance: d.input.options.dependance || false,\n value: 'selectfield' === d.input.type ? _g3wConstants.SEARCH_ALLVALUE : null,\n operator: d.op,\n logicop: i === opts.options.filter.length - 1 ? null : d.logicop,\n loading: true,\n disabled: d.input.options.disabled || false,\n /** keep a reference to initial search options (you shouldn't mutate them..) */\n options: d.input.options\n };\n }),\n //@since v3.11.0. Used to set already feature layers filtered https://github.com/g3w-suite/g3w-client/issues/676\n autofilter: { value: 0 }, //value 0 no set, 1\n paginate: !!opts.options.paginate //@since 3.11.0 paginate or not\n };\n\n var setInputs = function () {\n var _ref = _asyncToGenerator(function* () {\n\n for (var i = 0; i <= state.forminputs.length - 1; i++) {\n\n var input = state.forminputs[i];\n var has_autocomplete = 'autocompletefield' === input.type;\n\n // set key-values for select\n input.values = [].concat(_toConsumableArray('selectfield' === input.type ? [_g3wConstants.SEARCH_ALLVALUE] : []), _toConsumableArray(input.dependance_strict || has_autocomplete ? input.values : yield (0, _getDataForSearchInput.getDataForSearchInput)({ state: state, field: input.attribute }) // retrieve input values from server\n )).map(function (value) {\n return 'Object' === (0, _toRawType.toRawType)(value) ? value : { key: value, value: value };\n });\n\n // there is a dependence\n if (input.dependance) {\n state.loading[input.dependance] = false;\n input.disabled = input.dependance_strict; // disabled for BACKCOMP\n }\n\n // save a copy of original values\n input._values = [].concat(_toConsumableArray(input.values));\n\n input.loading = false;\n }\n });\n\n return function setInputs() {\n return _ref.apply(this, arguments);\n };\n }();\n // create search form structure \n state.mounted = setInputs();\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\n setInputs: setInputs,\n run: (0, _debounce.debounce)(function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _GUI$getService$getMa = _gui2.default.getService('map').getMap().getSize(),\n _GUI$getService$getMa2 = _slicedToArray(_GUI$getService$getMa, 2),\n w = _GUI$getService$getMa2[0],\n h = _GUI$getService$getMa2[1];\n\n var hide = _gui2.default.isMobile() && (0 === w || 0 === h);\n setTimeout(function () {\n if (hide) {\n _gui2.default.hideSidebar();\n }\n panel.getService().doSearch(_extends({}, args, { state: state }));\n }, hide ? 0 : 600);\n }),\n clear: function clear() {\n panel.getService().state = null;\n },\n\n createFilter: function createFilter() {\n return (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (i) {\n return ![null, undefined, _g3wConstants.SEARCH_ALLVALUE].includes(i.value) && '' !== i.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n });\n }\n });\n\n var panel = new _g3wPanel2.default(_extends({}, opts, {\n show: show,\n id: opts.id || (0, _getUniqueDomId.getUniqueDomId)(),\n title: opts.title || 'search',\n vueComponentObject: opts.component || vueSearchComp,\n service: service\n }));\n\n return panel;\n}\n\n},{\"components/SearchPanel.vue\":106,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFormInputs\":191,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getDataForSearchInput\":205,\"utils/getUniqueDomId\":217,\"utils/toRawType\":242}],114:[function(require,module,exports){\nvar _vueColor = require(\"vue-color\");\n\nvar VueColor = _interopRequireWildcard(_vueColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar initConfig = window.initConfig;\n\n// convert relative base URLs to absolute (eg. '/' → 'http://localhost:8080/')\n/**\n * @file shims legacy variables to ensure backward compatibily with old G3W-CLIENT plugins (eg. window variables)\n * @since v3.8\n */\n\nif (initConfig.baseurl) {\n try {\n new URL(initConfig.baseurl);\n } catch (error) {\n initConfig.baseurl = new URL(initConfig.baseurl, window.location).toString();\n }\n}\n\n// BACKCOMP v3.x (initConfig → initConfig.group)\ninitConfig.group = Object.assign(initConfig.group || {}, new Proxy(Object.fromEntries(Object.keys(initConfig).filter(function (key) {\n return ![\"i18n\", \"staticurl\", \"client\", \"mediaurl\", \"user\", \"baseurl\", \"vectorurl\", \"proxyurl\", \"rasterurl\", \"interfaceowsurl\", \"main_map_title\", 'main_map_title', \"g3wsuite_logo_img\", \"credits\", \"version\", \"group\", \"frontendurl\"].includes(key);\n}).map(function (key) {\n return [key, initConfig[key]];\n})), {\n get: function get(target, prop, receiver) {\n console.warn(\"[G3W-CLIENT] initConfig.group.\" + prop.toString() + \" is deprecated\");return Reflect.get.apply(Reflect, arguments);\n }\n}));\n\n// gid of panoramic map project\ninitConfig.overviewproject = initConfig.overviewproject ? initConfig.overviewproject.gid : null;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use ESM imports from 'vue-color' instead\n */\nwindow.VueColor = VueColor;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use require('vue-cookie') instead of window.VueCookie\n */\nwindow.VueCookie = require('vue-cookie');\n\n},{\"vue-color\":\"vue-color\",\"vue-cookie\":\"vue-cookie\"}],115:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.trigger = exports.unwatch = exports.watch = undefined;\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\n/**\n * Internal state\n */\nvar vm = new Vue(); /**\n * @TODO refactor stateful directives (eg. \"v-t\") in order to delete this file: \"src/directives/utils.js\"\n */\n\nvar directives = {};\n\nvar watch = exports.watch = function watch() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref.el,\n attr = _ref.attr,\n watcher = _ref.watcher,\n _ref$immediate = _ref.immediate,\n immediate = _ref$immediate === undefined ? true : _ref$immediate;\n\n var unique_attr_id = (0, _getUniqueDomId.getUniqueDomId)();\n el.setAttribute(attr, unique_attr_id);\n var dir = directives[unique_attr_id] = {};\n if (watcher) {\n dir.unwatch = vm.$watch(watcher[0], watcher[1], watcher[2] || { immediate: immediate });\n dir.handler = watcher[1];\n }\n return unique_attr_id;\n};\n\nvar unwatch = exports.unwatch = function unwatch() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref2.el,\n attr = _ref2.attr;\n\n var unique_attr_id = el.getAttribute(attr);\n if (unique_attr_id) {\n directives[unique_attr_id].unwatch();\n delete directives[unique_attr_id];\n }\n};\n\nvar trigger = exports.trigger = function trigger(_ref3) {\n var el = _ref3.el,\n attr = _ref3.attr,\n data = _ref3.data;\n return directives[el.getAttribute(attr)].handler(data);\n};\n\n},{\"utils/getUniqueDomId\":217}],116:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n binding.value ? el.setAttribute('checked', 'checked') : el.removeAttribute('checked');\n};\n\n},{}],117:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],118:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-download-id';\n\nexports.default = {\n bind: function bind(el, binding) {\n if ('boolean' === typeof binding.value ? binding.value : true) {\n (0, _utils.watch)({\n el: el,\n attr: attr,\n watcher: [function () {\n return _application2.default.download;\n }, function (bool) {\n var className = binding.modifiers && binding.modifiers.show && 'hide' || 'disabled';\n el.classList.toggle('g3w-' + className, className === 'hide' ? !bool : bool);\n }]\n });\n }\n },\n\n unbind: function unbind(el) {\n return (0, _utils.unwatch)({ el: el, attr: attr });\n }\n};\n\n},{\"directives/utils\":115,\"store/application\":178}],119:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-select2-id';\n\nexports.default = {\n inserted: function inserted(el, binding, vnode) {\n var _ref = vnode.data.attrs || {},\n templateResult = _ref.templateResult,\n templateSelection = _ref.templateSelection,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === undefined ? false : _ref$multiple,\n _ref$search = _ref.search,\n search = _ref$search === undefined ? true : _ref$search,\n select2_value = _ref.select2_value,\n indexItem = _ref.indexItem,\n _ref$createTag = _ref.createTag,\n createTag = _ref$createTag === undefined ? false : _ref$createTag,\n _ref$dropdownAutoWidt = _ref.dropdownAutoWidth,\n dropdownAutoWidth = _ref$dropdownAutoWidt === undefined ? false : _ref$dropdownAutoWidt,\n _ref$dropdownParent = _ref.dropdownParent,\n dropdownParent = _ref$dropdownParent === undefined ? false : _ref$dropdownParent,\n placeholder = _ref.placeholder,\n _ref$clear = _ref.clear,\n clear = _ref$clear === undefined ? false : _ref$clear;\n\n var isArray = binding.value && Array.isArray(vnode.context[binding.value]) // check if is an array\n && undefined !== indexItem; // check if indexItem is defined\n //Need in case of change\n var createSelect2 = function createSelect2() {\n $(el).select2({\n tags: createTag,\n width: '100%',\n dropdownCssClass: 'skin-color',\n dropdownAutoWidth: dropdownAutoWidth,\n dropdownParent: true === dropdownParent ? $(el.parentNode) : undefined,\n templateResult: templateResult,\n templateSelection: templateSelection,\n minimumResultsForSearch: search ? undefined : -1,\n placeholder: placeholder,\n allowClear: clear,\n createTag: function createTag(params) {\n var value = params.term.trim();\n return value ? {\n id: value,\n text: value,\n newTag: true // add additional value\n } : null;\n }\n }).on('select2:select select2:unselect', function (e) {\n if (!binding.value) {\n return;\n }\n\n var value = binding.value;\n var selected = 'select2:select' === e.type;\n var id = e.params.data.id;\n var ctx = vnode.context;\n\n // selected\n /** @TODO reduce nesting level */\n if (selected) {\n var arr = isArray ? ctx[value][indexItem].value : ctx[value];\n // check is can have multiple value\n if (multiple && arr.every(function (d) {\n return id !== d;\n })) {\n arr.push(id);\n } else if (isArray) {\n ctx[value][indexItem].value = id;\n } else {\n // take in an account text binding value single world or object (eg. state.name)\n var attrs = ('' + value).split('.');\n var last = attrs.pop();\n attrs.reduce(function (acc, a) {\n acc = acc[a];return acc;\n }, vnode.context)[last] = id;\n }\n }\n\n // unselected\n /** @TODO reduce nesting level */\n if (!selected && multiple) {\n if (isArray) {\n ctx[value][indexItem].value = ctx[value][indexItem].value.filter(function (d) {\n return id !== d;\n });\n } else {\n ctx[value] = ctx[value].filter(function (d) {\n return id !== d;\n });\n }\n }\n\n // dispatch \"change\" event to native \\n \\n \\n
',\n data: function data() {\n return { methods: _g3wConstants.SPATIAL_METHODS, method: _this4.getSpatialMethod() };\n },\n watch: { method: function method(m) {\n return _this4.setSpatialMethod(m);\n } },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n break;\n\n case 'custom':\n this.toggledTool = toggledTool.component;\n break;\n\n }\n\n /**\n * @TODO check if it is deprecated. It used to show help message for map control\n */\n if ('how' === toggledTool.how && this._onhover) {\n this._toolButton = $('');\n $(this.element).prepend(this._toolButton);\n this._toolButton.on('click', function (e) {\n e.stopPropagation();\n _this4.showToggledTool(true);\n });\n $(this.element).hover(function () {\n return _this4._toggled && _this4._toolButton.show();\n });\n $(this.element).mouseleave(function () {\n return _this4._toolButton.hide();\n });\n }\n }\n }, {\n key: 'showToggledTool',\n value: function showToggledTool() {\n var show = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (show) {\n _gui2.default.showUserMessage({\n title: this.toggledTool.__title,\n type: 'tool',\n size: 'small',\n iconClass: this.toggledTool.__iconClass,\n closable: this._toolButton ? true : false,\n hooks: { body: this.toggledTool }\n });\n } else {\n _gui2.default.closeUserMessage();\n }\n }\n\n /**\n * Set button status (pressed / not pressed)\n * \n * @param { Boolean } toggled\n * @param { Object } opts\n */\n\n }, {\n key: 'toggle',\n value: function toggle() {\n var _this5 = this;\n\n var toggled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this._toggled;\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n opts.parent = undefined === opts.parent ? false : opts.parent;\n\n // skip if button is already toggled or un-toggled\n if (toggled === this._toggled) {\n return;\n }\n\n this._toggled = toggled;\n\n if (this.cursorClass) {\n this.setMouseCursor(toggled);\n }\n\n // toggle other toggleable control\n if (toggled) {\n this.getMap().getControls().forEach(function (c) {\n if (c.id && c.toggle && c.id !== _this5.id && c.id !== opts.parent) {\n c.toggle(false);\n }\n });\n }\n\n if (this._interaction) {\n this._interaction.setActive(toggled);\n }\n\n /** Add or remove g3w-ol-toggled class to control button */\n $(this.element).find('button').first()[toggled ? 'addClass' : 'removeClass']('g3w-ol-toggled');\n\n /** @TODO Deprecated */\n if (toggled && this._toolButton) {\n this._toolButton.show();\n } else if (!toggled && this._toolButton) {\n this._toolButton.hide();\n }\n\n //** if not toggled and has a toggle tool (e.g., measure map control) close user message tool */\n if (this.toggledTool) {\n this.showToggledTool(this._toggled);\n }\n\n this.dispatchEvent({ type: 'toggled', toggled: toggled });\n\n if (this._options.onToggled) {\n this._options.onToggled.call(this, toggled);\n }\n }\n }, {\n key: 'getGeometryTypes',\n value: function getGeometryTypes() {\n return this._geometryTypes;\n }\n }, {\n key: 'setGeometryTypes',\n value: function setGeometryTypes(types) {\n this._geometryTypes = types;\n }\n }, {\n key: 'getInteraction',\n value: function getInteraction() {\n return this._interaction;\n }\n\n /**\n * Method to set filter operation intersect or Contains\n */\n\n }, {\n key: 'setSpatialMethod',\n value: function setSpatialMethod() {\n var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'intersects';\n\n this.spatialMethod = method;\n this.dispatchEvent({\n type: 'change-spatial-method',\n spatialMethod: this.spatialMethod\n });\n }\n }, {\n key: 'getSpatialMethod',\n value: function getSpatialMethod() {\n return this.spatialMethod;\n }\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n\n /**\n * @returns { ol.control }\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOlControl',\n value: function getOlControl() {\n return this._control;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'showHide',\n value: function showHide() {\n if (this.element) {\n $(this.element).toggle();\n }\n }\n }]);\n\n return InteractionControl;\n}(ol.control.Control);\n\nexports.default = InteractionControl;\n\n},{\"g3w-constants\":126,\"services/gui\":173}],145:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MeasureControl = exports.MeasureInteraction = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _createMeasureTooltip = require('utils/createMeasureTooltip');\n\nvar _removeMeasureTooltip = require('utils/removeMeasureTooltip');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/measuercontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar MeasureInteraction = exports.MeasureInteraction = function (_ol$interaction$Draw) {\n _inherits(MeasureInteraction, _ol$interaction$Draw);\n\n function MeasureInteraction(opts) {\n _classCallCheck(this, MeasureInteraction);\n\n var measureStyle = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' }),\n stroke: new ol.style.Stroke({ color: opts.drawColor || 'rgba(0, 0, 0, 0.5)', lineDash: [10, 10], width: 3 }),\n image: new ol.style.Circle({\n radius: 5,\n stroke: new ol.style.Stroke({ color: 'rgba(0, 0, 0, 0.7)' }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })\n });\n var source = new ol.source.Vector();\n\n var _this = _possibleConstructorReturn(this, (MeasureInteraction.__proto__ || Object.getPrototypeOf(MeasureInteraction)).call(this, {\n source: source,\n type: opts.geometryType || 'LineString',\n style: measureStyle\n }));\n\n _this._helpTooltip;\n _this._measureTooltipElement;\n _this._measureTooltip;\n _this._featureGeometryChangelistener;\n _this._poinOnMapMoveListener;\n _this._helpTooltipElement;\n\n _this._helpMsg = opts.help;\n _this._projection = opts.projection;\n _this.feature = opts.feature;\n _this._map = null;\n _this._feature = null;\n _this._layer = new ol.layer.Vector({\n source: source,\n style: function style() {\n return [new ol.style.Style({\n stroke: new ol.style.Stroke({ lineDash: [10, 10], width: 3 }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })];\n }\n });\n\n _this.set('beforeRemove', _this.clear);\n _this.set('layer', _this._layer);\n // register event on two action\n _this.on('drawstart', _this._drawStart);\n _this.on('drawend', _this._drawEnd);\n return _this;\n }\n\n _createClass(MeasureInteraction, [{\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._clearMessagesAndListeners();\n if (this._map) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({\n map: this._map\n }, this.measureTooltip));\n this.measureTooltip = null;\n this._map.removeLayer(this._layer);\n }\n }\n }, {\n key: '_clearMessagesAndListeners',\n value: function _clearMessagesAndListeners() {\n this._feature = null;\n // unset tooltip so that a new one can be created\n if (this._map) {\n this._measureTooltipElement = null;\n this._helpTooltipElement.innerHTML = '';\n\n this._helpTooltipElement.classList.add('hidden');\n\n ol.Observable.unByKey(this._featureGeometryChangelistener);\n ol.Observable.unByKey(this._poinOnMapMoveListener);\n\n $(document).off('keydown', this._keyDownEventHandler);\n }\n }\n\n //drawStart function\n\n }, {\n key: '_drawStart',\n value: function _drawStart(e) {\n var _this2 = this;\n\n this._map = this.getMap();\n this._map.removeLayer(this._layer);\n this._feature = e.feature;\n if (this.feature) {\n this._feature.setGeometry(this.feature.getGeometry());\n }\n // removed last point\n this._keyDownEventHandler = function (e) {\n var geom = _this2._feature.getGeometry();\n if (46 === e.keyCode) {\n if (geom instanceof ol.geom.Polygon && geom.getCoordinates()[0].length > 2) {\n _this2.removeLastPoint();\n } else if (geom instanceof ol.geom.LineString && geom.getCoordinates().length > 1) {\n _this2.removeLastPoint();\n }\n }\n };\n $(document).on('keydown', this._keyDownEventHandler);\n this._layer.getSource().clear();\n this._poinOnMapMoveListener = this._map.on('pointermove', function (e) {\n if (e.dragging) {\n return;\n }\n if (_this2._feature && _this2._helpMsg) {\n _this2._helpTooltipElement.innerHTML = t(_this2._helpMsg);\n _this2._helpTooltip.setPosition(e.coordinate);\n _this2._helpTooltipElement.classList.remove('hidden');\n }\n });\n // create help tooltip\n if (this._helpTooltipElement) {\n this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement);\n }\n if (this._helpTooltip) {\n this._map.removeOverlay(this._helpTooltip);\n }\n this._helpTooltipElement = document.createElement('div');\n this._helpTooltipElement.className = 'mtooltip hidden';\n this._helpTooltip = new ol.Overlay({\n element: this._helpTooltipElement,\n offset: [15, 0],\n positioning: 'center-left'\n });\n\n this._map.addOverlay(this._helpTooltip);\n\n // create measure tooltip\n if (this.measureTooltip) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({}, this.measureTooltip, { map: this._map }));\n }\n\n this.measureTooltip = (0, _createMeasureTooltip.createMeasureTooltip)({ map: this._map, feature: this._feature });\n }\n }, {\n key: '_drawEnd',\n value: function _drawEnd() {\n this.measureTooltip.tooltip.getElement().className = 'mtooltip mtooltip-static';\n this.measureTooltip.tooltip.setOffset([0, -7]);\n this._clearMessagesAndListeners();\n this._map.addLayer(this._layer);\n }\n }]);\n\n return MeasureInteraction;\n}(ol.interaction.Draw);\n\nvar MeasureControl = exports.MeasureControl = function (_InteractionControl) {\n _inherits(MeasureControl, _InteractionControl);\n\n function MeasureControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MeasureControl);\n\n var _this3 = _possibleConstructorReturn(this, (MeasureControl.__proto__ || Object.getPrototypeOf(MeasureControl)).call(this, _extends({}, opts, {\n clickmap: true,\n enabled: true,\n onToggled: function onToggled(toggled) {\n // toggle current interaction\n this._interaction.setActive(this.isToggled());\n // when not toggled\n if (!toggled) {\n this._interaction.clear();\n }\n // check if first interaction is current interaction\n if (!toggled && this.interactions[this.types[0]] !== this._interaction) {\n //remove current interaction from the map\n this.getMap().removeInteraction(this._interaction);\n this._interaction = this.interactions[this.types[0]];\n //add first interaction\n this.getMap().addInteraction(this._interaction);\n }\n }\n })));\n\n _this3.types = [];\n\n _this3.interactions = {};\n\n (opts.types || []).forEach(function (t) {\n return _this3.addType(t);\n });\n\n // no type set, hide control\n if (0 === _this3.types.length) {\n _this3.setVisible(false);\n }\n\n _this3.on('setMap', function (e) {\n return e.map.addInteraction(_this3._interaction);\n });\n return _this3;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(MeasureControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this4 = this;\n\n this.types.push(type);\n\n this._interactionClassOptions.geometryType = { area: 'Polygon', length: 'LineString' }[type];\n\n this.interactions[type] = new MeasureInteraction(this._interactionClassOptions);\n\n this.interactions[type].setActive(false);\n\n if (!this._interaction) {\n this._interaction = this.interactions[type];\n }\n\n if (this.types.length > 1) {\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.measures.title',\n __iconClass: 'measure', //@since v3.11.0\n data: function data() {\n return { types: _this4.types, type: _this4.types[0] };\n },\n template: /* html */'\\n
\\n \\n
',\n watch: {\n // change measure interaction\n type: function type(ntype, otype) {\n // deactivate previous interaction\n _this4.interactions[otype].setActive(false);\n _this4.interactions[otype].clear();\n _this4.getMap().removeInteraction(_this4.interactions[otype]);\n // activate new interacion\n _this4.getMap().addInteraction(_this4.interactions[ntype]);\n _this4.interactions[ntype].setActive(true);\n _this4._interaction = _this4.interactions[ntype];\n }\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n }\n }]);\n\n return MeasureControl;\n}(_interactioncontrol2.default);\n\n},{\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"utils/createMeasureTooltip\":193,\"utils/removeMeasureTooltip\":234}],146:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QueryBy = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar POLYGON_TYPES = [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D];\n\n/**\n * Child interaction controls\n */\nvar CONTROLS = {};\n\n/**\n * Spatial query options\n */\nvar QUERY = Vue.observable({\n /** @type {ol.coordinate} bbox coordinates */\n bbox: null,\n /** @type { ol.Feature } drawed feature */\n dfeature: null,\n layer: null,\n feature: null,\n coordinates: null,\n radius: 0\n});\n\n/**\n * Return current layer id selected or __ALL__ (no layer selected)\n * @return {string}\n */\nfunction getSelectedLayerId() {\n return (_gui2.default.getService('map').getSelectedLayer() || {\n getId: function getId() {\n return '__ALL__';\n }\n }).getId();\n}\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybybboxcontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybypolygoncontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybydrawpolygoncontrol.js@v3.9.10\n */\n\nvar QueryBy = exports.QueryBy = function (_InteractionControl) {\n _inherits(QueryBy, _InteractionControl);\n\n function QueryBy() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, QueryBy);\n\n var _this = _possibleConstructorReturn(this, (QueryBy.__proto__ || Object.getPrototypeOf(QueryBy)).call(this, _extends({}, opts, {\n name: 'queryby',\n label: '\\uE903',\n tipLabel: \"sdk.mapcontrols.queryby.title\",\n enabled: true,\n cursorClass: null //store cursorClass of a current sub control enabled (querybbox, etc..)\n })));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n // no type set, hide control\n if (0 === _this.types.length) {\n _this.setVisible(false);\n } else {\n _this.element.classList.add('ol-' + _this.types[0]);\n }\n\n CONTROLS['queryby'] = _this;\n\n _this.selectedLayer = '__ALL__';\n\n // toolbox (options)\n _this.on('toggled', function (_ref) {\n var toggled = _ref.toggled;\n\n if (!toggled) {\n return _gui2.default.closeUserMessage();\n }\n _gui2.default.showUserMessage({\n title: 'sdk.mapcontrols.queryby.title',\n type: 'tool',\n size: 'small',\n iconClass: 'info',\n closable: false,\n hooks: {\n body: {\n data: function data() {\n return {\n types: _this.types,\n type: _this.types[0],\n methods: _g3wConstants.SPATIAL_METHODS,\n method: _this.getSpatialMethod(),\n layers: [],\n selectedLayer: getSelectedLayerId()\n };\n },\n template: /* html */'\\n
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
',\n computed: {\n control: function control() {\n return CONTROLS[this.type];\n },\n queryable: function queryable() {\n var _this2 = this;\n\n return (this.control.layers || []).filter(function (l) {\n return 'querybypolygon' === _this2.type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n });\n },\n no_layers: function no_layers() {\n return !this.queryable || !_hasVisible(this.control);\n },\n help: function help() {\n return 'sdk.mapcontrols.' + this.type + '.help.message';\n },\n all: function all() {\n return this.no_layers ? 'sdk.mapcontrols.queryby.none' : 'sdk.mapcontrols.queryby.all';\n },\n\n radius: {\n get: function get() {\n return QUERY.radius;\n },\n set: function set(v) {\n if (Number.isNaN(v) || v < 0) {\n this.radius = QUERY.radius;\n return;\n }\n //need to convert degree in meter\n QUERY.radius = Math.floor(v * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees));\n //already circle drawed but not clear (0) value\n if (QUERY.dfeature && QUERY.radius > 0) {\n QUERY.dfeature.getGeometry().setRadius(QUERY.radius);\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n }\n }\n },\n watch: {\n method: function method() {\n this.reset();\n },\n type: function type() {\n var _this3 = this;\n\n //after a change type needs to check, is all being updated to change select2 option text\n this.reset().then(function () {\n return _this3.update__ALL__Text();\n });\n },\n control: function control() {\n var _this4 = this;\n\n this.types.forEach(function (t) {\n return CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this4.type);\n });\n },\n layers: function layers() {\n this.selectedLayerNotQuerable();\n },\n\n // see: https://forums.select2.org/t/cannot-rename-selected-option/154/2\n all: function all() {\n this.update__ALL__Text();\n },\n\n selectedLayer: {\n immediate: true,\n handler: function handler(value, oldValue) {\n var _this5 = this;\n\n this.selectedLayerNotQuerable();\n //It means that it is mounted. No value before\n if (undefined === oldValue) {\n return;\n }\n var map = _gui2.default.getService('map');\n // auto selects added layer\n if ('__NEW__' === value) {\n var listener = map.onafter('loadExternalLayer', function (l) {\n map.selectLayer(l.get('id'));\n _this5.reset();\n });\n var select = document.querySelector('#add-layer-type');\n select.value = 'file';\n select.dispatchEvent(new Event('change'));\n $('#modal-addlayer').one('hidden.bs.modal', function () {\n return map.un('loadExternalLayer', listener);\n });\n map.showAddLayerModal();\n }\n\n if (!['__ALL__', '__NEW__'].includes(value) && value !== getSelectedLayerId()) {\n map.selectLayer(value);\n }\n //reset selection if a selection is done by TOC catalog\n if (['__ALL__', '__NEW__'].includes(value) && '__ALL__' !== getSelectedLayerId()) {\n map.selectLayer();\n }\n }\n }\n },\n methods: {\n /**\n * Update selects2 the __ALL__ option text as to select all change text\n */\n update__ALL__Text: function update__ALL__Text() {\n $(this.$refs.layer).select2('close');\n $(this.$refs.layer).find('option[value=\"__ALL__\"]').text(t(this.all));\n $(this.$refs.layer).select2('data')[0].text = t(this.all);\n $(this.$refs.layer).trigger('change');\n },\n selectedLayerNotQuerable: function selectedLayerNotQuerable() {\n //In the case of selection of layer (by TOC) that not belong to a layer list,\n // set the value of selectedLayer __ALL__\n if (!['__ALL__', '__NEW__'].includes(this.selectedLayer) && this.layers.length && !this.layers.map(function (l) {\n return l.getId();\n }).includes(this.selectedLayer)) {\n this.selectedLayer = '__ALL__';\n }\n },\n reset: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this6 = this,\n _layers;\n\n this.layers.splice(0);\n // reset autorun options\n this.types.filter(function (t) {\n return t !== _this6.type;\n }).forEach(function (t) {\n if ('querybycircle' === t) {\n QUERY.radius = 0;\n }\n if ('querybbox' === t) {\n QUERY.bbox = null;\n }\n if ('querybypolygon' === t) {\n QUERY.layer = null;QUERY.feature = null;QUERY.coordinates = null;\n }\n if (!['querybydrawpolygon', 'querybycircle'].includes(_this6.type)) {\n QUERY.dfeature = null;\n }\n CONTROLS[t].autorun = false;\n });\n //set spatial method\n this.control.spatialMethod = this.method;\n this.control.toggle(true, { parent: CONTROLS['queryby'].id });\n // show highlight class only if 'querybbox' or 'querybydrawpolygon' type control\n this.control.layers.forEach(function (l) {\n return l.setTocHighlightable(['querybbox', 'querybydrawpolygon'].includes(_this6.type));\n });\n yield this.$nextTick();\n // set queryable layers (select2)\n (_layers = this.layers).push.apply(_layers, _toConsumableArray(this.queryable));\n\n if ('querybypolygon' === this.type) {\n this.control.setEnable(false);\n }\n // re-run query when changing spatial method\n if (this.control.autorun) {\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n });\n\n function reset() {\n return _ref2.apply(this, arguments);\n }\n\n return reset;\n }(),\n templateType: function templateType(state) {\n if (!state.id) {\n return state.text;\n }\n return $( /*html*/'  ' + state.text + '');\n },\n templateLayer: function templateLayer(state) {\n if (!state.id || '__NEW__' === state.id) {\n return state.text;\n }\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(state.id) || externalLayers.find(function (l) {\n return l.get('id') === state.id;\n });\n /** @FIXME layer is undefined when removing an external layer */\n var icon = '__ALL__' === state.id || !layer ? '' : /*html */'  ';\n return $( /*html*/'' + icon + state.text + '');\n }\n },\n mounted: function mounted() {\n CONTROLS['queryby'].usermessage = this;\n _gui2.default.toggleUserMessage(false);\n this.reset();\n },\n\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n _this.types.forEach(function (t) {\n CONTROLS[t].toggle(false);\n CONTROLS[t].autorun = false;\n CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this.types[0]);\n CONTROLS[t].layers.forEach(function (l) {\n return l.setTocHighlightable(false);\n });\n });\n }\n }\n }\n });\n });\n return _this;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(QueryBy, [{\n key: 'addType',\n value: function addType(type) {\n var _this8 = this,\n _unwatches;\n\n // skip when already added\n if (this.types.includes(type)) {\n return;\n }\n\n // keep \"querybypolygon\" at last position\n this.types.splice(this.types.includes('querybypolygon') ? this.types.indexOf('querybypoyling') : this.types.length, 0, type);\n\n /**\n * @TODO remove `InteractionControl` and use a standard `ol.interaction`\n */\n var control = CONTROLS[type] = new _interactioncontrol2.default({\n name: type,\n offline: false,\n visible: false,\n geometryTypes: ['querybypolygon', 'querybydrawpolygon'].includes(type) ? POLYGON_TYPES : [],\n cursorClass: 'querybypolygon' !== type ? 'ol-crosshair' : 'ol-pointer',\n interactionClass: {\n 'querybbox': ol.interaction.DragBox,\n 'querybycircle': ol.interaction.Draw,\n 'querybydrawpolygon': ol.interaction.Draw,\n 'querybypolygon': _pickcoordinatesinteraction2.default\n }[type],\n interactionClassOptions: ['querybydrawpolygon', 'querybycircle'].includes(type) ? { type: 'querybydrawpolygon' === type ? 'Polygon' : 'Circle' } : {},\n layers: _getAvailableLayers(type),\n onSetMap: function onSetMap(_ref3) {\n var _this7 = this;\n\n var setter = _ref3.setter,\n map = _ref3.map;\n\n if ('after' !== setter) {\n return;\n }\n\n if ('querybbox' === type) {\n var startCoord = null;\n this._interaction.on('boxstart', function (e) {\n return startCoord = e.coordinate;\n });\n this._interaction.on('boxend', (0, _throttle.throttle)(function (e) {\n QUERY.bbox = ol.extent.boundingExtent([startCoord, e.coordinate]);\n _this7.dispatchEvent({ type: 'bboxend', extent: QUERY.bbox });\n startCoord = null;\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n this.setEventKey({\n eventType: 'bboxend',\n eventKey: this.on('bboxend', function () {\n return CONTROLS['queryby'].runSpatialQuery('querybbox');\n })\n });\n }\n\n if ('querybycircle' === type) {\n this._interaction.on('drawstart', function (e) {\n var geometry = e.feature.getGeometry();\n geometry.setRadius(QUERY.radius);\n geometry.on('change', function () {\n return QUERY.radius = geometry.getRadius();\n });\n if (QUERY.radius > 0) {\n _this7._interaction.finishDrawing();\n }\n });\n }\n\n if (['querybydrawpolygon', 'querybycircle'].includes(type)) {\n this._interaction.on('drawend', (0, _throttle.throttle)(function (e) {\n //convert circle geometry to polygon\n if ('querybycircle' === type) {\n var radius = e.feature.getGeometry().getRadius();\n //in the case of map unit degrees, convert it to meter\n QUERY.radius = radius * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n }\n QUERY.dfeature = e.feature;\n _this7.dispatchEvent({ type: 'drawend', feature: QUERY.dfeature });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n\n this.setEventKey({\n eventType: 'drawend',\n eventKey: this.on('drawend', function () {\n return CONTROLS['queryby'].runSpatialQuery(type);\n })\n });\n }\n\n if ('querybypolygon' === type) {\n\n this._interaction.on('picked', (0, _throttle.throttle)(function () {\n var _ref4 = _asyncToGenerator(function* (e) {\n QUERY.coordinates = e.coordinate;\n _this7.dispatchEvent({ type: 'picked', coordinates: QUERY.coordinates });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n });\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }()));\n\n // get polygon feature from coordinates\n this.setEventKey({\n eventType: 'picked',\n eventKey: this.on('picked', _asyncToGenerator(function* () {\n\n _gui2.default.closeSideBar();\n\n // ask for coordinates\n try {\n var _ref6 = yield _data2.default.getData('query:coordinates', {\n inputs: {\n feature_count: _application2.default.project.state.feature_count || 5,\n coordinates: QUERY.coordinates\n },\n outputs: {\n // whether to show picked coordinates on map\n show: function show(_ref7) {\n var _ref7$data = _ref7.data,\n data = _ref7$data === undefined ? [] : _ref7$data,\n query = _ref7.query;\n\n var show = data.length === 0;\n // set query coordinates to null in case to avoid `externalvector` added to query response\n query.coordinates = show ? query.coordinates : null;\n return show;\n }\n }\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n if (data.length && data[0].features.length) {\n QUERY.feature = data[0].features[0];\n QUERY.layer = data[0].layer;\n CONTROLS['queryby'].runSpatialQuery('querybypolygon');\n }\n } catch (e) {\n console.warn('Error running spatial query:', e);\n }\n }))\n });\n\n this.setEnable(false);\n }\n },\n\n clickmap: true\n });\n\n _gui2.default.getService('map').addControl(type, type, control, false, false);\n\n control._interaction.on('change:active', function (e) {\n //set current cursor class on map\n _this8.setMouseCursor(e.target.get(e.key), control.cursorClass); // set mouse cursor\n //set same cursor class to parent queryby control\n _this8.cursorClass = control.cursorClass;\n\n if (['querybbox', 'querybydrawpolygon'].includes(type)) {\n _application2.default.highlightlayers = e.target.get(e.key); // highlight layers in legend\n }\n });\n\n // listen for layers visibility change\n this.unwatches = this.unwatches || [];\n this.unwatches.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatches.splice(0);\n (_unwatches = this.unwatches).push.apply(_unwatches, _toConsumableArray(this.types.flatMap(function (t) {\n var control = CONTROLS[t];\n return (control.layers || []).map(function (layer) {\n return _g3wEventbus.VM.$watch(function () {\n return layer.state.visible;\n }, function () {\n // toggle \"eye\" / \"eye-close\" icon\n if (_this8.usermessage) {\n $(_this8.usermessage.$refs.layer).trigger('change');\n }\n // toggle control interaction\n control.setEnable(control.isToggled() && _hasVisible(control));\n control._interaction.setActive(control.getEnable());\n });\n });\n })));\n }\n\n /**\n * @param layer \n */\n\n }, {\n key: 'onSelectLayer',\n value: function onSelectLayer(layer) {\n\n var btn = document.querySelector('.usermessage-content .clear-selected-layer');\n if (btn) {\n btn.classList.toggle('hidden', !layer);\n }\n\n if (this.usermessage) {\n this.usermessage.selectedLayer = layer ? layer.getId() : '__ALL__';\n }\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n var selected = layer && control.layers.find(function (l) {\n return l === layer;\n });\n var queryable = layer && layer.isQueryable() && (control.getGeometryTypes() || []).includes(layer.getGeometryType());\n\n if (['querybbox', 'querybydrawpolygon', 'querybycircle'].includes(t)) {\n control.setEnable(control.isToggled() && (layer ? selected && selected.isVisible() : _hasVisible(control)));\n }\n\n if ('querybypolygon' === t) {\n control.setEnable(control.isToggled() && queryable && _hasVisible(control));\n }\n\n control._interaction.setActive(control.getEnable());\n });\n }\n\n /**\n * @param {{ layer, unWatches }}\n */\n\n }, {\n key: 'onAddExternalLayer',\n value: function onAddExternalLayer(_ref8) {\n var layer = _ref8.layer,\n unWatches = _ref8.unWatches;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n control.layers = _getAvailableLayers(t);\n\n // set layer property\n if ('querybbox' === t) {\n layer.setTocHighlightable(control.isToggled() && control.getEnable());\n }\n\n // watch `layer.selected` and `layer.visible` properties\n unWatches.push(_g3wEventbus.VM.$watch(function () {\n return [layer.selected, layer.visible];\n }, function () {\n control.setEnable(control.isToggled() && (layer.selected ? layer.visible : _hasVisible(control)));\n control._interaction.setActive(control.getEnable());\n }, { immediate: true }));\n });\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'onRemoveExternalLayer',\n value: function onRemoveExternalLayer(layer) {\n var _this9 = this;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n control.layers = _getAvailableLayers(t).filter(function (l) {\n return l.getId() !== layer.getId();\n });\n control.setEnable(control.isToggled() && _hasVisible(CONTROLS[t]));\n control._interaction.setActive(control.getEnable());\n });\n /** @TODO find a better way to update \"layers\" list (select2) within vue component */\n setTimeout(function () {\n if (_this9.usermessage) {\n _this9.usermessage.reset();\n }\n });\n }\n }, {\n key: 'runSpatialQuery',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (type) {\n try {\n\n var control = CONTROLS[type];\n\n _gui2.default.closeSideBar();\n\n if (\n // skip if bbox is not set\n 'querybbox' === type && null === QUERY.bbox ||\n // skip when .. ?\n 'querybypolygon' === type && [QUERY.coordinates, QUERY.feature, QUERY.layer].includes(null)) {\n return;\n }\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var project = _application2.default.project;\n\n if ('querybbox' === type) {\n yield _data2.default.getData('query:bbox', {\n inputs: {\n bbox: QUERY.bbox,\n feature_count: project.state.feature_count || 5,\n addExternal: !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n // Catalog layers (TOC) properties that need to be satisfied\n layersFilterObject: {\n SELECTED_OR_ALL: true, // selected or all\n FILTERABLE: true, // see: src/app/core/layers/layer.js#L925\n VISIBLE: true // need to be visible\n },\n condition: { filtrable: { ows: 'WFS' } },\n multilayers: [].concat(project.state.querymultilayers).includes(control.name),\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n }\n });\n }\n\n if (['querybypolygon', 'querybydrawpolygon', 'querybycircle'].includes(type)) {\n yield _data2.default.getData('query:polygon', {\n inputs: {\n layerName: 'querybypolygon' === type ? QUERY.layer.getName ? QUERY.layer.getName() : QUERY.layer.get('name') : '',\n excludeSelected: 'querybypolygon' === type || !selected,\n feature: function () {\n switch (type) {\n case 'querybypolygon':\n return QUERY.feature;\n case 'querybydrawpolygon':\n return QUERY.dfeature;\n case 'querybycircle':\n var feat = QUERY.dfeature.clone();\n feat.setGeometry(ol.geom.Polygon.fromCircle(QUERY.dfeature.getGeometry(), 64));\n return feat;\n }\n }(),\n external: {\n add: 'querybypolygon' === type || !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n filter: {\n SELECTED: ['querybydrawpolygon', 'querybycircle'].includes(type) && (!selected || externalLayers.some(function (l) {\n return l === selected;\n }))\n }\n },\n type: (type || '').replace('queryby', '') || undefined,\n multilayers: [].concat(project.state.querymultilayers).includes('querybypolygon'), //hardcoded using querymultilayers server config\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n },\n outputs: {\n show: function show(_ref10) {\n var _ref10$error = _ref10.error,\n error = _ref10$error === undefined ? false : _ref10$error;\n return !error;\n }\n }\n });\n }\n\n control.autorun = true;\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n function runSpatialQuery(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return runSpatialQuery;\n }()\n }]);\n\n return QueryBy;\n}(_interactioncontrol2.default);\n\n/**\n * @returns {boolean} whether control has a visible layer \n */\n\n\nfunction _hasVisible(control) {\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n\n // whether one layer is visible (and not selected)\n if ('querybypolygon' === control.name) {\n return !!(\n // check if the current selected layer is visible\n selected && selected.isVisible() && (\n // check if at least one layer is visible (project or external layer)\n control.layers.some(function (l) {\n return l !== selected && l.isVisible() && l.isFilterable({ ows: 'WFS' });\n }) || _gui2.default.getService('map').getLegacyExternalLayers().find(function (l) {\n return l !== selected && true === l.visible;\n })));\n }\n\n // whether one layer is visible\n return !!((control.layers || []).some(function (l) {\n return l.isVisible();\n }) || _gui2.default.getService('map').getLegacyExternalLayers().some(function (l) {\n return l.visible;\n }));\n}\n\n/**\n * @TODO get rid of `s.getLayers` call\n */\nfunction _getAvailableLayers(type) {\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n var queryable = MapLayersStoresRegistry.getQuerableLayersStores();\n return [].concat(_toConsumableArray(new Set([].concat(_toConsumableArray(queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, FILTERABLE: true, SELECTED_OR_ALL: true }, { filtrable: { ows: 'WFS' } });\n }).filter(function (l) {\n return 'wfs' === l.getProvider('filter').getName();\n })), _toConsumableArray((_gui2.default.getService('map').getLegacyExternalLayers() || []).filter(function (l) {\n return 'querybypolygon' === type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n })), _toConsumableArray('querybypolygon' === type ? queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, QUERYABLE: true, SELECTED_OR_ALL: true }, {});\n }) : [])))));\n}\n\n},{\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/data\":172,\"services/gui\":173,\"services/map\":175,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241}],147:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScaleControl = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/scalecontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar ScaleControl = exports.ScaleControl = function (_ol$control$Control) {\n _inherits(ScaleControl, _ol$control$Control);\n\n function ScaleControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScaleControl);\n\n opts.target = 'scale-control';\n opts.offline = true;\n\n var _this = _possibleConstructorReturn(this, (ScaleControl.__proto__ || Object.getPrototypeOf(ScaleControl)).call(this, opts));\n\n _this.isMobile = opts.isMobile || false;\n return _this;\n }\n\n _createClass(ScaleControl, [{\n key: 'layout',\n value: function layout(map) {\n var self = this;\n var isMapResolutionChanged = false;\n var selectedOnClick = false;\n var select2 = $(this.element).children('select').select2({\n tags: true,\n dropdownParent: $(map.getTargetElement()),\n width: '120px',\n height: '20px',\n language: { noResults: function noResults() {\n return t(\"sdk.mapcontrols.scale.no_valid_scale\");\n } },\n minimumResultsForSearch: this.isMobile ? -1 : 0,\n createTag: function createTag() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var newTag = null;\n var scale = void 0;\n // Don't offset to create a tag if there is no @ symbol\n if (params.term.includes('1:')) {\n // Return null to disable tag creation\n scale = params.term.split('1:')[1];\n } else if (Number.isInteger(Number(params.term)) && Number(params.term) > 0) {\n scale = Number(params.term);\n if (scale <= self.scales[0]) {\n newTag = {\n id: scale,\n text: '1:' + params.term,\n new: true\n };\n deleteLastCustomScale();\n }\n }\n return newTag;\n }\n });\n //get change mapsize to close\n map.on('change:size', function () {\n return select2.select2('close');\n });\n\n function deleteLastCustomScale() {\n select2.find('option').each(function (index, option) {\n return !self.scales.includes(1 * option.value) && $(option).remove();\n });\n }\n\n function addCustomTag(data) {\n if (select2.find(\"option[value='\" + data.id + \"']\").length) {\n select2.val(data.id).trigger('change');\n } else {\n deleteLastCustomScale();\n select2.append(new Option(data.text, data.id, true, true)).trigger('change');\n }\n }\n\n map.on('moveend', function () {\n if (isMapResolutionChanged) {\n var scale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(this.getView().getResolution(), this.getView().getProjection().getUnits()));\n addCustomTag({\n id: scale,\n text: '1:' + scale,\n new: true\n });\n isMapResolutionChanged = false;\n } else {\n selectedOnClick = false;\n }\n });\n\n var setChangeResolutionHandler = function setChangeResolutionHandler() {\n map.getView().on('change:resolution', function () {\n return isMapResolutionChanged = !selectedOnClick;\n });\n };\n\n setChangeResolutionHandler();\n\n map.on('change:view', function () {\n return setChangeResolutionHandler();\n });\n\n select2.on('select2:select', function (e) {\n selectedOnClick = true;\n var data = e.params.data;\n if (data.new) {\n deleteLastCustomScale();\n addCustomTag(data);\n }\n map.getView().setResolution((0, _getResolutionFromScale.getResolutionFromScale)(1 * data.id, map.getView().getProjection().getUnits()));\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n return;\n }\n\n // set scales\n var currentScale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(map.getView().getResolution(), map.getView().getProjection().getUnits()));\n this.scales = _g3wConstants.PRINT_SCALES.map(function (s) {\n return s.value;\n }).filter(function (s) {\n return s < currentScale;\n });\n this.scales.unshift(currentScale);\n\n // create control\n var div = document.createElement('div');\n var select = document.createElement('select');\n var optgroup = Object.assign(document.createElement('optgroup'), { label: '' });\n\n this.scales.forEach(function (scale, index) {\n optgroup.appendChild(Object.assign(document.createElement('option'), {\n value: scale,\n text: '1:' + scale,\n selected: 0 === index\n }));\n });\n\n select.appendChild(optgroup);\n\n if (!this.isMobile) {\n var _optgroup = document.createElement('optgroup');\n _optgroup.label = 'Custom';\n select.appendChild(_optgroup);\n }\n\n div.appendChild(select);\n\n // set element of control (it is necessary to visualize it)\n this.element = div;\n $(this.element).css('height', '20px');\n\n this.layout(map);\n _get(ScaleControl.prototype.__proto__ || Object.getPrototypeOf(ScaleControl.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return ScaleControl;\n}(ol.control.Control);\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216}],148:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScreenshotControl = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/screenshotcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @FIXME prevent tainted canvas error\n * \n * Because the pixels in a canvas's bitmap can come from a variety of sources,\n * including images or videos retrieved from other hosts, it's inevitable that\n * security problems may arise. As soon as you draw into a canvas any data that\n * was loaded from another origin without CORS approval, the canvas becomes\n * tainted.\n * \n * A tainted canvas is one which is no longer considered secure, and any attempts\n * to retrieve image data back from the canvas will cause an exception to be thrown.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\nvar ScreenshotControl = exports.ScreenshotControl = function (_InteractionControl) {\n _inherits(ScreenshotControl, _InteractionControl);\n\n function ScreenshotControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScreenshotControl);\n\n opts.layers = undefined === opts.layers ? [] : opts.layers;\n\n var _this = _possibleConstructorReturn(this, (ScreenshotControl.__proto__ || Object.getPrototypeOf(ScreenshotControl)).call(this, _extends({\n name: \"maptoimage\",\n tipLabel: \"Screenshot\",\n label: '\\uE90F',\n clickmap: true,\n enabled: true,\n layers: []\n }, opts)));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n _this.layers = opts.layers;\n\n //set visibility based on layers\n _this.setVisible(_this.checkVisible(_this.layers));\n\n //only if is visible (no CORS issue) need to listen to add/remove layer\n if (_this.isVisible()) {\n //listen to add/remove External Layer event to check visibility of the control\n _gui2.default.getService('map').onafter('loadExternalLayer', _this._addLayer.bind(_this));\n _gui2.default.getService('map').onafter('unloadExternalLayer', _this._removeLayer.bind(_this));\n }\n return _this;\n }\n\n /**\n * @param { 'screenshot' | 'geoscreenshot' } type\n *\n * @since 3.11.0\n */\n\n\n _createClass(ScreenshotControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this2 = this;\n\n this.types.push(type);\n\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.screenshot.title',\n __iconClass: 'camera',\n data: function data() {\n return { types: _this2.types, type: _this2.types[0] };\n },\n template: /* html */'\\n
\\n \\n \\n
',\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* (e) {\n var map = _gui2.default.getService('map');\n // Start download\n _application2.default.download = true;\n e.target.disabled = true;\n try {\n var blobImage = yield map.createMapImage();\n\n if ('screenshot' === this.type) {\n // PNG\n window.saveAs(blobImage, 'map_' + Date.now() + '.png');\n } else {\n // GeoTIFF\n var body = new FormData();\n body.append('image', blobImage);\n body.append('csrfmiddlewaretoken', map.getCookie('csrftoken'));\n body.append('bbox', map.getMapBBOX().toString());\n window.saveAs((yield (yield fetch('/' + map.project.getType() + '/api/asgeotiff/' + map.project.getId() + '/', { method: 'POST', body: body })).blob()), 'map_' + Date.now() + '.tif');\n }\n } catch (e) {\n _gui2.default.showUserMessage({\n type: 'SecurityError' === err.name ? 'warning' : 'alert',\n message: 'SecurityError' === err.name ? 'mapcontrols.screenshot.securityError' : 'mapcontrols.screenshot.error',\n autoclose: false\n });\n console.warn(e);\n }\n // End download\n _application2.default.download = false;\n e.target.disabled = false;\n return true;\n });\n\n function download(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n\n /**\n * Called when a new layer is added to Project (eg. wms or vector layer)\n * \n * @since 3.8.3\n *\n */\n\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n var _this3 = this;\n\n this.layers.push(layer);\n this.change(this.layers);\n layer.on('change:visible', function () {\n return _this3.change(_this3.layers);\n });\n }\n\n /**\n * Called when a layer is removed from Project\n * \n * @since 3.8.3 \n */\n\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return l !== layer;\n });\n this.change(this.layers);\n }\n\n /**\n * Called when a layer is added or removed\n * \n * @param layers\n */\n\n }, {\n key: 'change',\n value: function change() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setVisible(this.checkVisible(layers));\n }\n\n /**\n * Check visibility for map control based on layers URLs.\n * \n * Allow printing external WMS layers only when they have\n * the same origin URL of the current application in order to avoid\n * CORS issue while getting map image.\n * \n * Layers that don't have a source URL are excluded (eg. base layers)\n * \n * @param {array} layers\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'checkVisible',\n value: function checkVisible() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // Need to be visible.\n // If it was not visible, the CORS issue was raised.\n // Need to reload and remove layer\n return this.isVisible() && !layers.some(isCrossOrigin);\n }\n }]);\n\n return ScreenshotControl;\n}(_interactioncontrol2.default);\n\n/**\n * Check if a layer has a Cross Origin source URI\n * \n * @param layer\n * \n * @returns {boolean} `true` whether the given layer could cause CORS issues (eg. while printing raster layers). \n */\n\n\nfunction isCrossOrigin(layer) {\n var source_url = void 0;\n\n // vector or hidden layers can't cause CORS issues\n if (layer.getVisible && !layer.getVisible() || layer instanceof ol.layer.Vector) {\n return false;\n }\n\n // image layer (OpenLayers)\n if (layer instanceof ol.layer.Tile || layer instanceof ol.layer.Image) {\n source_url = layer.getSource().getUrl();\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n // external image layer (eg: \"core/layers/imagelayer.js\")\n if ((layer.getConfig().source || {}).external) {\n source_url = layer.getConfig().source.url;\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n return false;\n}\n\n},{\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"store/application\":178,\"utils/sameOrigin\":237}],149:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StreetViewControl = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/streetviewcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar GoogleStreetViewApiUrl = 'https://maps.googleapis.com/maps/api/';\n\nvar StreetViewControl = function (_InteractionControl) {\n _inherits(StreetViewControl, _InteractionControl);\n\n function StreetViewControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, StreetViewControl);\n\n /**\n * Check Google Key\n */\n var _this = _possibleConstructorReturn(this, (StreetViewControl.__proto__ || Object.getPrototypeOf(StreetViewControl)).call(this, _extends({}, opts, {\n offline: false,\n visible: true, // always visible. Only change behavior if exist or not\n name: \"streetview\",\n tipLabel: \"StreetView\",\n clickmap: true,\n label: '\\uE905',\n interactionClass: _pickcoordinatesinteraction2.default,\n interactionClassOptions: { cursor: 'ol-streetview' },\n cursorClass: 'ol-streetview'\n })));\n\n _this.key = _application2.default.keys.vendorkeys.google;\n\n if (_this.key) {\n _XHR.XHR.get({\n url: GoogleStreetViewApiUrl + 'streetview',\n params: {\n location: 0,\n size: '456x456',\n key: _this.key\n }\n }).catch(function (e) {\n console.warn(e);_this.keyError = e.responseText;\n });\n }\n\n // get script\n $script(GoogleStreetViewApiUrl + 'js?' + (_this.key ? 'key=' + _this.key : ''));\n\n /***/\n\n _this._sv = null;\n _this._panorama = null;\n _this._map = null;\n _this._projection = null;\n _this._lastposition = null;\n _this._streetViewFeature = new ol.Feature();\n _this.active = false;\n\n _this._layer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [] }),\n style: function style(feature) {\n var coordinates = feature.getGeometry().getCoordinates();\n this._lastposition = this._lastposition ? this._lastposition : coordinates;\n var dx = coordinates[0] - this._lastposition[0];\n var dy = coordinates[1] - this._lastposition[1];\n var rotation = -Math.atan2(dy, dx);\n var styles = [new ol.style.Style({\n text: new ol.style.Text({\n text: '\\uE905',\n font: 'bold 18px icomoon',\n fill: new ol.style.Fill({\n color: '#ffffff'\n })\n })\n }), new ol.style.Style({\n image: new ol.style.Icon({\n src: '/static/client/images/streetviewarrow.png',\n rotation: rotation\n })\n })];\n this._lastposition = coordinates;\n return styles;\n }\n });\n\n //@since 3.11.0.\n // In the case of key provided and open content with streetview images,\n // on close content need to remove point (icon street view on a map)\n if (_this.key) {\n _gui2.default.on('closecontent', function () {\n if (_this.isToggled()) {\n _this._layer.getSource().clear();\n }\n });\n }\n\n return _this;\n }\n\n _createClass(StreetViewControl, [{\n key: 'setProjection',\n value: function setProjection(projection) {\n this._projection = projection;\n }\n }, {\n key: 'setPosition',\n value: function setPosition(position) {\n var _this2 = this;\n\n var pixel = void 0;\n var self = this;\n this.active = true;\n if (!this._sv) {\n this._sv = new google.maps.StreetViewService();\n }\n this._sv.getPanorama({ location: position }, function (data) {\n self._panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview'), { imageDateControl: true });\n /**\n * Listen on position change\n */\n self._panorama.addListener('position_changed', function () {\n if (self.isToggled()) {\n var lnglat = ol.proj.transform([this.getPosition().lng(), this.getPosition().lat()], 'EPSG:4326', self._projection.getCode());\n self._streetViewFeature.setGeometry(new ol.geom.Point(lnglat));\n pixel = self._map.getPixelFromCoordinate(lnglat);\n if (pixel[0] + 15 > self._map.getSize()[0] || pixel[1] + 15 > self._map.getSize()[1] || pixel[0] < 15 || pixel[1] < 15) {\n self._map.getView().setCenter(lnglat);\n }\n }\n });\n if (data && data.location) {\n self._panorama.setPov({\n pitch: 0,\n heading: 0\n });\n\n self._panorama.setPosition(data.location.latLng);\n }\n }).then(function (response) {\n if (undefined === response) {\n _gui2.default.closeContent();\n }\n }).catch(function (e) {\n console.warn(e);_this2.toggle();\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n var _this3 = this;\n\n this._map = map;\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'setMap', this).call(this, map);\n\n this.setProjection(this._map.getView().getProjection());\n this._map.addLayer(this._layer);\n\n this._interaction.on('picked', function (_ref) {\n var coordinate = _ref.coordinate;\n\n _this3.showStreetView(coordinate);\n if (_this3._autountoggle) {\n _this3.toggle();\n }\n });\n }\n\n /**\n * Method to show StreetView depending on a key and keyError\n * @param coordinate\n */\n\n }, {\n key: 'showStreetView',\n value: function showStreetView(coordinate) {\n var _ol$proj$transform = ol.proj.transform(coordinate, this._map.getView().getProjection().getCode(), 'EPSG:4326'),\n _ol$proj$transform2 = _slicedToArray(_ol$proj$transform, 2),\n lng = _ol$proj$transform2[0],\n lat = _ol$proj$transform2[1];\n\n if (this.key) {\n _gui2.default.setContent({\n title: 'StreetView',\n content: '
' + (this.keyError ? '' + this.keyError + '
' : '') + '
'\n });\n if (!this.keyError) {\n this.setPosition({ lng: lng, lat: lat });\n }\n } else {\n this._streetViewFeature.setGeometry(new ol.geom.Point(coordinate));\n window.open('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + lat + ',' + lng);\n }\n }\n }, {\n key: 'clearMarker',\n value: function clearMarker() {\n this._streetViewFeature.setGeometry(null);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._streetViewFeature.setGeometry(null);\n this.clearMarker();\n this._panorama = null;\n if (this.active) {\n _gui2.default.closeContent();\n }\n this.active = false;\n }\n }, {\n key: 'toggle',\n value: function toggle(_toggle) {\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'toggle', this).call(this, _toggle);\n if (this.isToggled()) {\n this._layer.getSource().addFeatures([this._streetViewFeature]);\n } else {\n this.clear();\n }\n }\n }]);\n\n return StreetViewControl;\n}(_interactioncontrol2.default);\n\nexports.StreetViewControl = StreetViewControl;\n\n},{\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181}],150:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickcoordinatesinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickCoordinatesInteraction = function (_ol$interaction$Point) {\n _inherits(PickCoordinatesInteraction, _ol$interaction$Point);\n\n function PickCoordinatesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickCoordinatesInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickCoordinatesInteraction.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n var _this2 = this;\n\n this._centerMap = e.map.getView().getCenter();\n // set timeout to avoid blocking pan\n setTimeout(function () {\n if (_this2._centerMap === e.map.getView().getCenter()) {\n _this2.handleUpEvent(e);\n }\n }, 300);\n // return false to avoid start of drag event\n return false;\n },\n handleUpEvent: function handleUpEvent(e) {\n this.dispatchEvent({\n type: 'picked',\n coordinate: e.coordinate\n });\n // it used to stop drag event\n return false;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getViewport().classList.add(this._cursor);\n return true;\n }\n }, opts)));\n\n _this._cursor = opts.cursor || 'ol-pointer';\n // this.previousCursor_ = null;\n _this._centerMap = null;\n return _this;\n }\n\n _createClass(PickCoordinatesInteraction, [{\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setActive',\n value: function setActive(bool) {\n var map = this.getMap();\n if (map) {\n map.getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setActive', this).call(this, bool);\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickCoordinatesInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickCoordinatesInteraction;\n\n},{}],151:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickfeatureinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickFeatureInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeatureInteraction, _ol$interaction$Point);\n\n function PickFeatureInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickFeatureInteraction.__proto__ || Object.getPrototypeOf(PickFeatureInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n this.pickedFeature_ = this.featuresAtPixel_(e.pixel, e.map);\n return this.pickedFeature_;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (this.pickedFeature_) {\n this.dispatchEvent({\n type: 'picked',\n feature: this.pickedFeature_,\n coordinate: e.coordinate,\n layer: this.pickedLayer_\n });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = this.featuresAtPixel_(e.pixel, e.map) ? 'pointer' : '';\n }\n }, opts)));\n\n var features = opts.features;\n\n _this.features_ = Array.isArray(features) && features.length > 0 ? features : null;\n _this.layers_ = opts.layers || null;\n _this.pickedFeature_ = null;\n _this.pickedLayer_ = null;\n return _this;\n }\n\n _createClass(PickFeatureInteraction, [{\n key: 'layerFilter_',\n value: function layerFilter_(layer) {\n var include = (this.layers_ || []).includes(layer);\n this.pickedLayer_ = include && layer;\n return include;\n }\n }, {\n key: 'featuresAtPixel_',\n value: function featuresAtPixel_(pixel, map) {\n var _this2 = this;\n\n var featureFound = null;\n var intersectingFeature = map.forEachFeatureAtPixel(pixel, function (feature) {\n if (_this2.features_) {\n if (_this2.features_.includes(feature)) {\n return feature;\n } else {\n return null;\n }\n }\n return feature;\n }, {\n layerFilter: this.layerFilter_.bind(this),\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n if (intersectingFeature) {\n featureFound = intersectingFeature;\n }\n return featureFound;\n }\n }, {\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getTargetElement().style.cursor = '';\n }\n _get(PickFeatureInteraction.prototype.__proto__ || Object.getPrototypeOf(PickFeatureInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickFeatureInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickFeatureInteraction;\n;\n\n},{}],152:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Feature = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wConstants2 = _interopRequireDefault(_g3wConstants);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/feature.js@v3.10.2\n * @since 3.11.0\n */\n\nvar Feature = exports.Feature = function (_ol$Feature) {\n _inherits(Feature, _ol$Feature);\n\n function Feature() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Feature);\n\n var _this = _possibleConstructorReturn(this, (Feature.__proto__ || Object.getPrototypeOf(Feature)).call(this));\n\n _this.state = {\n new: false,\n state: null,\n visible: true\n };\n\n //store unique id for the feature\n _this._uid = (0, _getUniqueDomId.getUniqueDomId)();\n\n //{ Boolean }: true if feature has geometry\n _this._geometry = false;\n\n // check if it has to set only some properties or all feature properties\n if (opts.feature && opts.properties && Array.isArray(opts.properties)) {\n opts.properties.forEach(function (p) {\n return _this.set(p, opts.feature.get(p));\n });\n } else if (opts.feature) {\n _this.setProperties(opts.feature.getProperties());\n }\n\n if (opts.feature) {\n _this.setId(opts.feature.getId());\n _this.setGeometryName(opts.feature.getGeometryName());\n }\n\n var geometry = opts.feature && opts.feature.getGeometry();\n\n //check if feature has geometry\n if (geometry) {\n _this._geometry = true;\n _this.setGeometry(geometry);\n }\n\n //check if it has style associated\n var style = _this.getStyle();\n if (style) {\n _this.setStyle(style);\n }\n return _this;\n }\n\n /**\n * Return unique id\n * @returns {*}\n */\n\n\n _createClass(Feature, [{\n key: 'getUid',\n value: function getUid() {\n return this._uid;\n }\n\n /**\n *\n * @return {boolean}\n */\n\n }, {\n key: 'isGeometry',\n value: function isGeometry() {\n return this._geometry;\n }\n\n /**\n * Clone a feature with id and pk new\n * @param pk field send pk field\n * @returns {Feature}\n */\n\n }, {\n key: 'cloneNew',\n value: function cloneNew(pk) {\n var clone = this.clone();\n //set new unique id\n clone._uid = (0, _getUniqueDomId.getUniqueDomId)();\n clone.setTemporaryId();\n //in the case of send pk field object set temporary new value\n //to avoid duplicate pk when save clone feature on server\n if (pk && false === pk.editable) {\n //need to be set null\n clone.set(pk.name, null);\n }\n return clone;\n }\n\n /**\n * clone existing feature\n * @returns {Feature}\n */\n\n }, {\n key: 'clone',\n value: function clone() {\n var feature = _get(Feature.prototype.__proto__ || Object.getPrototypeOf(Feature.prototype), 'clone', this).call(this);\n feature.setId(this.getId());\n //if it has geometry, need to clone geometry\n if (this.isGeometry()) {\n feature.setGeometry(feature.getGeometry().clone());\n }\n var clone = new Feature({ feature: feature });\n clone._uid = this.getUid();\n clone.setState(this.getState());\n if (this.isNew()) {\n clone.setNew();\n }\n return clone;\n }\n }, {\n key: 'setTemporaryId',\n value: function setTemporaryId() {\n this.setId('_new_' + (0, _getUniqueDomId.getUniqueDomId)());\n this.setNew();\n }\n }, {\n key: 'setNew',\n value: function setNew() {\n this.state.new = true;\n }\n }, {\n key: 'delete',\n value: function _delete() {\n this.state.state = 'delete';\n return this;\n }\n }, {\n key: 'update',\n value: function update() {\n this.state.state = 'update';\n return this;\n }\n }, {\n key: 'add',\n value: function add() {\n this.state.state = 'add';\n return this;\n }\n }, {\n key: 'isNew',\n value: function isNew() {\n return this.state.new;\n }\n }, {\n key: 'isAdded',\n value: function isAdded() {\n return 'add' === this.state.state;\n }\n }, {\n key: 'isUpdated',\n value: function isUpdated() {\n return 'update' === this.state.state;\n }\n }, {\n key: 'isDeleted',\n value: function isDeleted() {\n return 'delete' === this.state.state;\n }\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state.state = state;\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state.state;\n }\n\n /**\n * Get only alphanumerical properties. No geometry property is returned\n * @return {{ Object }}\n */\n\n }, {\n key: 'getAlphanumericProperties',\n value: function getAlphanumericProperties() {\n return Object.entries(this.getProperties()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n _ = _ref2[1];\n\n return !_g3wConstants2.default.GEOMETRY_FIELDS.includes(name);\n }).reduce(function (attrs, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n n = _ref4[0],\n v = _ref4[1];\n\n attrs[n] = v;return attrs;\n }, {});\n }\n\n /**\n * clean state of the features\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.state = null;\n this.state.new = false;\n }\n\n /**\n * need to filter features visiblity on table\n * @returns {boolean}\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility of feature\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.visible = bool;\n }\n }]);\n\n return Feature;\n}(ol.Feature);\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],153:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FeaturesStore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/featurestore.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\nvar FeaturesStore = exports.FeaturesStore = function (_G3WObject) {\n _inherits(FeaturesStore, _G3WObject);\n\n function FeaturesStore() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FeaturesStore);\n\n var _this = _possibleConstructorReturn(this, (FeaturesStore.__proto__ || Object.getPrototypeOf(FeaturesStore)).call(this));\n\n _this._features = opts.features || [];\n _this._provider = opts.provider || null;\n _this._loadedIds = []; // store features id load by current user\n _this._lockIds = []; // store locked features\n\n //setters\n _this.setters = {\n /**\n * Add an array of features\n * @param { Array } features\n */\n addFeatures: function addFeatures() {\n var _this2 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this2._addFeature(f);\n });\n },\n\n /**\n * Add single feature\n * @param feature\n */\n addFeature: function addFeature(feature) {\n this._addFeature(feature);\n },\n\n /**\n * Remove a feature\n * @param feature\n */\n removeFeature: function removeFeature(feature) {\n this._removeFeature(feature);\n },\n\n /**\n * Update (substitute) a feature\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._updateFeature(feature);\n },\n\n /**\n * Remove all feature\n */\n clear: function clear() {\n this._clearFeatures();\n },\n\n /**\n * Get features from server\n * @param opts\n * @return { Promise }\n */\n getFeatures: function getFeatures() {\n var _this3 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (_this3._provider) {\n //call provider getFeatures to get features from server\n //get the feature base on response from server features, featurelockis etc ...\n var features = _this3._filterFeaturesResponse((yield _this3._provider.getFeatures(opts)));\n _this3.addFeatures(features);\n return features;\n }\n return _this3._features; // Get features stored. No call to server is done\n }));\n },\n\n /**\n * Commit changes (add, update, delete) to server\n * @param commitItems\n * @param featurestore Its is used????\n * @return {*}\n */\n commit: function commit(commitItems, featurestore) {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (commitItems && _this4._provider) {\n commitItems.lockids = _this4._lockIds;\n return yield _XHR.XHR.post({\n url: _this4._provider._layer.getUrl('commit'),\n data: JSON.stringify(commitItems),\n contentType: 'application/json'\n });\n }\n return Promise.reject();\n }));\n },\n\n /**\n * setter to know when some features are locked\n */\n featuresLockedByOtherUser: function featuresLockedByOtherUser() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n }\n };\n\n return _this;\n }\n\n _createClass(FeaturesStore, [{\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'setProvider',\n value: function setProvider(provider) {\n this._provider = provider;\n }\n }, {\n key: 'getProvider',\n value: function getProvider() {\n return this._provider;\n }\n\n /**\n * Unlock features. Other users can edit these features\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.post({ url: _this5._provider._layer.getUrl('unlock') });\n }));\n }\n\n /**\n * Filter features to add\n * @param options\n * @private\n * @return Array of features to add\n */\n\n }, {\n key: '_filterFeaturesResponse',\n value: function _filterFeaturesResponse() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /**\n * features uis array of feature returned from server and feature that are currently locked.\n * featurelocks is array of the feature that can be locker by current client request (not locked by another user)\n * featurelocks array item\n * {\n * featureid: Is current id of feature locked\n * lockid: Is a server unique lock id number\n * }\n * ex.\n * {featureid: \"1\", lockid: \"6bbab1c1c03332fb39b8ffae35e557ba\"}\n *\n * If featurelocks are less than features, it means that another user is editing these features\n *\n *\n * @type {*[]}\n */\n var _options$features = options.features,\n features = _options$features === undefined ? [] : _options$features,\n _options$featurelocks = options.featurelocks,\n featurelocks = _options$featurelocks === undefined ? [] : _options$featurelocks;\n\n //if no features locks mean another user locks all feature requests\n\n if (0 === featurelocks.length) {\n //if there are features on response\n if (features.length > 0) {\n //It means that another user locks these features\n this.featuresLockedByOtherUser(features);\n }\n return [];\n }\n\n //get already loaded feature id locked by current user\n var fids = this._lockIds.map(function (_ref4) {\n var featureid = _ref4.featureid;\n return featureid;\n });\n featurelocks.filter(function (_ref5) {\n var featureid = _ref5.featureid;\n return !fids.includes(featureid);\n }) //exclude features already locked by current user\n .forEach(function (fl) {\n return _this6._lockIds.push(fl);\n }); //update lockIds based on a featurelocks array from response\n\n //store features locked by another user\n var lockFeatures = [];\n\n //Store features to add to layers source\n var featuresToAdd = features.filter(function (f) {\n //get feature id\n var featureId = f.getId();\n //check if feature id is locked features\n //it means that is not locked by another user.\n if (featurelocks.find(function (_ref6) {\n var featureid = _ref6.featureid;\n return featureId == featureid;\n })) {\n //check if feature is not yet added for the current user\n if (_this6._loadedIds.indexOf(featureId) === -1) {\n _this6._loadedIds.push(featureId);\n return true;\n } else {\n return false; //feature locked by the current user\n }\n } else {\n lockFeatures.push(f);\n return false; //feature locked by another user\n }\n });\n\n //if features locks are less than features get from server,\n // it means that another user locks some features\n if (featurelocks.length < features.length) {\n this.featuresLockedByOtherUser(lockFeatures);\n }\n\n return featuresToAdd;\n }\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._lockIds;\n }\n\n /**\n * Add new lockid\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n var _this7 = this;\n\n this._lockIds = _.union(this._lockIds, lockIds);\n this._lockIds.forEach(function (_ref7) {\n var featureid = _ref7.featureid;\n return _this7._loadedIds.push(featureid);\n });\n }\n\n /**\n * Get feature\n * @param id\n * @return { Feature }\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.find(function (f) {\n return uid === f.getUid();\n });\n }\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n }\n\n /**\n * Substitute (update) feature after update\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var _this8 = this;\n\n this._features.find(function (feat, idx) {\n if (feature.getUid() === feat.getUid()) {\n _this8._features[idx] = feature;\n return true;\n }\n });\n }\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._features = features;\n }\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n this._features = this._features.filter(function (f) {\n return feature.getUid() !== f.getUid();\n });\n }\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n this._features = null;\n this._features = [];\n this._lockIds = [];\n this._loadedIds = [];\n }\n }, {\n key: 'getDataProvider',\n value: function getDataProvider() {\n return this._provider;\n }\n\n // only read downloaded features\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._features;\n }\n }]);\n\n return FeaturesStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":181,\"utils/promisify\":232}],154:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/mixins/geo.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @TODO convert it to ES6 class (or external utils)\n *\n * @file\n * @since 3.9.0\n */\n\n/**\n * ES6 mixin\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends#mix-ins\n * \n * @example class ImageLayer extends GeoLayerMixin(Layer) {}\n */\nexports.default = function (BaseClass) {\n return function (_BaseClass) {\n _inherits(_class, _BaseClass);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setup',\n value: function setup() {\n var _this2 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n console.log(\"GeoLayerMixin must be used from a valid (geo) Layer instance\");\n return;\n }\n\n Object.assign(this.config, {\n map_crs: options.project.getProjection().getCode(),\n multilayerid: config.multilayer,\n projection: config.projection ? config.projection.getCode() === config.crs.epsg ? config.projection : _projections2.default.get(config.crs) : undefined,\n attributions: config.attributions ? config.attributions : undefined\n });\n\n this.legendCategories = {};\n\n // Features that contain\n this.olSelectionFeatures = {}; // key id / fid of feature and values is an object with feature and added\n\n // state extend of layer setting geolayer property to true\n // and adding information of bbox\n Object.assign(this.state, {\n geolayer: \"NoGeometry\" !== config.geometrytype,\n legend: {\n url: null,\n loading: false,\n error: false,\n /** @deprecated since 3.8. Will be removed in 4.x. Use `expanded` attribute instead */\n show: true,\n /** used when categories changed (checkbox on TOC) and legend is on TAB */\n change: false\n },\n external: config.source && config.source.external || false,\n bbox: config.bbox || null,\n visible: config.visible || false,\n checked: config.visible || false,\n epsg: config.crs.epsg,\n hidden: config.hidden || false,\n scalebasedvisibility: config.scalebasedvisibility || false,\n minscale: config.minscale,\n maxscale: config.maxscale,\n ows_method: config.ows_method,\n\n /**\n * @type {boolean}\n */\n exclude_from_legend: 'boolean' === typeof config.exclude_from_legend ? config.exclude_from_legend : true,\n\n /**\n * Has more than one category's legend\n * \n * @type {boolean}\n */\n categories: false,\n\n /**\n * Toggle legend item state (expandend or collapsed) in catalog layers (TOC)\n * \n * @type {number}\n *\n * @since v3.8\n */\n expanded: config.expanded,\n\n /**\n * Layer opacity\n * \n * @type {number} opacity range = [0, 100]\n * \n * @since v3.8\n */\n opacity: config.opacity || 100\n });\n\n // sanitize source url\n if (config.source && config.source.url) {\n var checkUrl = new URL(this.config.source.url);\n // reserved WMS params\n ['VERSION', 'REQUEST', 'BBOX', 'LAYERS', 'WIDTH', 'HEIGHT', 'DPI', 'FORMAT', 'CRS'].forEach(function (p) {\n var params = [p.toUpperCase(), p.toLowerCase()];\n for (var i = 0; i < 2; i++) {\n var param = params[i];\n var value = checkUrl.searchParams.get(param);\n if (value) {\n _this2.config.source.url = _this2.config.source.url.replace(param + '=' + value, '');\n break;\n }\n }\n });\n }\n }\n\n /**\n * Legend Graphic section\n */\n\n }, {\n key: 'getLegendGraphic',\n value: function getLegendGraphic() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$all = _ref.all,\n all = _ref$all === undefined ? true : _ref$all;\n\n return _XHR.XHR.get({\n url: this.getLegendUrl((window.initConfig.layout || { legend: {} }).legend, {\n categories: true,\n format: 'application/json', // is the format to request categories (icon and label of each category)\n all: all // true meaning no bbox no filter just all referred to\n })\n });\n }\n\n /**\n * Set layer categories legend\n * @param { Array }categories\n */\n\n }, {\n key: 'setCategories',\n value: function setCategories() {\n var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.legendCategories[this.getCurrentStyle().name] = categories;\n //set categories state attribute to true only if exist at least a rule key\n this.state.categories = (categories || []).filter(function (category) {\n return category.ruleKey;\n }).length > 0;\n }\n\n /**\n * Return eventually categories of layers legend\n * @returns {string[] | string | [] | *[] | boolean | {default: {level: *, appenders: string[]}}}\n */\n\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.legendCategories[this.getCurrentStyle().name];\n }\n\n /**\n * Clear all categories\n */\n\n }, {\n key: 'clearCategories',\n value: function clearCategories() {\n this.legendCategories = {};\n this.state.categories = false;\n }\n\n /**\n * End Legend Graphic section\n */\n\n /**\n * [LAYER SELECTION]\n * \n * Clear all selection Openlayers features\n */\n\n }, {\n key: 'clearOlSelectionFeatures',\n value: function clearOlSelectionFeatures() {\n this.olSelectionFeatures = {};\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get OpenLayer selection feature by feature id\n * \n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getOlSelectionFeature',\n value: function getOlSelectionFeature(id) {\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Update selected feature (Case change geometry)\n * \n * @param id\n * @param feature\n */\n\n }, {\n key: 'updateOlSelectionFeature',\n value: function updateOlSelectionFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n feature = _ref2.feature;\n\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n selected.feature = feature;\n _gui2.default.getService('map').setSelectionFeatures('update', { feature: feature });\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Delete OpenLayer feature selection by feature id\n * \n * @param id\n */\n\n }, {\n key: 'deleteOlSelectionFeature',\n value: function deleteOlSelectionFeature(id) {\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n /** @FIXME undefined variable */\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: selected.feature });\n delete this.olSelectionFeatures[id];\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get all OpenLayers feature selections\n * \n * @returns { {} | null }\n */\n\n }, {\n key: 'getOlSelectionFeatures',\n value: function getOlSelectionFeatures() {\n return this.olSelectionFeatures;\n }\n\n /**\n * [LAYER SELECTION]\n \n * @param id\n * @param feature\n *\n * @returns {*}\n */\n\n }, {\n key: 'addOlSelectionFeature',\n value: function addOlSelectionFeature() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n feat = _ref3.feature;\n\n //create a new ol feature\n var feature = new ol.Feature(feat.geometry);\n feature.setId(id);\n Object.entries(feat.attributes).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n a = _ref5[0],\n v = _ref5[1];\n\n return feature.set(a, v);\n });\n this.olSelectionFeatures[id] = this.olSelectionFeatures[id] || {\n feature: feature,\n added: false,\n selected: false /** @since 3.9.9 */\n };\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n *\n * Set selection layer on a map not visible\n */\n\n }, {\n key: 'hideOlSelectionFeatures',\n value: function hideOlSelectionFeatures() {\n _gui2.default.getService('map').toggleSelection(false, this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Show all selection features\n */\n\n }, {\n key: 'updateMapOlSelectionFeatures',\n value: function updateMapOlSelectionFeatures() {\n // Loop `added` features (selected)\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n });\n // Ensures visibility of selection layer on a map\n // in case of layer filter active, always not visible\n _gui2.default.getService('map').toggleSelection(!this.state.filter.active && Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }), this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Toggle `added` property on all features\n */\n\n }, {\n key: 'setInversionOlSelectionFeatures',\n value: function setInversionOlSelectionFeatures() {\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n //invert select state\n f.selected = !f.selected;\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n });\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param fid\n * @param action\n * \n * @returns {*}\n */\n\n }, {\n key: 'setOlSelectionFeatureByFid',\n value: function setOlSelectionFeatureByFid(fid, action) {\n var selected = this.getOlSelectionFeature(fid);\n if (selected && selected.feature) {\n //set selected\n selected.selected = 'add' === action;\n return this.setOlSelectionFeatures({\n id: fid,\n feature: selected.feature\n }, action);\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param feature\n * @param action\n * \n * @returns { boolean }\n */\n\n }, {\n key: 'setOlSelectionFeatures',\n value: function setOlSelectionFeatures(feature) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n\n // select a single feature\n if (feature) {\n var feat = this.getOlSelectionFeature(feature.id);\n feat.feature.__layerId = 'add' === action && !feat.added ? this.getId() : undefined; // <-- used when working with selected Layer features\n this.updateMapOlSelectionFeatures();\n }\n\n // select all features\n if (!feature) {\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n //remove selection feature\n if (feat.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feat.feature });\n }\n feat.added = false;\n feat.selected = false;\n });\n }\n\n return undefined === Object.values(this.olSelectionFeatures).find(function (feat) {\n return feat.added;\n });\n }\n }, {\n key: 'isLayerCheckedAndAllParents',\n value: function isLayerCheckedAndAllParents() {\n var checked = this.isChecked();\n if (checked) {\n var parentGroup = this.state.parentGroup;\n //loop from bottom to top\n while (checked && parentGroup) {\n checked = checked && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n }\n return checked;\n }\n\n /**\n * Set layer legend item `checked` state (TOC)\n * \n * @param { boolean } bool\n */\n\n }, {\n key: 'setChecked',\n value: function setChecked(bool) {\n this.state.checked = bool;\n }\n\n /**\n * @returns { boolean } whether layer legend item is checked (TOC)\n */\n\n }, {\n key: 'isChecked',\n value: function isChecked() {\n return this.state.checked;\n }\n\n /**\n * Is a method that check for visiblitity dissabled (based on scalevisibility) and checked on toc\n * @param { Boolean } bool\n * @returns {*}\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n //get current visibility\n var visible = this.state.visible;\n // set visibility bool and is checked\n this.state.visible = bool && this.isChecked();\n //Check if change the visibility\n if (visible !== this.state.visible) {\n this.change();\n }\n return this.state.visible;\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n *\n * @param scale\n * @return {boolean}\n */\n\n }, {\n key: 'isPrintable',\n value: function isPrintable() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref6.scale;\n\n return this.isLayerCheckedAndAllParents() && (!this.state.scalebasedvisibility || scale >= this.state.maxscale && scale <= this.state.minscale);\n }\n\n //get style form layer\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n return this.config.source.external ? this.config.source.styles : this.config.styles;\n }\n }, {\n key: 'getStyle',\n value: function getStyle() {\n return this.config.source.external ? this.config.source.styles : this.config.styles ? this.config.styles.find(function (s) {\n return s.current;\n }).name : '';\n }\n\n /**\n * Get transparency property\n * \n * @returns {number}\n * \n * @since v3.8\n */\n\n }, {\n key: 'getOpacity',\n value: function getOpacity() {\n return this.state.opacity;\n }\n\n /**\n * Method to change the current style of layer\n * @param name\n * @returns { Boolean }\n */\n\n }, {\n key: 'setCurrentStyle',\n value: function setCurrentStyle(name) {\n var changed = !this.config.styles.find(function (s) {\n return name === s.name;\n }).current;\n this.config.styles.forEach(function (s) {\n return s.current = name === s.name;\n });\n return changed;\n }\n }, {\n key: 'getCurrentStyle',\n value: function getCurrentStyle() {\n return this.config.styles.find(function (s) {\n return s.current;\n });\n }\n\n /**\n * Disable layer by check scalevisibility configuration value\n * @param resolution\n * @param mapUnits\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(resolution) {\n var mapUnits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n if (this.state.scalebasedvisibility) {\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(resolution, mapUnits);\n this.state.disabled = !(mapScale >= this.state.maxscale && mapScale <= this.state.minscale);\n this.state.disabled = this.state.minscale === 0 ? !(mapScale >= this.state.maxscale) : this.state.disabled;\n // needed to check if call setVisible is change disable property\n // looping through parentfolter checked\n var setVisible = true;\n var parentGroup = this.state.parentGroup;\n while (parentGroup) {\n setVisible = setVisible && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n if (setVisible) {\n this.setVisible(!this.state.disabled);\n }\n // change toc highlight property based on disabled otr not\n if (this.isFilterable()) {\n this.setTocHighlightable(!this.state.disabled);\n }\n } else {\n this.state.disabled = false;\n }\n }\n }, {\n key: 'getMultiLayerId',\n value: function getMultiLayerId() {\n return this.config.multilayerid;\n }\n }, {\n key: 'getGeometryType',\n value: function getGeometryType() {\n return this.config.geometrytype;\n }\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.config.ows_method;\n }\n }, {\n key: 'setProjection',\n value: function setProjection() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config.projection = _projections2.default.get(crs);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.projection ? this.config.projection.getCode() : null;\n }\n }, {\n key: 'getMapCrs',\n value: function getMapCrs() {\n return this.config.map_crs;\n }\n }, {\n key: 'isCached',\n value: function isCached() {\n return this.config.cache_url && '' !== this.config.cache_url;\n }\n }, {\n key: 'getCacheUrl',\n value: function getCacheUrl() {\n // mapproxy provider → cache_url already contains \"{z}/{x}/{-y}.png\"\n if (this.isCached() && this.config.cache_provider && 'mapproxy' === this.config.cache_provider) {\n return this.config.cache_url;\n }\n if (this.isCached()) {\n return this.config.cache_url + '/{z}/{x}/{y}.png';\n }\n }\n\n // return if layer has inverted axis\n\n }, {\n key: 'hasAxisInverted',\n value: function hasAxisInverted() {\n var projection = this.getProjection();\n var axisOrientation = projection.getAxisOrientation ? projection.getAxisOrientation() : \"enu\";\n return axisOrientation.substr(0, 2) === 'ne';\n }\n\n /**\n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n console.log('overwrite by single layer');\n }\n\n /**\n *\n * @param projection\n */\n\n }, {\n key: 'setMapProjection',\n value: function setMapProjection(projection) {\n this._mapProjection = projection;\n }\n }, {\n key: 'getMapProjection',\n value: function getMapProjection() {\n return this._mapProjection;\n }\n }]);\n\n return _class;\n }(BaseClass);\n};\n\n},{\"services/gui\":173,\"store/projections\":180,\"utils/XHR\":181,\"utils/getScaleFromResolution\":216}],155:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RasterLayer = exports.ImageLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _layer = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _get_legend_params2 = require('utils/get_legend_params');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/imagelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * Stringify a query URL param (eg. `&WIDTH=700`)\n * \n * @param name\n * @param value\n * \n * @returns { string | null } a string if value is set or null\n */\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\n/**\n * @TODO merge \"RasterLayer\" class into \"ImageLayer\"\n * \n * ORIGINAL SOURCE: src/app/core/layers/map/maplayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmslayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmstlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/xyzlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/arcgismapserverlayer.js@v3.10.1\n */\n\nvar RasterLayer = function (_G3WObject) {\n _inherits(RasterLayer, _G3WObject);\n\n function RasterLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'GET';\n\n _classCallCheck(this, RasterLayer);\n\n var _this = _possibleConstructorReturn(this, (RasterLayer.__proto__ || Object.getPrototypeOf(RasterLayer)).call(this));\n\n _this.config = config;\n _this.id = config.id;\n _this.iframe_internal = config.iframe_internal || false;\n _this.extent = config.extent;\n _this.projection = config.projection;\n _this.layer = null;\n _this.layers = config.layers || []; // store all enabled layers\n _this.allLayers = []; // store all layers\n _this.showSpinnerWhenLoading = true;\n\n if ('XYZ' !== _this.config.type) {\n _this.LAYERTYPE = {\n LAYER: 'layer',\n MULTILAYER: 'multilayer'\n };\n _this.getInfoFormat = function () {\n return 'application/vnd.ogc.gml';\n };\n _this.getGetFeatureInfoUrl = function (coordinate, resolution, epsg, params) {\n return _this.getOLLayer().getSource().getGetFeatureInfoUrl(coordinate, resolution, epsg, params);\n };\n _this.getQueryUrl = function () {\n if (_this.layers[0].infourl && '' !== _this.layers[0].infourl) {\n return _this.layers[0].infourl;\n }\n return _this.config.url;\n };\n }\n\n _this.extraParams = extraParams;\n\n _this._method = method;\n return _this;\n }\n\n _createClass(RasterLayer, [{\n key: 'getId',\n value: function getId() {\n return this.id;\n }\n }, {\n key: 'getOLLayer',\n value: function getOLLayer(withLayers) {\n if (!this._olLayer) {\n this._olLayer = this._makeOlLayer(withLayers);\n }\n return this._olLayer;\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.getOLLayer().getSource();\n }\n }, {\n key: 'getLayerConfigs',\n value: function getLayerConfigs() {\n return this.layers;\n }\n }, {\n key: 'addLayer',\n value: function addLayer(layer) {\n if (!this.allLayers.find(function (l) {\n return layer === l;\n })) {\n this.allLayers.push(layer);\n }\n if (!this.layers.find(function (l) {\n return layer === l;\n })) {\n this.layers.push(layer);\n }\n if ('XYZ' === this.config.type) {\n this.layer = layer;\n }\n }\n }, {\n key: 'removeLayer',\n value: function removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return layer !== l;\n });\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.layers.filter(function (l) {\n return l.isVisible();\n }).length > 0;\n }\n\n /**\n * @param {boolean} withLayers\n * \n * @returns { RasterLayer._makeOlLayer }\n * \n * @listens ol.source.ImageWMS~imageloadstart\n * @listens ol.source.ImageWMS~imageloadend\n * @listens ol.source.ImageWMS~imageloaderror\n */\n\n }, {\n key: '_makeOlLayer',\n value: function _makeOlLayer(withLayers) {\n var _this2 = this;\n\n var olLayer = void 0;\n\n /** @type { 'image' | 'tile' } */\n var image = 'image';\n\n // ARCGIS LAYER\n if ('ARCGISMAPSERVER' === this.config.type) {\n olLayer = new ol.layer.Tile({\n visible: true,\n source: new ol.source.TileArcGISRest({\n url: this.config.url,\n projection: this.config.projection\n })\n });\n }\n\n // WMTS LAYER\n else if ('WMTS' === this.config.type) {\n image = 'tile';\n var layerObj = {\n url: 'mapproxy' === this.config.cache_provider || !(this.layers[0] && this.layers[0].getWmsUrl) ? this.config.url : this.layers[0].getWmsUrl(),\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n cache_provider: this.config.cache_provider, /** @since 3.10.0 **/\n cache_type: this.config.cache_type, /** @since 3.10.0 tms, wms**/\n cache_layer: this.config.cache_layer,\n cache_extent: this.config.cache_extent,\n cache_grid: this.config.cache_grid,\n cache_grid_extent: this.config.cache_grid_extent\n };\n\n /** @since 3.10.0 - MapProxy WMTS layer **/\n var resolutions = 'mapproxy' === layerObj.cache_provider && ol.tilegrid.createXYZ({ extent: layerObj.cache_grid_extent }).getResolutions();\n\n olLayer = resolutions ? new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: layerObj.url,\n layer: layerObj.cache_layer,\n matrixSet: layerObj.cache_grid,\n format: layerObj.cache_format || 'png',\n projection: layerObj.layers[0].getProjection(),\n tileGrid: new ol.tilegrid.WMTS({\n resolutions: resolutions,\n origin: ol.extent.getTopLeft(layerObj.cache_grid_extent),\n matrixIds: resolutions.map(function (_, i) {\n return i;\n })\n }),\n style: layerObj.style || '',\n transparent: false\n })\n }) : RasterLayer._makeOlLayer({\n layerObj: layerObj,\n extraParams: this.extraParams || {},\n tiled: true\n });\n }\n\n // XYZ LAYER\n else if ('XYZ' === this.config.type) {\n var projection = this.config.url && this.projection ? this.projection : this.layer.getProjection();\n\n olLayer = new ol.layer.Tile({\n visible: true,\n projection: projection,\n source: new ol.source.XYZ({\n url: this.config.url,\n maxZoom: 20,\n minZoom: undefined,\n projection: projection,\n crossOrigin: undefined,\n tileLoadFunction: this.iframe_internal ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() || 'mapproxy' === this.config.cache_provider ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: 20 }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n }\n\n // WMS LAYER\n else {\n olLayer = RasterLayer._makeOlLayer({\n layerObj: {\n url: this.layers[0] && this.layers[0].getWmsUrl ? this.layers[0].getWmsUrl() : this.config.url,\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n /** @since 3.9.1 */\n format: this.config.format\n },\n extraParams: this.extraParams\n }, this._method);\n }\n\n olLayer.getSource().on(image + 'loadstart', function () {\n return _this2.emit('loadstart');\n });\n olLayer.getSource().on(image + 'loadend', function () {\n return _this2.emit('loadend');\n });\n olLayer.getSource().on(image + 'loaderror', function () {\n return _this2.emit('loaderror');\n });\n\n return olLayer;\n }\n\n //update Layers\n\n }, {\n key: 'update',\n value: function update() {\n var mapState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var force = extraParams.force,\n params = _objectWithoutProperties(extraParams, ['force']);\n\n // check which layers have to be disabled\n\n\n if (!force) {\n var resolution = mapState.resolution,\n mapUnits = mapState.mapUnits;\n\n this.allLayers.forEach(function (l) {\n l.setDisabled(resolution, mapUnits);return l.isDisabled();\n });\n }\n\n if ('XYZ' === this.config.type) {\n this._olLayer.setVisible(this.layer.isVisible());\n return;\n }\n\n var layers = this.layers.filter(function (l) {\n return l.isVisible() && (params.layerId ? params.layerId === l.getId() : true);\n }) || [];\n\n // skip when ..\n if (layers.length <= 0) {\n this._olLayer.setVisible(false);\n return;\n }\n\n var STYLES = [];\n var OPACITIES = [];\n var LEGEND_ON = undefined;\n var LEGEND_OFF = undefined;\n\n layers.forEach(function (l) {\n var _get_legend_params = (0, _get_legend_params2.get_legend_params)(l),\n on = _get_legend_params.LEGEND_ON,\n off = _get_legend_params.LEGEND_OFF;\n\n STYLES.push(l.getStyle());\n OPACITIES.push(parseInt(l.getOpacity() / 100 * 255));\n if (on) {\n LEGEND_ON = undefined === LEGEND_ON ? on : LEGEND_ON + ';' + on;\n }\n if (off) {\n LEGEND_OFF = undefined === LEGEND_OFF ? off : LEGEND_OFF + ';' + off;\n }\n });\n\n this._olLayer.setVisible(true);\n //check if a layer source has with updateParams method\n /** @TODO Check a better way to do this */\n if (this._olLayer.getSource().updateParams) {\n this._olLayer.getSource().updateParams(_extends({}, params, {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF,\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: '' + (layers[0].isArcgisMapserver() ? 'show:' : '') + layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(','),\n STYLES: STYLES.join(','),\n /** @since 3.8 */\n OPACITIES: OPACITIES.join(',')\n }));\n }\n }\n }, {\n key: 'setupCustomMapParamsToLegendUrl',\n value: function setupCustomMapParamsToLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if ('XYZ' !== this.config.type) {\n [].concat(this.layer || this.layers).forEach(function (l) {\n return l.setMapParamstoLegendUrl(params);\n });\n }\n }\n }]);\n\n return RasterLayer;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/layers/rasters.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n\nRasterLayer._makeOlLayer = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n return new (opts.tiled ? ol.layer.Tile : ol.layer.Image)({\n id: opts.layerObj.id,\n name: opts.layerObj.name,\n opacity: undefined !== opts.layerObj.opacity ? opts.layerObj.opacity : 1.0,\n visible: opts.layerObj.visible,\n extent: opts.layerObj.extent,\n maxResolution: opts.layerObj.maxResolution,\n source: new (opts.tiled ? ol.source.TileWMS : ol.source.ImageWMS)({\n ratio: 1,\n url: opts.layerObj.url,\n projection: opts.layerObj.projection ? opts.layerObj.projection.getCode() : null,\n params: _extends({}, Object.fromEntries(Object.entries({\n DPI: _g3wConstants.DOTS_PER_INCH,\n TRANSPARENT: true,\n FORMAT: opts.layerObj.format,\n LAYERS: undefined !== opts.layerObj.layers ? opts.layerObj.layers : '',\n VERSION: undefined !== opts.layerObj.version ? opts.layerObj.version : '1.3.0',\n SLD_VERSION: undefined !== opts.layerObj.sld_version ? opts.layerObj.sld_version : '1.1.0'\n })\n // prevents sending \"FORMAT\" parameter when undefined\n .filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n\n return 'FORMAT' !== key ? true : undefined !== val;\n })), opts.extraParams || {}),\n imageLoadFunction: opts.layerObj.iframe_internal || 'POST' === method ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref4 = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x10) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined\n })\n });\n};\n\n/**\n * @param config.id\n * @param config.title\n * @param config.name\n * @param config.origname\n * @param config.multilayerid\n * @param config.servertype\n * @param config.source\n * @param config.crs\n * @param config.projection\n * @param config.bbox\n * @param config.capabilities\n * @param config.cache_url\n * @param { string } config.cache_provider since 3.10.0 (eg. \"mapproxy\")\n * @param config.baselayer\n * @param config.geometrytype\n * @param config.editops\n * @param config.expanded\n * @param config.fields\n * @param config.wmsUrl\n * @param config.infoformat\n * @param config.infourl\n * @param config.maxscale\n * @param config.minscale\n * @param config.visible\n * @param config.scalebasedvisibility\n * @param config.wfscapabilities\n * @param config.ows_method\n * @param config.wms_use_layer_ids\n * @param config.styles\n */\n\nvar ImageLayer = function (_GeoLayerMixin) {\n _inherits(ImageLayer, _GeoLayerMixin);\n\n function ImageLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ImageLayer);\n\n var _this3 = _possibleConstructorReturn(this, (ImageLayer.__proto__ || Object.getPrototypeOf(ImageLayer)).call(this, config, options));\n\n _this3._BASE_LAYER = options._BASE_LAYER;\n\n _this3.setters = {\n change: function change() {}\n };\n\n _this3.config.baselayer = config.baselayer || false;\n _this3.type = _layer.Layer.LayerTypes.IMAGE;\n _this3.legendUrl = null;\n _this3.customParams = {};\n\n _this3.setup(config, options);\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('OSM' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n source: new ol.source.OSM({ url: _this3.config.url }),\n id: _this3.config.name || 'osm',\n title: _this3.config.title || 'OSM',\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('Bing' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var name = {\n streets: 'Road',\n aerial: 'Aerial',\n aerialwithlabels: 'AerialWithLabels'\n }[_this3.config.source && _this3.config.source.subtype] || 'Aerial';\n return new ol.layer.Tile({\n name: name,\n visible: false,\n preload: Infinity,\n source: new ol.source.BingMaps({ imagerySet: name, key: _application2.default.keys.vendorkeys.bing }),\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var url = undefined !== _this3.config.url ? _this3.config.url : null;\n var projection = url && _this3.getProjectionFromCrs(_this3.config.crs);\n if (!url) {\n return;\n }\n return new ol.layer.Tile({\n visible: false,\n projection: projection,\n source: new ol.source.XYZ({\n url: url,\n maxZoom: _this3.config.maxZoom,\n minZoom: _this3.config.minZoom,\n projection: projection,\n crossOrigin: 'anonymous',\n // tileLoadFunction: undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: _this3.config.maxZoom }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n // extent: opts.extent,\n visible: false,\n source: new ol.source.TileArcGISRest({\n url: undefined === _this3.config.url ? null : _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions\n // crossOrigin: opts.crossOrigin,\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMTS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n // use this config to get params\n var _this3$config = _this3.config,\n url = _this3$config.url,\n layer = _this3$config.layer,\n attributions = _this3$config.attributions,\n matrixSet = _this3$config.matrixSet,\n _this3$config$format = _this3$config.format,\n format = _this3$config$format === undefined ? 'image/png' : _this3$config$format,\n _this3$config$style = _this3$config.style,\n style = _this3$config$style === undefined ? 'default' : _this3$config$style,\n requestEncoding = _this3$config.requestEncoding,\n grid = _this3$config.grid,\n grid_extent = _this3$config.grid_extent;\n\n /** @since 3.10.0 */\n\n var projection = _this3.config.projection || _this3.getProjectionFromCrs(_this3.config.crs);\n\n if (matrixSet) {\n var size = ol.extent.getWidth(projection.getExtent()) / 256;\n return new ol.layer.Tile({\n opacity: .7,\n source: new ol.source.WMTS({\n url: url,\n projection: projection,\n layer: layer,\n matrixSet: matrixSet,\n requestEncoding: requestEncoding,\n format: format,\n attributions: attributions,\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(projection.getExtent()),\n resolutions: Array.from({ length: 14 }, function (_, z) {\n return size / Math.pow(2, z);\n }),\n matrixIds: Array.from({ length: 14 }, function (_, z) {\n return z;\n })\n }),\n style: style\n })\n });\n }\n\n /** @since 3.10.0 WMTS based on mapproxy*/\n if (grid && grid_extent) {\n var resolutions = ol.tilegrid.createXYZ({ extent: grid_extent }).getResolutions();\n return new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: url,\n layer: layer,\n projection: projection,\n matrixSet: grid,\n format: format || 'png',\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(grid_extent),\n resolutions: resolutions,\n matrixIds: resolutions.map(function (_, z) {\n return z;\n })\n }),\n style: style,\n transparent: false\n })\n });\n }\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return RasterLayer._makeOlLayer({\n layerObj: {\n url: _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions,\n layers: _this3.config.layers,\n tiled: undefined === _this3.config.singleTile ? false : _this3.config.singleTile,\n opacity: undefined === _this3.config.opacity ? 1 : _this3.config.opacity\n }\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('ARCGISMAPSERVER' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var _this3$config2 = _this3.config,\n url = _this3$config2.url,\n _this3$config2$visibl = _this3$config2.visible,\n visible = _this3$config2$visibl === undefined ? true : _this3$config2$visibl,\n extent = _this3$config2.extent,\n projection = _this3$config2.projection,\n attributions = _this3$config2.attributions,\n crossOrigin = _this3$config2.crossOrigin;\n\n\n return new ol.layer.Tile({\n extent: extent,\n visible: visible,\n source: new ol.source.TileArcGISRest({\n url: url,\n projection: projection,\n attributions: attributions,\n crossOrigin: crossOrigin\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (_this3._makeOlLayer && _this3.isWMS()) {\n _this3._mapLayer = new RasterLayer({\n url: _this3.getWmsUrl(),\n id: _this3.state.id,\n tiled: _this3.state.tiled\n });\n _this3._mapLayer.addLayer(_this3);\n } else if (_this3._makeOlLayer) {\n _this3._mapLayer = _this3;\n }\n return _this3;\n }\n\n /**\n *\n * Used by the following plugins: \"plugin\"\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n *\n *\n * @param force\n * @param vectorurl\n * @param project_type\n * @param project\n * @return {Promise}\n */\n\n\n _createClass(ImageLayer, [{\n key: 'getLayerForEditing',\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$force = _ref6.force,\n force = _ref6$force === undefined ? false : _ref6$force,\n vectorurl = _ref6.vectorurl,\n project_type = _ref6.project_type,\n project = _ref6.project;\n\n if (!force && !this.isEditable()) {\n return null;\n }\n\n // set editing layer\n try {\n var layerForEditing = yield new _vectorlayer.VectorLayer(this.config, {\n vectorurl: vectorurl,\n project_type: project_type,\n project: project || _application2.default.project\n }).layerForEditing;\n this.setEditingLayer(layerForEditing);\n return layerForEditing;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function getLayerForEditing() {\n return _ref5.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n }, {\n key: 'isWMS',\n value: function isWMS() {\n return [\"QGIS\", \"Mapserver\", \"Geoserver\", \"OGC\"].includes(this.config.servertype);\n }\n }, {\n key: 'isLayerProjectionASMapProjection',\n value: function isLayerProjectionASMapProjection() {\n return this.config.crs.epsg === this.config.map_crs;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'isExternalWMS',\n value: function isExternalWMS() {\n return !!(this.config.source && this.config.source.external && this.config.source.url);\n }\n }, {\n key: 'isArcgisMapserver',\n value: function isArcgisMapserver() {\n return this.isExternalWMS() && \"arcgismapserver\" === this.config.source.type;\n }\n }, {\n key: '_getBaseLayerName',\n value: function _getBaseLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: '_hasExternalWMSOrLegend',\n value: function _hasExternalWMSOrLegend() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'map';\n var source = this.config.source;\n\n\n return source && ('map' !== type || this.isExternalWMS() && this.isLayerProjectionASMapProjection()) && ('legend' === type || source.external);\n }\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$type = _ref7.type,\n type = _ref7$type === undefined ? 'map' : _ref7$type;\n\n var _ref8 = this.config || { source: {} },\n source = _ref8.source;\n\n var source_layer = source.layers || source.layer;\n\n /** @FIXME add description */\n if (source_layer && this._hasExternalWMSOrLegend(type)) {\n return source_layer;\n }\n\n return this._getBaseLayerName();\n }\n\n /**\n * @param opts\n * @param { 'map' | 'legend' } opts.type \n */\n\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$type = _ref9.type,\n type = _ref9$type === undefined ? 'map' : _ref9$type;\n\n var _ref10 = this.config || { source: {} },\n source = _ref10.source;\n\n /** @FIXME add description */\n\n\n if (source.url && this._hasExternalWMSOrLegend(type) && ['wms', 'wmst'].includes(source.type)) {\n return source.url;\n }\n\n return this.config.wmsUrl;\n }\n }, {\n key: 'getWFSLayerName',\n value: function getWFSLayerName() {\n return (this.config.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.getName()).replace(/\\s/g, '_').replaceAll(':', '-');\n }\n }, {\n key: 'useProxy',\n value: function useProxy() {\n return this.isExternalWMS() && this.isLayerProjectionASMapProjection() && this.getInfoFormats();\n }\n }, {\n key: 'getWMSInfoLayerName',\n value: function getWMSInfoLayerName() {\n return this.useProxy() ? this.getSource().layers : this._getBaseLayerName();\n }\n }, {\n key: 'getPrintLayerName',\n value: function getPrintLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n }, {\n key: 'getStringBBox',\n value: function getStringBBox() {\n var _config$bbox = this.config.bbox,\n minx = _config$bbox.minx,\n miny = _config$bbox.miny,\n maxx = _config$bbox.maxx,\n maxy = _config$bbox.maxy;\n\n return minx + ',' + miny + ',' + maxx + ',' + maxy;\n }\n }, {\n key: 'isWfsActive',\n value: function isWfsActive() {\n return Array.isArray(this.config.ows) && this.config.ows.some(function (t) {\n return 'WFS' === t;\n });\n }\n\n /**\n * Get wms url of the layer\n */\n\n }, {\n key: 'getFullWmsUrl',\n value: function getFullWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl();\n }\n\n /**\n * Get WMS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWmsUrl',\n value: function getCatalogWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl() + '?service=WMS&version=1.3.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWfsUrl',\n value: function getCatalogWfsUrl() {\n return this.getWfsUrl() + '?service=WFS&version=1.1.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS 3 url (used by Catalog Layer Menu)\n * @since 3.10.0\n * @return { String } url\n */\n\n }, {\n key: 'getCatalogWfs3Url',\n value: function getCatalogWfs3Url() {\n return this.getWfsUrl() + 'wfs3/';\n }\n }, {\n key: 'getWfsUrl',\n value: function getWfsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url) {\n return wms_url;\n }\n\n return this.config.wmsUrl;\n }\n\n /**\n * Get query url based on type, external or same projection of map\n * \n * @returns {string}\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n var url = _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getQueryUrl', this).call(this);\n var is_qgis = \"QGIS\" === this.getServerType() && this.isExternalWMS() && this.isLayerProjectionASMapProjection();\n\n /** @FIXME add description */\n if (is_qgis && this.getInfoFormats()) {\n return this.getSource().url;\n }\n\n /** @FIXME add description */\n if (is_qgis) {\n return url + 'SOURCE=' + this.config.source.type;\n }\n\n return url;\n }\n }, {\n key: 'getIconUrlFromLegend',\n value: function getIconUrlFromLegend() {\n return this.getLegendUrl({ layertitle: false });\n }\n\n /**\n * Retrieve legend url (ARCGISMAPSERVER or WMS)\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/legendservice.js@3.8.5\n * \n * @param { boolean } opts.categories whether layer has categories\n * @param { boolean } opts.all whether to show all categories (disables filter by map's BBOX).\n * @param { 'application/json' | 'image/png' | string } opts.format MIME Type used to set format of legend:\n * - `application/json`: if request from layers categories (icon and label),\n * - `image/png`: if request from legend tab\n * \n * @see https://docs.qgis.org/3.28/en/docs/server_manual/services/wms.html#getlegendgraphics\n */\n\n }, {\n key: 'getLegendUrl',\n value: function getLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { categories: false, all: false, format: 'image/png' };\n\n\n var base_url = void 0,\n url_params = void 0;\n\n var _params$customParams = _extends({}, params, this.customParams),\n width = _params$customParams.width,\n height = _params$customParams.height,\n _params$customParams$ = _params$customParams.color,\n color = _params$customParams$ === undefined ? \"white\" : _params$customParams$,\n _params$customParams$2 = _params$customParams.fontsize,\n fontsize = _params$customParams$2 === undefined ? 10 : _params$customParams$2,\n _params$customParams$3 = _params$customParams.transparent,\n transparent = _params$customParams$3 === undefined ? true : _params$customParams$3,\n boxspace = _params$customParams.boxspace,\n layerspace = _params$customParams.layerspace,\n _params$customParams$4 = _params$customParams.layertitle,\n layertitle = _params$customParams$4 === undefined ? true : _params$customParams$4,\n layertitlespace = _params$customParams.layertitlespace,\n symbolspace = _params$customParams.symbolspace,\n iconlabelspace = _params$customParams.iconlabelspace,\n symbolwidth = _params$customParams.symbolwidth,\n symbolheight = _params$customParams.symbolheight,\n itemfontfamily = _params$customParams.itemfontfamily,\n layerfontfamily = _params$customParams.layerfontfamily,\n layerfontbold = _params$customParams.layerfontbold,\n itemfontbold = _params$customParams.itemfontbold,\n layerfontitalic = _params$customParams.layerfontitalic,\n itemfontitalic = _params$customParams.itemfontitalic,\n rulelabel = _params$customParams.rulelabel,\n crs = _params$customParams.crs,\n bbox = _params$customParams.bbox,\n _params$customParams$5 = _params$customParams.sld_version,\n sld_version = _params$customParams$5 === undefined ? '1.1.0' : _params$customParams$5;\n\n /**\n * ARCGIS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/arcgismapserverlegend.js@3.8.5\n */\n\n\n if (this.isArcgisMapserver()) {\n base_url = this.getConfig().source.url.replace('/rest/', '/') + '/WMSServer';\n url_params = ['request=GetLegendGraphic', 'version=1.3.0', 'format=image/png', 'LAYER=' + this.getConfig().source.layer];\n }\n\n /**\n * WMS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/wmslegend.js@3.8.5\n */\n else {\n var ctx_legend = opts.categories && (['image/png', undefined].includes(opts.format) || _application2.default.project.state.context_base_legend) ? (0, _get_legend_params2.get_legend_params)(this) : undefined // disabled when `FORMAT=application/json` (otherwise it creates some strange behaviour on WMS `getMap` when switching between layer styles)\n ;\n base_url = this.getWmsUrl({ type: 'legend' });\n url_params = ['SERVICE=WMS', 'VERSION=1.3.0', 'REQUEST=GetLegendGraphic', __('SLD_VERSION=', sld_version), __('WIDTH=', width), __('HEIGHT=', height), __('FORMAT=', undefined === opts.format ? 'image/png' : opts.format), __('TRANSPARENT=', transparent), __('ITEMFONTCOLOR=', color), __('LAYERFONTCOLOR=', color), __('LAYERTITLE=', layertitle), __('ITEMFONTSIZE=', fontsize), __('CRS=', crs), __('BBOX=', [false, undefined].includes(opts.all) && bbox && bbox.join(',')), __('BOXSPACE=', boxspace), __('LAYERSPACE=', layerspace), __('LAYERTITLESPACE=', layertitlespace), __('SYMBOLSPACE=', symbolspace), __('ICONLABELSPACE=', iconlabelspace), __('SYMBOLWIDTH=', opts.categories && 'application/json' === opts.format ? 16 : symbolwidth), __('SYMBOLHEIGHT=', opts.categories && 'application/json' === opts.format ? 16 : symbolheight), __('LAYERFONTFAMILY=', layerfontfamily), __('ITEMFONTFAMILY=', itemfontfamily), __('LAYERFONTBOLD=', layerfontbold), __('ITEMFONTBOLD=', itemfontbold), __('LAYERFONTITALIC=', layerfontitalic), __('ITEMFONTITALIC=', itemfontitalic), __('RULELABEL=', rulelabel), __('LEGEND_ON=', ctx_legend && ctx_legend.LEGEND_ON), __('LEGEND_OFF=', ctx_legend && ctx_legend.LEGEND_OFF), __('STYLES=', opts.categories && 'application/json' === opts.format ? encodeURIComponent(this.getCurrentStyle().name) : undefined), __('LAYER=', this.getWMSLayerName({ type: 'legend' }))];\n }\n\n // discard nullish parameters (without a value)\n url_params = url_params.filter(function (p) {\n return p;\n });\n\n this.legendUrl = '' + base_url + (base_url.indexOf('?') > -1 ? '&' : '?') + url_params.join('&');\n\n return this.legendUrl;\n }\n }, {\n key: 'setMapParamstoLegendUrl',\n value: function setMapParamstoLegendUrl(_ref11) {\n var bbox = _ref11.bbox,\n crs = _ref11.crs;\n\n this.customParams = _extends({}, this.customParams, { bbox: bbox, crs: crs });\n }\n }, {\n key: 'getWfsCapabilities',\n value: function getWfsCapabilities() {\n return this.config.wfscapabilities || 1 === this.config.capabilities;\n }\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments[1];\n\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n options.iframe_internal = _application2.default.iframe && !this.isExternalWMS();\n var method = this.isExternalWMS() ? 'GET' : this.getOwsMethod();\n var extent = this.config.bbox ? [this.config.bbox.minx, this.config.bbox.miny, this.config.bbox.maxx, this.config.bbox.maxy] : null;\n var source = this.config.source;\n /** @since 3.10.0 Cache info **/\n var cache_provider = this.config.cache_provider;\n var cache_service_type = this.config.cache_service_type || 'tms'; //default tile\n var cache_layer = this.config.cache_layer;\n var cache_extent = this.config.cache_extent;\n var cache_grid = this.config.cache_grid;\n var cache_grid_extent = this.config.cache_grid_extent;\n //get layer url\n var url = this.isCached() ? this.getCacheUrl() : options.url || this.getWmsUrl();\n\n if (this.isCached() && 'tms' === cache_service_type) {\n return new RasterLayer(_extends({}, options, { extent: extent, url: url, cache_provider: cache_provider, type: 'XYZ' }), {}, method);\n }\n\n if (this.isExternalWMS() && source && \"arcgismapserver\" === source.type) {\n return new RasterLayer(_extends({}, options, source), extraParams);\n }\n\n if (this.isCached() && 'wmts' === cache_service_type) {\n return new RasterLayer(_extends({}, options, {\n url: url,\n cache_provider: cache_provider,\n cache_layer: cache_layer,\n cache_extent: cache_extent,\n cache_grid: cache_grid,\n cache_grid_extent: cache_grid_extent,\n type: 'WMTS'\n }), extraParams, method);\n }\n\n if (this.isExternalWMS() && source && \"wmst\" === source.type) {\n return new RasterLayer(_extends({}, options, { url: url, cache_provider: cache_provider, type: 'WMTS' }), extraParams, method);\n }\n\n return new RasterLayer(_extends({}, options, { url: url }), extraParams, method);\n }\n\n /**\n * @override Layer~getFormat\n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n if (this.isExternalWMS() && this.getSource()) {\n return this.getSource().format;\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getFormat', this).call(this);\n }\n\n /**\n * @override ImageLayer~getOwsMethod\n * \n * @see https://github.com/g3w-suite/g3w-client/issues/616\n * \n * forces to `GET` when wms layer is external or query url isn't a qgis server endpoint (ie. doesn't start with `/ows/`).\n * \n * @since 3.10.0\n */\n\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.isExternalWMS() || !/^\\/ows/.test(new URL(this.getQueryUrl(), window.initConfig.baseurl).pathname) ? 'GET' : this.config.ows_method;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'update',\n value: function update(mapState, extraParams) {\n if (this.isWMS()) {\n this._mapLayer.update(mapState, extraParams);\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n if (this._mapLayer) {\n this.getOLLayer().setVisible(bool);\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'setVisible', this).call(this, bool);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n if (this._mapLayer) {\n return this.getOLLayer().getSource();\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getSource', this).call(this);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getProjectionFromCrs',\n value: function getProjectionFromCrs() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n crs.epsg = crs.epsg ? crs.epsg : 'EPSG:3857';\n return _projections2.default.get(crs);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOLLayer',\n value: function getOLLayer() {\n var _this4 = this;\n\n if (!this._olLayer && this._makeOlLayer) {\n this._olLayer = this._makeOlLayer();\n // register loading event\n this._olLayer.getSource().on('imageloadstart', function () {\n return _this4.emit(\"loadstart\");\n });\n this._olLayer.getSource().on('imageloadend', function () {\n return _this4.emit(\"loadend\");\n });\n if (this._mapLayer.config.attributions) {\n this._olLayer.getSource().setAttributions(this._mapLayer.config.attributions);\n }\n this._olLayer.setVisible(this._mapLayer.state.visible);\n }\n return this._olLayer;\n }\n }]);\n\n return ImageLayer;\n}((0, _geoMixin2.default)(_layer.Layer));\n\nexports.ImageLayer = ImageLayer;\nexports.RasterLayer = RasterLayer;\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/get_legend_params\":218}],156:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Layer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _parseAttributes = require('utils/parseAttributes');\n\nvar _promisify = require('utils/promisify');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _XHR = require('utils/XHR');\n\nvar _prompt = require('utils/prompt');\n\nvar _Table = require('components/Table.vue');\n\nvar _Table2 = _interopRequireDefault(_Table);\n\nvar _parsers = require('utils/parsers');\n\nvar _get_legend_params = require('utils/get_legend_params');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar is_defined = function is_defined(d) {\n return undefined !== d;\n};\nvar çç = function çç(a, b) {\n return undefined !== a ? a : b;\n}; // like a ?? (coalesce operator)\n\n// BACKCOMP v3.x\nfunction createProvider(name, layer) {\n var provider = new Providers[name]();\n return Object.assign(provider, {\n _name: name,\n _layer: layer,\n getLayer: function getLayer() {\n return provider._layer;\n },\n setLayer: function setLayer(l) {\n return provider._layer = l;\n },\n getFeatures: provider.getFeatures || function () {\n return console.log('overwriteby single provider');\n },\n query: provider.query || function () {\n return console.log('overwriteby single provider');\n },\n getName: function getName() {\n return provider._name;\n }\n });\n}\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/providersfactory.js@v3.10.2\n * ORIGINAL SOURCE: src/app/core/layers/providers/geojsonprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/qgisprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n */\nvar Providers = {\n\n geojson: function () {\n function geojson() {\n _classCallCheck(this, geojson);\n }\n\n _createClass(geojson, [{\n key: 'query',\n value: function query() {\n return (0, _promisify.$promisify)(Promise.resolve([]));\n }\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return new ol.format.GeoJSON().readFeatures(opts.data || (yield _XHR.XHR.get({ url: opts.url || _this._layer.get('source').url })).results, {\n featureProjection: opts.mapProjection,\n dataProjection: opts.projection || 'EPSG:4326'\n });\n }));\n }\n }]);\n\n return geojson;\n }(),\n\n qgis: function () {\n function qgis() {\n _classCallCheck(this, qgis);\n }\n\n _createClass(qgis, [{\n key: 'query',\n\n\n /**\n * Query by filter\n * \n * @param { boolean } opts.raw whether to get raw response\n * @param { number } opts.feature_count maximum feature for request\n * @param { string } opts.queryUrl url for request data\n * @param { Array } opts.layers Array or request layers\n * @param opts.I wms request parameter \n * @param opts.J wms request parameter \n */\n value: function query() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._projections = this._projections || { map: null, layer: null };\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var is_table = 'table' === _this2._layer.getType();\n\n // in case not alphanumeric layer set projection\n if (!is_table) {\n _this2._projections.map = _this2._layer.getMapProjection() || _this2._projections.layer;\n }\n\n var layers = opts.layers ? opts.layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(',') : _this2._layer.getWMSLayerName();\n\n // skip when ..\n if (!opts.filter) {\n return Promise.reject();\n }\n\n var filter = [].concat(opts.filter)\n // BACKOMP v3.x\n .map(function (f) {\n return {\n type: f._type || f.type,\n value: f._filter || f.value\n };\n });\n\n // check if geometry filter. If not i have to remove projection layer\n if ('geometry' !== filter[0].type) {\n _this2._projections.layer = null;\n }\n\n filter = filter.filter(function (f) {\n return f.value;\n });\n\n var response = yield _XHR.XHR.get({\n url: opts.queryUrl || _this2._layer.getUrl('query'),\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: layers,\n QUERY_LAYERS: layers,\n INFO_FORMAT: _this2._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: opts.feature_count || 10,\n CRS: is_table ? _application2.default.map.epsg : _this2._projections.map.getCode(),\n I: opts.I,\n J: opts.J,\n FILTER: filter.length ? filter.map(function (f) {\n return f.value;\n }).join(';') : undefined,\n WITH_GEOMETRY: !is_table\n }\n });\n\n var _layers = undefined === opts.layers ? [_this2._layer] : opts.layers;\n\n return opts.raw ? response : _parsers.ResponseParser.get(_layers[0].getInfoFormat())({\n response: response,\n projections: _this2._projections,\n layers: _layers,\n wms: true\n });\n }));\n }\n\n /**\n * get layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return (0, _promisify.$promisify)(_XHR.XHR.get({ url: this._layer.getUrl('config') }));\n }\n\n /**\n * Load editing features (Read / Write)\n */\n\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // filter null values\n Object.entries(params).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n if ([null, undefined].includes(value)) {\n delete params[key];\n }\n });\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n params = new URLSearchParams(params || {}).toString();\n params = (params ? '?' : '') + params;\n\n // read mode\n if (!options.editing) {\n var _ref6 = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('data') + params\n }),\n vector = _ref6.vector;\n\n return {\n data: vector.data,\n count: vector.count\n };\n }\n\n // editing mode\n try {\n\n var response = void 0;\n\n if (!options.filter) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.bbox)) {\n // bbox filter\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n in_bbox: options.filter.bbox.join(','),\n filtertoken: _application2.default.tokens.filtertoken\n }),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fid)) {\n // fid filter\n response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(options.filter.fid) });\n } else if (options.filter.field) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify(options.filter),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fids)) {\n response = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('editing') + params,\n params: options.filter\n });\n } else if (is_defined(options.filter.nofeatures)) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n field: (options.filter.nofeatures_field || 'id') + '|eq|__G3W__NO_FEATURES__'\n }),\n contentType: 'application/json'\n });\n }\n\n // invalid response\n if (!response.result) {\n return;\n }\n\n var lockIds = response.featurelocks.map(function (lk) {\n return lk.featureid;\n });\n\n // resolves with features locked and requested\n return {\n count: response.vector.count, // real number of features that request will return\n featurelocks: response.featurelocks,\n features: _parsers.ResponseParser.get('g3w-' + _this3._layer.getType() + '/json')(response.vector.data, 'NoGeometry' === response.vector.geometrytype ? {} : { crs: _this3._layer.getCrs() }).filter(function (f) {\n return lockIds.includes('' + f.getId());\n }).map(function (feature) {\n return new _feature.Feature({ feature: feature });\n })\n };\n } catch (e) {\n console.warn(e);\n }\n return Promise.reject({ message: t(\"info.server_error\") });\n }));\n }\n }]);\n\n return qgis;\n }(),\n\n wms: function () {\n function wms() {\n _classCallCheck(this, wms);\n }\n\n _createClass(wms, [{\n key: 'query',\n value: function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$layers = opts.layers,\n layers = _opts$layers === undefined ? [this._layer] : _opts$layers,\n _opts$size = opts.size,\n size = _opts$size === undefined ? [101, 101] : _opts$size,\n _opts$coordinates = opts.coordinates,\n coordinates = _opts$coordinates === undefined ? [] : _opts$coordinates,\n resolution = opts.resolution;\n\n // get extent for view size\n\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var bbox = [coordinates[0] - dx, coordinates[1] - dy, coordinates[0] + dx, coordinates[1] + dy];\n\n var projection = this._layer.getMapProjection() || this._layer.getProjection();\n var tolerance = çç(opts.query_point_tolerance, _g3wConstants.QUERY_POINT_TOLERANCE);\n\n var url = layers[0].getQueryUrl();\n var method = layers[0].getOwsMethod();\n var proxy = layers[0].useProxy();\n var source = (url || '').split('SOURCE');\n\n // base request\n var params = {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n CRS: projection.getCode(),\n LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n QUERY_LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n filtertoken: _application2.default.tokens.filtertoken,\n INFO_FORMAT: this._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: çç(opts.feature_count, 10),\n WITH_GEOMETRY: true,\n DPI: _g3wConstants.DOTS_PER_INCH,\n FILTER_GEOM: 'map' === tolerance.unit ? new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(coordinates, tolerance.value))) : undefined,\n FI_POINT_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_LINE_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_POLYGON_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n G3W_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value * resolution,\n I: 'map' === tolerance.unit ? undefined : Math.floor((coordinates[0] - bbox[0]) / resolution), // x\n J: 'map' === tolerance.unit ? undefined : Math.floor((bbox[3] - coordinates[1]) / resolution), // y\n WIDTH: size[0],\n HEIGHT: size[1],\n STYLES: (layers || []).map(function (l) {\n return l.getStyle();\n }).join(','),\n BBOX: ('ne' === projection.getAxisOrientation().substr(0, 2) ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox).join(','),\n // HOTFIX for GetFeatureInfo requests and feature layer categories that are not visible (unchecked) at QGIS project setting\n LEGEND_ON: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_ON;\n }).filter(Boolean).join(';') || undefined,\n LEGEND_OFF: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_OFF;\n }).filter(Boolean).join(';') || undefined,\n SOURCE: !proxy && 'GET' === method && source.length > 1 ? source[1] : undefined\n };\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: { coordinates: coordinates, resolution: resolution }\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if (proxy) {\n response = yield layers[0].getDataProxyFromServer('wms', { url: url, params: params, method: method, headers: { 'Content-Type': params.INFO_FORMAT } });\n } else if ('GET' === method) {\n var uri = (source.length ? source[0] : url).replace(/[?&]$/, ''); // remove any trailing ? or &\n response = yield _XHR.XHR.get({\n url: uri + (uri.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).filter(function (k) {\n return ![undefined, null].includes(params[k]);\n }) // skip null and undefined params\n .map(function (k) {\n return k + '=' + encodeURIComponent(params[k]);\n }).join('&')\n });\n } else if ('POST' === method) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n } else {\n console.warn('unsupported method: ', method);\n }\n return {\n data: _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n layers: layers,\n wms: true,\n projections: { map: projection, layer: null }\n }),\n query: { coordinates: coordinates, resolution: resolution }\n };\n } finally {\n if (!proxy) {\n clearTimeout(timer);\n }\n }\n })()]));\n }\n }]);\n\n return wms;\n }(),\n\n wfs: function () {\n function wfs() {\n _classCallCheck(this, wfs);\n }\n\n _createClass(wfs, [{\n key: 'query',\n\n\n // query method\n value: function query() {\n var _this4 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = opts.filter || {};\n var layers = opts.layers || [this._layer];\n var url = (layers[0].getQueryUrl() + '/').replace(/\\/+$/, '/');\n var method = layers[0].getOwsMethod();\n\n // BACKCOMP v3.x\n Object.assign(filter, {\n config: filter.config || {},\n type: filter._type || filter.type,\n value: filter._filter || filter.value\n });\n\n params = Object.assign(params, {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n MAXFEATURES: çç(opts.feature_count, 10),\n TYPENAME: layers.map(function (l) {\n return l.getWFSLayerName();\n }).join(','),\n OUTPUTFORMAT: layers[0].getInfoFormat(),\n SRSNAME: (opts.reproject ? layers[0].getProjection() : this._layer.getMapProjection()).getCode(),\n FILTER: 'all' !== filter.type ? ('(' + new ol.format.WFS().writeGetFeature({\n featureTypes: [layers[0]],\n filter: {\n 'bbox': ol.format.filter.bbox('the_geom', filter.value),\n 'geometry': ol.format.filter[filter.config.spatialMethod || 'intersects']('the_geom', filter.value),\n 'expression': null\n }[filter.type]\n }).children[0].innerHTML + ')').repeat(layers.length || 1) : undefined\n });\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: {}\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if ('GET' === method && !['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.get({ url: url + '?' + new URLSearchParams(params || {}).toString() });\n }\n\n if ('POST' === method || ['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n }\n\n var data = _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n projections: {\n map: _this4._layer.getMapProjection(),\n layer: opts.reproject ? _this4._layer.getProjection() : null\n },\n layers: layers,\n wms: false\n });\n\n // sanitize in case of nil:true\n data.flatMap(function (l) {\n return l.features || [];\n }).forEach(function (f) {\n return Object.entries(f.getProperties()).forEach(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n attribute = _ref10[0],\n value = _ref10[1];\n\n return value && value['xsi:nil'] && feature.set(attribute, 'NULL');\n });\n });\n return { data: data };\n } finally {\n clearTimeout(timer);\n }\n })()]));\n }\n }]);\n\n return wfs;\n }()\n\n};\n\nvar DOWNLOAD_FORMATS = {\n download: { format: 'shapefile', url: 'shp' },\n download_gpkg: { format: 'gpkg', url: 'gpkg' },\n download_gpx: { format: 'gpx', url: 'gpx' },\n download_csv: { format: 'csv', url: 'csv' },\n download_xls: { format: 'xls', url: 'xls' },\n download_raster: { format: 'geotiff', url: 'geotiff' },\n download_pdf: { format: 'pdf', url: 'pdf' }\n};\n\n/**\n * Base class for all layers\n */\n\nvar Layer = function (_G3WObject) {\n _inherits(Layer, _G3WObject);\n\n function Layer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Layer);\n\n //get current project object\n var _this5 = _possibleConstructorReturn(this, (Layer.__proto__ || Object.getPrototypeOf(Layer)).call(this));\n\n var project = options.project || _application2.default.project;\n var suffixUrl = config.baselayer ? '' : project.getType() + '/' + project.getId() + '/' + config.id + '/';\n var vectorUrl = config.baselayer ? '' : project.state.vectorurl;\n var rasterUrl = config.baselayer ? '' : project.state.rasterurl;\n\n // assign some attributes\n\n _this5.config = Object.assign(config, _extends({\n id: config.id || 'Layer',\n title: config.title || config.name,\n download: !!config.download,\n geolayer: false,\n baselayer: !!config.baselayer,\n fields: config.fields || {},\n // URLs to get various type of data\n urls: _extends({\n query: config.infourl || config.wmsUrl\n }, config.urls || {}, config.baselayer ? {} : {\n filtertoken: vectorUrl + 'filtertoken/' + suffixUrl,\n data: vectorUrl + 'data/' + suffixUrl,\n shp: vectorUrl + 'shp/' + suffixUrl,\n csv: vectorUrl + 'csv/' + suffixUrl,\n xls: vectorUrl + 'xls/' + suffixUrl,\n gpx: vectorUrl + 'gpx/' + suffixUrl,\n gpkg: vectorUrl + 'gpkg/' + suffixUrl,\n geotiff: rasterUrl + 'geotiff/' + suffixUrl,\n editing: vectorUrl + 'editing/' + suffixUrl,\n commit: vectorUrl + 'commit/' + suffixUrl,\n config: vectorUrl + 'config/' + suffixUrl,\n unlock: vectorUrl + 'unlock/' + suffixUrl,\n widget: {\n unique: vectorUrl + 'widget/unique/data/' + suffixUrl\n },\n /** @since 3.8.0 */\n featurecount: project.getUrl('featurecount'),\n /** @since 3.10.0 */\n pdf: '/html2pdf/'\n })\n }, config.baselayer ? {} : { searchParams: { I: 0, J: 0 } }, {\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n search_endpoint: 'api'\n }));\n\n var relations = project.getRelations().filter(function (r) {\n return [r.referencedLayer, r.referencingLayer].includes(_this5.getId());\n });\n\n /**\n * Layer relations\n */\n _this5._relations = {\n\n /**\n * ORIGINAL SOURCE: src/app/core/relations/relation.js@v3.10.1\n * \n * Relations store\n * \n * @type { Relation[] }\n */\n _relations: (relations || []).reduce(function (relations) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var suffix = Date.now();\n /** relation state */\n var state = {\n /** @type { boolean } loading state (for editing purpose) */\n loading: false,\n /** @type { string } relation id */\n id: config.id || 'id_' + suffix,\n /** @type { string } relation name */\n name: config.name || 'name_' + suffix,\n origname: config.origname || 'origname_' + suffix,\n /** @type { string[] } layerId of father relation */\n father: config.referencedLayer,\n /** @type { string[] } layerId of child relation */\n child: config.referencingLayer,\n /** @type { 'MANY' | ONE' | string } relation type */\n type: config.type,\n /** @since 3.9.0 */\n editable: config.editable || false,\n /** @type { string } relation prefix (for Relation 1:1) @since 3.9.0 */\n prefix: config.prefix,\n /** BACKCOMP (g3w-admin < v.3.7.0) - father relation field name */\n fatherField: [].concat(config.fieldRef.referencedField),\n /** BACKCOMP (g3w-admin < v.3.7.0) - child relation layer field name */\n childField: [].concat(config.fieldRef.referencingField)\n };\n relations[state.id] = Object.assign(new _g3wObject2.default(config), {\n state: state,\n getId: function getId() {\n return state.id;\n },\n setId: function setId(id) {\n return state.id = id;\n },\n getName: function getName() {\n return state.name;\n },\n setName: function setName(n) {\n return state.name = n;\n },\n getChild: function getChild() {\n return state.child;\n },\n getFather: function getFather() {\n return state.father;\n },\n getState: function getState() {\n return state;\n },\n getType: function getType() {\n return state.type;\n },\n getFatherField: function getFatherField() {\n return state.fatherField;\n },\n getChildField: function getChildField() {\n return state.childField;\n },\n setLoading: function setLoading(b) {\n return state.loading = !!b;\n },\n isLoading: function isLoading() {\n return state.loading;\n },\n isEditable: function isEditable() {\n return state.editable;\n },\n getPrefix: function getPrefix() {\n return state.prefix;\n },\n /** @returns {{ father, child }} relation fields */\n getFields: function getFields() {\n return { father: state.fatherField, child: state.childField };\n },\n /** @FIXME `state.title` is not defined */\n getTitle: function getTitle() {\n return state.title;\n },\n /** @FIXME `state.title` is not defined */\n setTitle: function setTitle(t) {\n return state.title = t;\n }\n });\n return relations;\n }, {}),\n\n /**\n * Number of relations\n * \n * @type { number }\n */\n _length: relations ? relations.length : 0,\n\n /**\n * Build relations between layers.\n *\n * @private\n */\n _reloadRelationsInfo: function _reloadRelationsInfo() {\n\n this._relationsInfo = {\n children: {}, // hashmap: >\n fathers: {}, // hashmap: >\n father_child: {} // hashmap: \n };\n\n var f = void 0,\n c = void 0;\n var _relationsInfo = this._relationsInfo,\n father_child = _relationsInfo.father_child,\n fathers = _relationsInfo.fathers,\n children = _relationsInfo.children;\n\n\n Object.entries(this._relations).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n relationKey = _ref12[0],\n relation = _ref12[1];\n\n f = relation.getFather();\n c = relation.getChild();\n\n father_child[f + c] = relationKey; // relationKey = [father_layerId + child_layerId]\n fathers[f] = fathers[f] || [];\n children[c] = children[c] || [];\n\n fathers[f].push(c);\n children[c].push(f);\n });\n },\n\n\n /**\n * @returns { number } number of relations\n */\n getLength: function getLength() {\n return this._length;\n },\n\n\n /**\n * @param relation.type\n *\n * @returns { {} | Relation[] } relations filtered by type\n */\n getRelations: function getRelations() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$type = _ref13.type,\n type = _ref13$type === undefined ? null : _ref13$type;\n\n // type = null\n if (!type) {\n return this._relations;\n }\n\n // type = { 'ONE' | 'MANY' }\n if (-1 !== ['ONE', 'MANY'].indexOf(type)) {\n var _relations = {};\n for (var name in this._relations) {\n if (type === this._relations[name].getType()) {\n _relations[name] = this._relations[name];\n }\n }\n return _relations;\n }\n\n return {};\n },\n setRelations: function setRelations() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._relations = Array.isArray(relations) ? relations : [];\n },\n getRelationById: function getRelationById(id) {\n return this._relations[id];\n },\n getArray: function getArray() {\n return Object.entries(this._relations).map(function (r) {\n return r[1];\n });\n },\n getRelationByFatherChildren: function getRelationByFatherChildren(father, child) {\n return this.getRelationById(this._relationsInfo.father_child[father + child]);\n },\n isChild: function isChild(id) {\n return !!this._relationsInfo.children[id];\n },\n isFather: function isFather(id) {\n return !!this._relationsInfo.fathers[id];\n },\n hasChildren: function hasChildren(layer_id) {\n return (this.getChildren(layer_id) || []).length > 0;\n },\n hasFathers: function hasFathers(layer_id) {\n return (this.getFathers(layer_id) || []).length > 0;\n },\n\n /** @returns { Array | null } child layers (IDs) within same relation */\n getChildren: function getChildren(layer_id) {\n return this.isFather(layer_id) ? this._relationsInfo.fathers[layer_id] : null;\n },\n\n /** @returns { Array | null } father layers (IDs) within same relation */\n getFathers: function getFathers(layer_id) {\n return this.isChild(layer_id) ? this._relationsInfo.children[layer_id] : null;\n }\n };\n\n _this5._relations._reloadRelationsInfo();\n\n // dinamic layer values useful for layerstree\n var defaultstyle = config.styles && config.styles.find(function (s) {\n return s.current;\n }).name;\n\n /**\n * @TODO make it simpler, `this.config` and `this.state` are essentially duplicated data\n */\n _this5.state = {\n id: config.id,\n title: config.title,\n selected: config.selected || false,\n disabled: config.disabled || false,\n metadata: config.metadata,\n openattributetable: _this5.canShowTable(),\n removable: config.removable || false,\n downloadable: _this5.isDownloadable(),\n source: config.source,\n styles: config.styles,\n defaultstyle: defaultstyle,\n infoformat: _this5.getInfoFormat(),\n infoformats: _this5.config.infoformats || [],\n projectLayer: true,\n geolayer: false,\n attributetable: { pageLength: null },\n visible: config.visible || false,\n tochighlightable: false,\n /** state of if is in editing (setted by editing plugin) */\n inediting: false,\n /** Reactive selection attribute */\n selection: { active: false },\n /** Reactive filter attribute */\n filter: {\n active: false,\n /** @since 3.9.0 whether filter is set from a previously saved filter */\n current: null,\n /** @since v3.11.0 **/\n pagination: false\n },\n /** @type { Array<{{ id: string, name: string }}> } since 3.9.0 - array of saved filters */\n filters: config.filters || [],\n /** @type {number} since 3.8.0 */\n featurecount: config.featurecount,\n /** @type { boolean | Object } since 3.8.0 */\n stylesfeaturecount: config.featurecount && defaultstyle && _defineProperty({}, defaultstyle, config.featurecount),\n /** @type { string } since 3.10.0 */\n name: config.name,\n /** @type { boolean } since 3.10.0 */\n expanded: config.expanded,\n /** @type { boolean } since 3.10.0 - whether to show layer on TOC (default: true) */\n toc: 'boolean' === typeof config.toc ? config.toc : true\n };\n\n /**\n * Store all selections feature `fids`\n */\n _this5.selectionFids = new Set();\n\n // referred to (layersstore);\n _this5._layersstore = config.layersstore || null;\n\n var layerType = _this5.config.servertype + ' ' + (_this5.config.source && _this5.config.source.type);\n\n /**\n * Layer providers used to retrieve layer data from server\n * \n * 1 - data: raw layer data (editing)\n * 2 - filter\n * 3 - filtertoken\n * 4 - query\n * 5 - search\n */\n _this5.providers = {\n\n data: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType)) {\n return createProvider('qgis', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n filter: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms'].includes(layerType) && createProvider('wfs', _this5),\n\n filtertoken: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext'].includes(layerType) && createProvider('qgis', _this5),\n\n query: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms', 'QGIS gdal',\n /** @since 3.9.0 */\n 'QGIS postgresraster', 'QGIS vector-tile', 'QGIS vectortile', 'QGIS arcgismapserver', 'QGIS mdal', 'OGC wms'].includes(layerType)) {\n return createProvider('wms', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n search: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType) && createProvider('qgis', _this5)\n\n };\n\n /**\n * Store last proxy params (useful for repeat request info formats for wms external layer)\n */\n _this5.proxyData = {\n wms: null // at the moment only wms data from server\n };\n\n return _this5;\n }\n\n /******************************************************************************************\n * LAYER DOWNLOAD\n *****************************************************************************************/\n\n /** \n * @returns { Promise }\n */\n\n\n _createClass(Layer, [{\n key: 'getDownloadFilefromDownloadDataType',\n value: function getDownloadFilefromDownloadDataType(type, _ref15) {\n var _ref15$data = _ref15.data,\n data = _ref15$data === undefined ? {} : _ref15$data;\n\n data.filtertoken = this.getFilterToken();\n\n if ('pdf' === type) {\n return (0, _downloadFile.downloadFile)({\n url: this.getUrl('pdf'),\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n data: JSON.stringify(data),\n mime_type: 'application/pdf',\n method: 'POST'\n });\n }\n\n return _XHR.XHR.fileDownload({\n url: this.getUrl('shapefile' === type ? 'shp' : type),\n data: data,\n httpMethod: \"POST\"\n });\n }\n }, {\n key: 'getGeoTIFF',\n value: function getGeoTIFF() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$data = _ref16.data,\n data = _ref16$data === undefined ? {} : _ref16$data;\n\n return this.getDownloadFilefromDownloadDataType('geotiff', { data: data });\n }\n }, {\n key: 'getXls',\n value: function getXls() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$data = _ref17.data,\n data = _ref17$data === undefined ? {} : _ref17$data;\n\n return this.getDownloadFilefromDownloadDataType('xls', { data: data });\n }\n }, {\n key: 'getShp',\n value: function getShp() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? {} : _ref18$data;\n\n return this.getDownloadFilefromDownloadDataType('shapefile', { data: data });\n }\n }, {\n key: 'getGpx',\n value: function getGpx() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$data = _ref19.data,\n data = _ref19$data === undefined ? {} : _ref19$data;\n\n return this.getDownloadFilefromDownloadDataType('gpx', { data: data });\n }\n }, {\n key: 'getGpkg',\n value: function getGpkg() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$data = _ref20.data,\n data = _ref20$data === undefined ? {} : _ref20$data;\n\n return this.getDownloadFilefromDownloadDataType('gpkg', { data: data });\n }\n }, {\n key: 'getCsv',\n value: function getCsv() {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? {} : _ref21$data;\n\n return this.getDownloadFilefromDownloadDataType('csv', { data: data });\n }\n\n /**\n * @returns { string[] } download formats\n */\n\n }, {\n key: 'getDownloadableFormats',\n value: function getDownloadableFormats() {\n var _this6 = this;\n\n return Object.keys(DOWNLOAD_FORMATS).filter(function (d) {\n return _this6.config[d];\n }).map(function (d) {\n return DOWNLOAD_FORMATS[d].format;\n });\n }\n\n /**\n * @param download url\n * \n * @returns { string }\n */\n\n }, {\n key: 'getDownloadUrl',\n value: function getDownloadUrl(format) {\n return (Object.values(DOWNLOAD_FORMATS).find(function (d) {\n return d.format === format;\n }) || {}).url;\n }\n\n /**\n * @returns { boolean } whether it has a format to download\n */\n\n }, {\n key: 'isDownloadable',\n value: function isDownloadable() {\n return !!this.getDownloadableFormats().length;\n }\n }, {\n key: 'isGeoTIFFDownloadable',\n value: function isGeoTIFFDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' === this.config.source.type;\n }\n }, {\n key: 'isShpDownloadable',\n value: function isShpDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' !== this.config.source.type;\n }\n }, {\n key: 'isXlsDownloadable',\n value: function isXlsDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_xls;\n }\n }, {\n key: 'isGpxDownloadable',\n value: function isGpxDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpx;\n }\n }, {\n key: 'isGpkgDownloadable',\n value: function isGpkgDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpkg;\n }\n }, {\n key: 'isCsvDownloadable',\n value: function isCsvDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_csv;\n }\n\n /******************************************************************************************\n * LAYER RELATIONS\n *****************************************************************************************/\n\n /**\n * @returns {*} relations\n */\n\n }, {\n key: 'getRelations',\n value: function getRelations() {\n return this._relations;\n }\n\n /**\n * @param id\n * \n * @returns {*} relation by id\n */\n\n }, {\n key: 'getRelationById',\n value: function getRelationById(id) {\n return this._relations.getArray().find(function (r) {\n return id === r.getId();\n });\n }\n\n /**\n * @param relationName\n * \n * @returns { * | Array } relation fields\n */\n\n }, {\n key: 'getRelationAttributes',\n value: function getRelationAttributes(relationName) {\n var relation = this._relations.find(function (r) {\n return relationName === r.name;\n });\n return relation ? relation.fields : [];\n }\n\n /**\n * [LAYER RELATIONS]\n * \n * @TODO Add description\n * \n * @returns { Object } fields\n */\n\n }, {\n key: 'getRelationsAttributes',\n value: function getRelationsAttributes() {\n return (this.state.relations || []).reduce(function (fields, r) {\n fields[r.name] = r.fields;\n return fields;\n }, {});\n }\n\n /**\n * @returns { * | boolean } whether layer is a Child of a relation\n */\n\n }, {\n key: 'isChild',\n value: function isChild() {\n return this.getRelations() ? this._relations.isChild(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether layer is a Father of a relation\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.getRelations() ? this._relations.isFather(this.getId()) : false;\n }\n\n /**\n * @returns { * |Array } children relations\n */\n\n }, {\n key: 'getChildren',\n value: function getChildren() {\n return this.isFather() ? this._relations.getChildren(this.getId()) : [];\n }\n\n /**\n * @returns { * | Array } parents relations\n */\n\n }, {\n key: 'getFathers',\n value: function getFathers() {\n return this.isChild() ? this._relations.getFathers(this.getId()) : [];\n }\n\n /**\n * @returns { * | boolean } whether it has children\n */\n\n }, {\n key: 'hasChildren',\n value: function hasChildren() {\n return this.hasRelations() ? this._relations.hasChildren(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether it has fathers\n */\n\n }, {\n key: 'hasFathers',\n value: function hasFathers() {\n return this.hasRelations() ? this._relations.hasFathers(this.getId()) : false;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'hasRelations',\n value: function hasRelations() {\n return !!this._relations;\n }\n\n /******************************************************************************************\n * LAYER SELECTION\n *****************************************************************************************/\n\n /**\n * @returns { boolean } whether is selected\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param { boolean } selected\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected(selected) {\n this.state.selected = selected;\n }\n\n /**\n * Set Selection\n * \n * @param bool\n * \n * @returns {Promise}\n * \n * @fires unselectionall\n */\n\n }, {\n key: 'setSelection',\n value: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selection.active = bool;\n\n // skip when selection is active\n if (bool) {\n return;\n }\n\n //check if filter is active\n var is_active = this.state.filter.active;\n var has_current = null !== this.state.filter.current;\n\n /** @TODO add description */\n if (has_current && is_active) {\n yield this._applyFilterToken(this.state.filter.current);\n }\n\n /** @TODO add description */\n if (!has_current && is_active) {\n yield this.deleteFilterToken();\n }\n\n this.emit('unselectionall', this.getId());\n });\n\n function setSelection() {\n return _ref22.apply(this, arguments);\n }\n\n return setSelection;\n }()\n\n /**\n * @returns { boolean } whether selection si active\n */\n\n }, {\n key: 'isSelectionActive',\n value: function isSelectionActive() {\n return this.state.selection.active;\n }\n\n /**\n * @returns {{ active: boolean }} selection\n */\n\n }, {\n key: 'getSelection',\n value: function getSelection() {\n return this.state.selection;\n }\n\n /**\n * @returns filter\n */\n\n }, {\n key: 'getFilter',\n value: function getFilter() {\n return this.state.filter;\n }\n\n /**\n * Set filter Active to layer\n * \n * @param {boolean} bool\n */\n\n }, {\n key: 'setFilter',\n value: function setFilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.filter.active = bool;\n //@since 3.11.0 need to reset pagination filter when bool is false\n this.state.filter.pagination = bool && this.state.filter.pagination;\n if (this.isGeoLayer() && this.state.filter.active) {\n this.hideOlSelectionFeatures();\n }\n if (this.isGeoLayer() && !this.state.filter.active) {\n this.updateMapOlSelectionFeatures();\n }\n }\n\n /**\n * Apply layer filter by fid\n * \n * @param filter\n */\n\n }, {\n key: 'applyFilter',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (filter) {\n if (!this.providers['filtertoken']) {\n return;\n }\n\n // the current filter is set and is different from current\n if (null === this.state.filter.current || filter.fid !== this.state.filter.current.fid) {\n yield this.clearSelectionFids();\n _gui2.default.closeContent();\n }\n\n yield this._applyFilterToken(filter);\n });\n\n function applyFilter(_x21) {\n return _ref23.apply(this, arguments);\n }\n\n return applyFilter;\n }()\n\n /**\n * @returns {Promise}\n * \n * @private\n */\n\n }, {\n key: '_applyFilterToken',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (filter) {\n try {\n /** @example /vector/api/filtertoken////mode=apply&fid=|name= */\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'apply', fid: filter.fid }\n });\n if (!response || !response.result || !response.data) {\n return;\n }\n this.setFilter(false);\n this.state.filter.current = filter;\n this.setFilterToken(response.data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function _applyFilterToken(_x22) {\n return _ref24.apply(this, arguments);\n }\n\n return _applyFilterToken;\n }()\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'saveFilter',\n value: function saveFilter() {\n\n // skip when ..\n if (!this.providers['filtertoken'] || !this.selectionFids.size > 0) {\n return;\n }\n\n var layer = this;\n\n (0, _prompt.prompt)({\n label: t('layer_selection_filter.tools.savefilter'),\n value: layer.state.filter.current ? layer.state.filter.current.name : '',\n callback: function () {\n var _ref25 = _asyncToGenerator(function* (name) {\n\n /** @example /vector/api/filtertoken////mode=save&name= */\n var response = yield _XHR.XHR.get({\n url: layer.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'save', name: name } });\n\n // skip when no data return from provider\n if (!response || !response.result || !response.data) {\n return;\n }\n\n var filter = layer.state.filters.find(function (f) {\n return response.data.fid === f.fid;\n });\n\n // add saved filter to filters array\n if (undefined === filter) {\n filter = {\n fid: response.data.fid, //get fid\n name: response.data.name //get name\n };\n layer.state.filters.push(filter);\n }\n\n layer.state.filter.current = filter; // set current filter\n layer.setFilter(false); // set to false\n layer.getSelection().active = false; // reset selection to false\n layer.selectionFids.clear(); // clear current fids\n\n //in the case of geolayer\n if (layer.isGeoLayer()) {\n //remove selection feature from map\n layer.setOlSelectionFeatures();\n }\n\n //emit unselectionall\n layer.emit('unselectionall', layer.getId());\n });\n\n function callback(_x23) {\n return _ref25.apply(this, arguments);\n }\n\n return callback;\n }()\n });\n }\n\n /**\n * Toggle filter token on layer\n */\n\n }, {\n key: 'toggleFilterToken',\n value: function () {\n var _ref26 = _asyncToGenerator(function* () {\n\n //set to handle select or hide ol\n this.setFilter(!this.state.filter.active);\n\n var has_current = this.state.filter.current;\n var is_active = this.state.filter.active;\n\n // there is an active filter --> create a new filter\n if (is_active) {\n yield this.createFilterToken();\n }\n\n // there is a current saved filter --> apply filter\n if (has_current && !is_active) {\n yield this.applyFilter(this.state.filter.current);\n }\n\n // there is no current saved filter --> delete it\n if (!has_current && !is_active) {\n yield this.deleteFilterToken();\n }\n\n return this.state.filter.active;\n });\n\n function toggleFilterToken() {\n return _ref26.apply(this, arguments);\n }\n\n return toggleFilterToken;\n }()\n\n /**\n * Delete filtertoken from server\n * \n * @param fid unique id of filter saved to delete\n */\n\n }, {\n key: 'deleteFilterToken',\n value: function () {\n var _ref27 = _asyncToGenerator(function* (fid) {\n try {\n // skip when no filtertoken provider is set\n if (!this.providers['filtertoken']) {\n return;\n }\n\n var filtertoken = void 0;\n try {\n // Delete saved filter from server --> `/vector/api/filtertoken////mode=delete_saved&fid=|name=`\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: fid, mode: undefined === fid ? 'delete' : 'delete_saved' }\n });\n // filter token if another layer is filtered otherwise filtertoken is undefined\n if (response && response.result && response.data) {\n filtertoken = response.data.filtertoken;\n }\n } catch (e) {\n console.warn(e);\n }\n\n // remove it from filters list when deleting a saved filter (since v3.9.0)\n if (undefined !== fid) {\n this.state.filters = this.state.filters.filter(function (f) {\n return fid !== f.fid;\n });\n }\n\n this.state.filter.current = null; // set current filter set to null\n // set active filter to false\n if (this.state.filter.active) {\n this.setFilter(false);\n }\n this.setFilterToken(filtertoken); // pass `filtertoken` to application\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFilterToken(_x24) {\n return _ref27.apply(this, arguments);\n }\n\n return deleteFilterToken;\n }()\n\n /**\n * Set applicaton filter token\n * \n * @param {string} filtertoken a string passed by server and used as parameter in XHR request\n *\n * @fires filtertokenchange when filtertoken is changed\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'setFilterToken',\n value: function setFilterToken() {\n var filtertoken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n _application2.default.tokens.filtertoken = filtertoken;\n this.setFilter(!!filtertoken);\n this.emit('filtertokenchange', { layerId: this.getId() });\n }\n\n /**\n * Create filter token\n */\n\n }, {\n key: 'createFilterToken',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n try {\n\n var provider = this.providers['filtertoken'];\n var selection = this.selectionFids;\n\n // skip when no filter token provider is set or selectionFids is empty\n if (!provider || !selection.size > 0) {\n return;\n }\n\n // select all features\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n try {\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: undefined, mode: 'delete' }\n });\n } catch (e) {\n console.warn(e);\n }\n this.setFilterToken(null);\n\n return;\n }\n\n var fids = Array.from(selection);\n\n var _ref29 = yield _XHR.XHR.get({\n url: provider._layer.getUrl('filtertoken'),\n params: selection.has(_g3wConstants.SELECTION.EXCLUDE) ? { fidsout: fids.filter(function (id) {\n return id !== _g3wConstants.SELECTION.EXCLUDE;\n }).join(',') // exclude features from selection\n } : { fidsin: fids.join(',') // include features in selection\n } }),\n _ref29$data = _ref29.data,\n data = _ref29$data === undefined ? {} : _ref29$data;\n\n this.setFilterToken(data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function createFilterToken() {\n return _ref28.apply(this, arguments);\n }\n\n return createFilterToken;\n }()\n\n /**\n * Get Application filter token\n * \n * @returns {*}\n */\n\n }, {\n key: 'getFilterToken',\n value: function getFilterToken() {\n return _application2.default.tokens.filtertoken;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'setSelectionFidsAll',\n value: function setSelectionFidsAll() {\n this.selectionFids.clear();\n this.selectionFids.add(_g3wConstants.SELECTION.ALL);\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n //set all features selected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = true;\n });\n this.updateMapOlSelectionFeatures();\n }\n\n /** @TODO add description */\n this.setSelection(true);\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n }\n\n /**\n * @returns {Set} stored selection `fids` \n */\n\n }, {\n key: 'getSelectionFids',\n value: function getSelectionFids() {\n return this.selectionFids;\n }\n\n /**\n * Invert current selection fids\n */\n\n }, {\n key: 'invertSelectionFids',\n value: function invertSelectionFids() {\n var selection = this.selectionFids;\n\n /** @TODO add description */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n selection.delete(_g3wConstants.SELECTION.EXCLUDE);\n } else if (selection.has(_g3wConstants.SELECTION.ALL)) {\n selection.delete(_g3wConstants.SELECTION.ALL);\n } else if (selection.size > 0) {\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setInversionOlSelectionFeatures();\n }\n\n /** In the case of tocken filter active create */\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n\n this.setSelection(selection.size > 0);\n }\n\n /**\n * Check if feature id is present\n * \n * @param fid feature id\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'hasSelectionFid',\n value: function hasSelectionFid(fid) {\n var selection = this.selectionFids;\n\n /** In case contain selection ALL, mean all features selected */\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n return true;\n }\n\n /**In case selection contains exclude value, check if id is not in excluded feature id */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n return !selection.has(fid);\n }\n\n /** Check if id is on selection set */\n return selection.has(fid);\n }\n\n /**\n * Include fid feature id to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'includeSelectionFid',\n value: function () {\n var _ref30 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) && selection.has(fid);\n\n // remove fid from exclude\n if (is_excluded) {\n selection.delete(fid);\n }\n\n // add to selection fid\n if (!is_excluded) {\n selection.add(fid);\n }\n\n // if the only one exclude Set all selected\n if (is_excluded && 1 === selection.size) {\n this.setSelectionFidsAll();\n }\n\n /** @TODO add description */\n if (!is_excluded && !this.isSelectionActive()) {\n this.setSelection(true);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFid(_x27) {\n return _ref30.apply(this, arguments);\n }\n\n return includeSelectionFid;\n }()\n\n /**\n * Exclude fid to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'excludeSelectionFid',\n value: function () {\n var _ref31 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n /**In case all features are selected or no features are selected */\n if (selection.has(_g3wConstants.SELECTION.ALL) || 0 === selection.size) {\n //set an empty selection set\n selection.clear();\n //add exclude item\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** If has exclude item, mean add fid to exclude */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //add to exclude\n selection.add(fid);\n } else {\n //remote to exclude\n selection.delete(fid);\n }\n\n /** If no selection */\n if (0 === selection.size) {\n this.clearSelectionFids();\n }\n\n /** If contain only exclude fid */\n if (1 === selection.size && selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //celar selection set\n selection.clear();\n this.setselectionFidsAll();\n }\n\n if (this.isGeoLayer()) {\n // whether fid is excluded from selection\n this.setOlSelectionFeatureByFid(fid, selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid) ? 'remove' : 'add');\n }\n\n /** If there is a filterActive */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFid(_x29) {\n return _ref31.apply(this, arguments);\n }\n\n return excludeSelectionFid;\n }()\n\n /**\n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'includeSelectionFids',\n value: function () {\n var _ref32 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this7.includeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFids() {\n return _ref32.apply(this, arguments);\n }\n\n return includeSelectionFids;\n }()\n\n /**\n * Exclude fids from selection\n * \n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'excludeSelectionFids',\n value: function () {\n var _ref33 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n //pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this8.excludeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFids() {\n return _ref33.apply(this, arguments);\n }\n\n return excludeSelectionFids;\n }()\n\n /**\n * Clear selection\n */\n\n }, {\n key: 'clearSelectionFids',\n value: function () {\n var _ref34 = _asyncToGenerator(function* () {\n this.selectionFids.clear();\n // remove selected feature on a map\n if (this.isGeoLayer()) {\n //set all features unselected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = false;\n });\n this.updateMapOlSelectionFeatures();\n }\n // set selection false\n yield this.setSelection(false);\n });\n\n function clearSelectionFids() {\n return _ref34.apply(this, arguments);\n }\n\n return clearSelectionFids;\n }()\n\n /******************************************************************************************\n * LAYER BASE\n *****************************************************************************************/\n\n /**\n * Proxy params data\n */\n\n }, {\n key: 'getProxyData',\n value: function getProxyData(type) {\n return type ? this.proxyData[type] : this.proxyData;\n }\n\n /**\n * Set proxy data\n *\n * @param type\n * @param data\n */\n\n }, {\n key: 'setProxyData',\n value: function setProxyData(type) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.proxyData[type] = data;\n }\n\n /**\n * Clear proxy data\n *\n * @param type\n */\n\n }, {\n key: 'clearProxyData',\n value: function clearProxyData(type) {\n this.proxyData[type] = null;\n }\n\n /**\n * Get a proxy request\n *\n * @param type\n * @param proxyParams\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'getDataProxyFromServer',\n value: function () {\n var _ref35 = _asyncToGenerator(function* () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var proxyParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n var _ref36 = yield _data2.default.getData('proxy:' + type, {\n inputs: proxyParams,\n outputs: false\n }),\n response = _ref36.response,\n data = _ref36.data;\n\n this.setProxyData(type, JSON.parse(data));\n return response;\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getDataProxyFromServer() {\n return _ref35.apply(this, arguments);\n }\n\n return getDataProxyFromServer;\n }()\n\n /**\n * @TODO Add description\n *\n * @param type\n * @param changes\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'changeProxyDataAndReloadFromServer',\n value: function changeProxyDataAndReloadFromServer() {\n var _this9 = this;\n\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(changes).forEach(function (c) {\n Object.keys(changes[c]).forEach(function (p) {\n _this9.proxyData[type][c][p] = changes[c][p];\n });\n });\n return this.getDataProxyFromServer(type, this.proxyData[type]);\n }\n\n /**\n * [EDITING PLUGIN] Check if layer is in editing\n *\n * @returns { boolean }\n */\n\n }, {\n key: 'isInEditing',\n value: function isInEditing() {\n return this.state.inediting;\n }\n\n /**\n * [EDITING PLUGIN] Set editing state\n *\n * @param {boolean} bool\n */\n\n }, {\n key: 'setInEditing',\n value: function setInEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.inediting = bool;\n }\n\n /**\n * @TODO Add description here\n *\n * @returns {*}\n */\n\n }, {\n key: 'getSearchParams',\n value: function getSearchParams() {\n return this.config.searchParams;\n }\n\n /**\n * @deprecated since 3.10.0. Will be removed in v.4.x.\n */\n\n }, {\n key: 'getSearchEndPoint',\n value: function getSearchEndPoint() {\n console.warn('getSearchEndPoint is deprecated');\n return 'api';\n }\n\n /**\n * @TODO Add description\n *\n * @param pageLength\n */\n\n }, {\n key: 'setAttributeTablePageLength',\n value: function setAttributeTablePageLength(pageLength) {\n this.state.attributetable.pageLength = pageLength;\n }\n\n /**\n * @TODO add description\n *\n * @returns {null}\n */\n\n }, {\n key: 'getAttributeTablePageLength',\n value: function getAttributeTablePageLength() {\n return this.state.attributetable.pageLength;\n }\n\n /**\n * @returns { string } wms layer name for wms request\n */\n\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @returns { boolean | *} whether request need to use `layer.id` or `layer.name`\n */\n\n }, {\n key: 'isWmsUseLayerIds',\n value: function isWmsUseLayerIds() {\n return this.config.wms_use_layer_ids;\n }\n\n /**\n * @returns {*|null} source type of layer\n */\n\n }, {\n key: 'getSourceType',\n value: function getSourceType() {\n return this.config.source ? this.config.source.type : null;\n }\n\n /**\n * @returns {boolean} whether it is a layer with geometry\n */\n\n }, {\n key: 'isGeoLayer',\n value: function isGeoLayer() {\n return this.state.geolayer;\n }\n\n /**\n * @TODO Add description\n *\n * @param { Object } opts\n * @param opts.page\n * @param opts.page_size\n * @param opts.ordering\n * @param opts.search\n * @param opts.suggest\n * @param opts.formatter\n * @param opts.custom_params\n * @param opts.field\n * @param opts.in_bbox\n *\n * @returns {*}\n */\n\n }, {\n key: 'getDataTable',\n value: function getDataTable() {\n var _this10 = this;\n\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$page = _ref37.page,\n page = _ref37$page === undefined ? null : _ref37$page,\n _ref37$page_size = _ref37.page_size,\n page_size = _ref37$page_size === undefined ? null : _ref37$page_size,\n _ref37$ordering = _ref37.ordering,\n ordering = _ref37$ordering === undefined ? null : _ref37$ordering,\n _ref37$search = _ref37.search,\n search = _ref37$search === undefined ? null : _ref37$search,\n _ref37$suggest = _ref37.suggest,\n suggest = _ref37$suggest === undefined ? null : _ref37$suggest,\n _ref37$formatter = _ref37.formatter,\n formatter = _ref37$formatter === undefined ? 0 : _ref37$formatter,\n _ref37$custom_params = _ref37.custom_params,\n custom_params = _ref37$custom_params === undefined ? {} : _ref37$custom_params,\n field = _ref37.field,\n in_bbox = _ref37.in_bbox;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when..\n if (!_this10.getProvider('filter') && !_this10.getProvider('data')) {\n return Promise.reject();\n }\n\n var response = yield (0, _promisify.promisify)(_this10.getProvider('data').getFeatures({ editing: false }, _extends({}, custom_params, {\n field: field,\n page: page,\n page_size: page_size,\n ordering: ordering,\n search: search,\n formatter: formatter,\n suggest: suggest,\n in_bbox: in_bbox,\n filtertoken: _application2.default.tokens.filtertoken\n })));\n var features = response.data.features && response.data.features || [];\n return {\n headers: (0, _parseAttributes.parseAttributes)(_this10.getAttributes(), features.length ? features[0].properties : []),\n features: features,\n title: _this10.getTitle(),\n count: response.count\n };\n }));\n }\n\n /**\n * Search layer feature by fids\n *\n * @param fids\n * @param formatter\n */\n\n }, {\n key: 'getFeatureByFids',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref40$fids = _ref40.fids,\n fids = _ref40$fids === undefined ? [] : _ref40$fids,\n _ref40$formatter = _ref40.formatter,\n formatter = _ref40$formatter === undefined ? 0 : _ref40$formatter;\n\n var url = this.getUrl('data');\n try {\n var response = yield _XHR.XHR.get({\n url: url,\n params: {\n fids: fids.toString(),\n formatter: formatter\n }\n });\n if (response && response.result && response.vector && response.vector.data) {\n return response.vector.data.features;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getFeatureByFids() {\n return _ref39.apply(this, arguments);\n }\n\n return getFeatureByFids;\n }()\n\n /**\n * @TODO deprecate `search_endpoint = 'ows'`\n *\n * Search Features\n * \n * @param { Object } options\n * @param { 'ows' | 'api' } options.search_endpoint\n * @param { boolean } options.raw\n * @param { 0 | 1 } options.formatter\n * @param options.filter\n * @param options.suggest\n * @param options.unique\n * @param options.queryUrl\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * @param { Object } params - OWS search params\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'searchFeatures',\n value: function searchFeatures() {\n var _this11 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$search_endpo = options.search_endpoint,\n search_endpoint = _options$search_endpo === undefined ? this.config.search_endpoint : _options$search_endpo;\n\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve, reject) {\n switch (search_endpoint) {\n\n case 'ows':\n _this11.search(options, params).then(function (results) {\n resolve({ data: results });\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n break;\n\n case 'api':\n try {\n resolve((yield _this11.getFilterData({\n queryUrl: options.queryUrl,\n field: options.filter,\n ordering: options.ordering,\n unique: options.unique,\n raw: undefined !== options.raw ? options.raw : false,\n suggest: options.suggest,\n /** @since 3.9.0 */\n formatter: undefined !== options.formatter ? options.formatter : 1,\n /** @since 3.11.0 */\n autofilter: options.autofilter,\n page: options.page,\n page_size: options.page_size\n })));\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n break;\n }\n });\n\n return function (_x44, _x45) {\n return _ref41.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Get feature data based on `field` and `suggests`\n * \n * @param { Object } opts\n * @param { boolean } opts.raw\n * @param { Object } opts.suggest - (mandatory): object with key is a field of layer and value is value of the field to filter\n * @param { 0 | 1 } opts.formatter\n * @param { Array } opts.field - Array of object with type of suggest (see above)\n * @param opts.unique\n * @param opts.fformatter since 3.9.0\n * @param opts.ffield since 3.9.1\n * @param opts.queryUrl\n * @param opts.ordering\n */\n\n }, {\n key: 'getFilterData',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var _ref43 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref43$raw = _ref43.raw,\n raw = _ref43$raw === undefined ? false : _ref43$raw,\n suggest = _ref43.suggest,\n field = _ref43.field,\n unique = _ref43.unique,\n fformatter = _ref43.fformatter,\n ffield = _ref43.ffield,\n _ref43$formatter = _ref43.formatter,\n formatter = _ref43$formatter === undefined ? 1 : _ref43$formatter,\n queryUrl = _ref43.queryUrl,\n ordering = _ref43.ordering,\n autofilter = _ref43.autofilter,\n page = _ref43.page,\n page_size = _ref43.page_size;\n\n var provider = this.getProvider('data');\n provider._projections = provider._projections || { map: null, layer: null };\n var params = {\n field: field,\n suggest: suggest,\n ordering: ordering,\n formatter: formatter,\n unique: unique,\n fformatter: fformatter,\n ffield: ffield,\n filtertoken: _application2.default.tokens.filtertoken,\n autofilter: autofilter,\n page: page,\n page_size: page_size\n };\n try {\n var url = queryUrl ? queryUrl : provider._layer.getUrl('data');\n var response = field // check `field` parameter\n ? yield _XHR.XHR.post({ url: url, contentType: 'application/json', data: JSON.stringify(params) }) // since g3w-admin@v3.7\n : yield _XHR.XHR.get({ url: url, params: params }); // BACKCOMP (`unique` and `ordering` were only GET parameters)\n\n // vector layer\n if ('table' !== provider._layer.getType()) {\n provider._projections.map = provider._layer.getMapProjection() || provider._projections.layer;\n }\n\n if (raw) {\n return response;\n }\n if (unique && response.result) {\n return response.data;\n }\n if (fformatter && response.result) {\n return response;\n }\n\n if (response.result) {\n return {\n data: _parsers.ResponseParser.get('application/json')({\n layers: [provider._layer],\n response: response.vector.data,\n filtertoken: response.filtertoken, //@since v3.11.0 returned filtertoken in case of autofilter request\n projections: provider._projections\n }),\n count: response.vector.count //@since v3.11.0 take in account feature count (all). It use for pagination purpose\n };\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n return Promise.reject();\n });\n\n function getFilterData() {\n return _ref42.apply(this, arguments);\n }\n\n return getFilterData;\n }()\n\n /**\n * search method \n */\n\n }, {\n key: 'search',\n value: function search() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, options, {\n feature_count: options.feature_count || 10\n }, this.config.searchParams, params);\n var provider = this.getProvider('search');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_searchable'));\n }));\n }\n\n /**\n * Info from layer (only for querable layers) \n */\n\n }, {\n key: 'query',\n value: function query() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var provider = this.getProvider(options.filter ? 'filter' : 'query');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_querable'));\n }));\n }\n\n /**\n * General way to get an attribute \n */\n\n }, {\n key: 'get',\n value: function get(property) {\n return this.config[property] ? this.config[property] : this.state[property];\n }\n\n /**\n * @returns { * | {} } layer fields\n */\n\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.config.fields;\n }\n\n /**\n * @returns { Array } editing fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n return this.config.editing.fields;\n }\n\n /**\n * @returns { Array } only show fields\n */\n\n }, {\n key: 'getTableFields',\n value: function getTableFields() {\n return (this.config.fields || []).filter(function (f) {\n return f.show;\n });\n }\n\n /**\n * @returns { Array } table fields exclude geometry field\n */\n\n }, {\n key: 'getTableHeaders',\n value: function getTableHeaders() {\n return this.getTableFields().filter(function (f) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(f.name);\n });\n }\n\n /**\n * @returns {*} current project\n */\n\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.config.project;\n }\n\n /**\n * @returns { Object } layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n\n /**\n *\n * @returns { Array } form structure to show on form editing\n */\n\n }, {\n key: 'getLayerEditingFormStructure',\n value: function getLayerEditingFormStructure() {\n return this.config.editor_form_structure;\n }\n\n /**\n * @returns { boolean } whether it has form structure\n */\n\n }, {\n key: 'hasFormStructure',\n value: function hasFormStructure() {\n return !!this.config.editor_form_structure;\n }\n\n /**\n * @returns custom style (for future implementation)\n */\n\n }, {\n key: 'getCustomStyle',\n value: function getCustomStyle() {\n return this.config.customstyle;\n }\n\n /**\n * Get state layer\n *\n * @returns {*|{metadata, downloadable: *, attributetable: {pageLength: null}, defaultstyle: *, source, title: *, infoformats: ((function(): *)|*|*[]), tochighlightable: boolean, featurecount: number, stylesfeaturecount: (number|string|*|{[p: number]: *}), projectLayer: boolean, infoformat: (string|default.watch.infoformat|*), geolayer: boolean, inediting: boolean, disabled: boolean, id: (*|string), selected: boolean, openattributetable: (boolean|boolean), visible: boolean, filters: *[], filter: {current: null, active: boolean}, selection: {active: boolean}, removable: (boolean|*), styles}}\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @returns {*} layer source (ex. ogr, spatialite, etc..)\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.state.source;\n }\n\n /**\n * @returns {*} editing version of layer\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this._editingLayer;\n }\n\n /**\n * Set editing layer\n *\n * @param editingLayer\n */\n\n }, {\n key: 'setEditingLayer',\n value: function setEditingLayer(editingLayer) {\n this._editingLayer = editingLayer;\n }\n\n /**\n * @returns {string|string[]|boolean|string|*} whether is hidden\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.state.hidden;\n }\n\n /**\n * Set hidden\n *\n * @param bool\n */\n\n }, {\n key: 'setHidden',\n value: function setHidden() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.hidden = bool;\n }\n\n /**\n * @returns {*|string} id\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n\n /**\n * @returns {*} metadata\n */\n\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this.state.metadata;\n }\n\n /**\n * @returns {*} title\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.config.title;\n }\n\n /**\n * @returns {*} name\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.config.name;\n }\n\n /**\n * @returns {*} origin name\n */\n\n }, {\n key: 'getOrigName',\n value: function getOrigName() {\n return this.config.origname;\n }\n\n /**\n * @returns { string } Server type\n */\n\n }, {\n key: 'getServerType',\n value: function getServerType() {\n return this.config.servertype || \"QGIS\";\n }\n\n /**\n * @returns {*} type\n */\n\n }, {\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n\n /**\n * Check if layer is a type passed\n *\n * @param type\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n return type === this.getType();\n }\n\n /**\n * Set disabled\n *\n * @param bool\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(bool) {\n this.state.disabled = bool;\n }\n\n /**\n * @returns {boolean} whether it is disabled\n */\n\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n * @returns {boolean} whether is visible\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility\n *\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n this.state.visible = bool;\n }\n\n /**\n * @param { Object } param\n * @param param.map check if request from map point of view or just a capabilities info layer\n */\n\n }, {\n key: 'isQueryable',\n value: function isQueryable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.QUERYABLE);\n }\n\n /**\n * @TODO Description\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'getTocHighlightable',\n value: function getTocHighlightable() {\n return this.state.tochighlightable;\n }\n\n /**\n * @TODO Description\n *\n * @param bool\n */\n\n }, {\n key: 'setTocHighlightable',\n value: function setTocHighlightable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.tochighlightable = bool;\n }\n\n /**\n * @param conditions plain object with configuration layer attribute and value\n */\n\n }, {\n key: 'isFilterable',\n value: function isFilterable() {\n var _this12 = this;\n\n var conditions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var isFiltrable = !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.FILTERABLE);\n if (isFiltrable && conditions) {\n var conditionalFiltrable = Object.keys(conditions).reduce(function (bool, attribute) {\n var layer_config_value = _this12.get(attribute);\n var condition_attribute_values = conditions[attribute];\n return bool && Array.isArray(layer_config_value) ? layer_config_value.includes(condition_attribute_values) : condition_attribute_values === layer_config_value;\n }, true);\n isFiltrable = isFiltrable && conditionalFiltrable;\n }\n return isFiltrable;\n }\n\n /**\n * @returns { boolean } whether layer is set up as time series\n */\n\n }, {\n key: 'isQtimeseries',\n value: function isQtimeseries() {\n return this.config.qtimeseries;\n }\n\n /**\n * @returns { boolean } whether is editable\n */\n\n }, {\n key: 'isEditable',\n value: function isEditable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.EDITABLE);\n }\n\n /**\n * @returns {*|boolean} whether is a base layer\n */\n\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n\n /**\n * @param type get url by type (data, shp, csv, xls, editing, ...)\n */\n\n }, {\n key: 'getUrl',\n value: function getUrl(type) {\n return this.config.urls[type];\n }\n\n /**\n * Set config url\n * \n * @param { Object } url\n * @param url.type\n * @param url.url\n */\n\n }, {\n key: 'setUrl',\n value: function setUrl() {\n var _ref46 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref46.type,\n url = _ref46.url;\n\n this.config.urls[type] = url;\n }\n\n /**\n * @returns {*} query url\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n return this.config.urls.query;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getQueryLayerOrigName',\n value: function getQueryLayerOrigName() {\n return this.state.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.config.origname;\n }\n\n /**\n * @TODO Description\n *\n * @param ogcService\n *\n * @returns { default.watch.infoformat | * | string }\n */\n\n }, {\n key: 'getInfoFormat',\n value: function getInfoFormat(ogcService) {\n // In the case of NETCDF (qtime series)\n if (true === this.config.qtimeseries || 'gdal' === this.getSourceType()) {\n return 'application/json';\n }\n if (this.config.infoformat && '' !== this.config.infoformat && 'wfs' !== ogcService) {\n return this.config.infoformat;\n }\n return 'application/vnd.ogc.gml';\n }\n\n /**\n * @TODO Description\n *\n * @returns {(function(): *)|*|*[]}\n */\n\n }, {\n key: 'getInfoFormats',\n value: function getInfoFormats() {\n return this.state.infoformats;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.config.infourl;\n }\n\n /**\n * @TODO Description\n *\n * @param infoFormat\n */\n\n }, {\n key: 'setInfoFormat',\n value: function setInfoFormat(infoFormat) {\n this.config.infoformat = infoFormat;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*|{}}\n */\n\n }, {\n key: 'getAttributes',\n value: function getAttributes() {\n return this.config.fields;\n }\n\n /**\n * @TODO Description\n *\n * @param attribute\n * @param type\n * @param options\n */\n\n }, {\n key: 'changeAttribute',\n value: function changeAttribute(attribute, type, options) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.config.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n if (field.name === attribute) {\n field.type = type;\n field.options = options;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n /**\n * @TODO Description\n *\n * @param name\n *\n * @returns {*}\n */\n\n }, {\n key: 'getAttributeLabel',\n value: function getAttributeLabel(name) {\n return (this.getAttributes().find(function (a) {\n return name === a.name;\n }) || {}).label;\n }\n\n /**\n * Return provider by type\n *\n * @param type\n *\n * @returns {*}\n */\n\n }, {\n key: 'getProvider',\n value: function getProvider(type) {\n return this.providers[type];\n }\n\n /**\n * Return all providers\n *\n * @returns {*|{filter: null, search: null, data: null, query: null, filtertoken: null}}\n */\n\n }, {\n key: 'getProviders',\n value: function getProviders() {\n return this.providers;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getLayersStore',\n value: function getLayersStore() {\n return this._layersstore;\n }\n\n /**\n * @TODO Description\n *\n * @param layerstore\n */\n\n }, {\n key: 'setLayersStore',\n value: function setLayersStore(layerstore) {\n this._layersstore = layerstore;\n }\n\n /**\n * Return if it is possible to show table of attribute\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'canShowTable',\n value: function canShowTable() {\n if (this.config.not_show_attributes_table || this.isBaseLayer()) {\n return false;\n }\n\n if (\"QGIS\" === this.getServerType() && [\"postgres\", \"oracle\", \"wfs\", \"ogr\", \"mssql\", \"spatialite\"].includes(this.config.source.type) && this.isQueryable()) {\n return this.getTableFields().length > 0;\n }\n\n if (\"G3WSUITE\" === this.getServerType() && \"geojson\" === this.get('source').type) {\n return true;\n }\n\n if (\"G3WSUITE\" !== this.getServerType() && this.isFilterable()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } field\n * @param field.name\n * @param field.type\n * @param field.options\n * @param field.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeFieldType',\n value: function changeFieldType() {\n var _ref47 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref47.name,\n type = _ref47.type,\n _ref47$options = _ref47.options,\n options = _ref47$options === undefined ? {} : _ref47$options,\n _ref47$reset = _ref47.reset,\n reset = _ref47$reset === undefined ? false : _ref47$reset;\n\n var field = this.getFields().find(function (f) {\n return name === f.name;\n });\n\n if (field && reset) {\n field.type = field._type;\n delete field._type;\n delete field[type + 'options'];\n return field.type;\n }\n\n if (field && !reset) {\n field._type = field.type;\n field.type = type;\n field[type + 'options'] = options;\n return field._type;\n }\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } config\n * @param config.name\n * @param config.type\n * @param config.options\n * @param config.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeConfigFieldType',\n value: function changeConfigFieldType(_ref48) {\n var name = _ref48.name,\n type = _ref48.type,\n _ref48$options = _ref48.options,\n options = _ref48$options === undefined ? {} : _ref48$options,\n _ref48$reset = _ref48.reset,\n reset = _ref48$reset === undefined ? false : _ref48$reset;\n\n return this.changeFieldType({ name: name, type: type, options: options, reset: reset });\n }\n\n /**\n * Function called in case of change project to remove all stored information \n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n\n /**\n * @returns {boolean} whether is a vector layer\n */\n\n }, {\n key: 'isVector',\n value: function isVector() {\n return Layer.LayerTypes.VECTOR === this.getType();\n }\n\n /**\n * @returns {boolean} whether is a table layer\n */\n\n }, {\n key: 'isTable',\n value: function isTable() {\n return Layer.LayerTypes.TABLE === this.getType();\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'getFeatureCount',\n value: function getFeatureCount() {\n return this.state.featurecount;\n }\n\n /**\n * @param style\n * \n * @returns { Promise}\n * \n * @since 3.8.0\n */\n\n }, {\n key: 'getStyleFeatureCount',\n value: function () {\n var _ref49 = _asyncToGenerator(function* (style) {\n // skip when layer hasn't feature count option set on QGIS project\n if (undefined === this.state.stylesfeaturecount) {\n return;\n }\n if (undefined === this.state.stylesfeaturecount[style]) {\n try {\n var _ref50 = yield _XHR.XHR.post({\n url: '' + this.config.urls.featurecount + this.getId() + '/',\n data: JSON.stringify({ style: style }),\n contentType: 'application/json'\n }),\n result = _ref50.result,\n data = _ref50.data;\n\n this.state.stylesfeaturecount[style] = true === result ? data : {};\n } catch (e) {\n cansole.warn(e);\n this.state.stylesfeaturecount[style] = {};\n }\n }\n return this.state.stylesfeaturecount[style];\n });\n\n function getStyleFeatureCount(_x55) {\n return _ref49.apply(this, arguments);\n }\n\n return getStyleFeatureCount;\n }()\n\n /**\n * @returns { string } layer format (eg. 'image/png') \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n return this.config.format || _application2.default.project.state.wms_getmap_format || 'image/png';\n }\n\n /**\n * @since 3.10.0\n */\n\n }, {\n key: 'openAttributeTable',\n value: function openAttributeTable() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n new (Vue.extend(_Table2.default))(_extends({}, opts, { layerId: this.state.id }));\n }\n }]);\n\n return Layer;\n}(_g3wObject2.default);\n\n/******************************************************************************************\n * LAYER PROPERTIES\n *****************************************************************************************/\n\n/**\n * Layer Types\n */\n\n\nLayer.LayerTypes = {\n TABLE: \"table\",\n IMAGE: \"image\",\n VECTOR: \"vector\"\n};\n\n/**\n * Layer Capabilities\n */\nLayer.CAPABILITIES = {\n QUERYABLE: 1,\n FILTERABLE: 2,\n EDITABLE: 4\n};\n\nexports.Layer = Layer;\n\n},{\"components/Table.vue\":109,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-object\":130,\"map/layers/feature\":152,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/downloadFile\":200,\"utils/get_legend_params\":218,\"utils/parseAttributes\":229,\"utils/parsers\":230,\"utils/promisify\":232,\"utils/prompt\":233}],157:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayersStore = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layersstore.js@v3.10.2\n * @since 3.11.0\n */\n\nvar LayersStore = exports.LayersStore = function (_G3WObject) {\n _inherits(LayersStore, _G3WObject);\n\n function LayersStore() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LayersStore);\n\n var _this = _possibleConstructorReturn(this, (LayersStore.__proto__ || Object.getPrototypeOf(LayersStore)).call(this));\n\n _this.config = {\n id: config.id || Date.now(),\n projection: config.projection,\n extent: config.extent,\n initextent: config.initextent,\n wmsUrl: config.wmsUrl,\n //set catalogable property\n catalog: true === config.catalog || false === config.catalog ? config.catalog : true\n };\n _this.state = {\n //useful to build layerstree\n layerstree: [],\n relations: null // useful to build a tree of relations\n };\n _this._isQueryable = true === config.queryable || false === config.queryable ? config.queryable : true;\n _this._layers = _this.config.layers || {};\n\n _this.setters = {\n setLayerSelected: function setLayerSelected(id, selected) {\n this.getLayers().forEach(function (l) {\n return l.state.selected = id === l.getId() ? selected : false;\n });\n },\n addLayers: function addLayers() {\n var _this2 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (l) {\n return _this2.addLayer(l);\n });\n },\n addLayer: function addLayer(layer) {\n this._addLayer(layer);\n },\n removeLayer: function removeLayer(id) {\n this._removeLayer(id);\n }\n };\n return _this;\n }\n\n _createClass(LayersStore, [{\n key: 'isQueryable',\n value: function isQueryable() {\n return this._isQueryable;\n }\n }, {\n key: 'setQueryable',\n\n\n /**\n *\n * @param { Boolean } bool\n */\n value: function setQueryable(bool) {\n this._isQueryable = !!bool;\n }\n }, {\n key: 'showOnCatalog',\n value: function showOnCatalog() {\n return this.config.catalog;\n }\n }, {\n key: 'setOptions',\n value: function setOptions() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config = config;\n }\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n this._layers[layer.getId()] = layer;\n }\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n delete this._layers[layer.getId()];\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this3 = this;\n\n Object.entries(this._layers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n layer = _ref2[1];\n\n return _this3.removeLayer(layer);\n });\n }\n }, {\n key: 'getLayersDict',\n value: function getLayersDict() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // skip when no filter is provided (eg. `filter = null`)\n if (!filter || [filter.PRINTABLE, filter.QUERYABLE, filter.FILTERABLE, filter.EDITABLE, filter.VISIBLE, filter.SELECTED, filter.CACHED, filter.SELECTED_OR_ALL, filter.SERVERTYPE, filter.BASELAYER, filter.GEOLAYER, filter.VECTORLAYER, filter.HIDDEN, filter.DISABLED, filter.IDS].every(function (f) {\n return undefined === f;\n })) {\n return this._layers;\n }\n\n var layers = Object.values(this._layers);\n\n if (filter.IDS) {\n var ids = [].concat(filter.IDS);\n layers = layers.filter(function (l) {\n return ids.includes(l.getId());\n });\n }\n\n // check if there are `selected` layers otherwise get all `layers`\n if (filter.SELECTED_OR_ALL) {\n var selected = layers.filter(function (l) {\n return l.isSelected();\n });\n layers = selected.length > 0 ? selected : layers;\n }\n\n // checks if a boolean filter is setted\n var has = function has(f) {\n return 'boolean' === typeof f;\n };\n\n if (has(filter.SELECTED) && !filter.SELECTED_OR_ALL) layers = layers.filter(function (l) {\n return filter.SELECTED === l.isSelected();\n });\n if (has(filter.QUERYABLE)) layers = layers.filter(function (l) {\n return filter.QUERYABLE === l.isQueryable();\n });\n if (has(filter.FILTERABLE)) layers = layers.filter(function (l) {\n return filter.FILTERABLE === l.isFilterable(options.filtrable || null);\n });\n if (has(filter.EDITABLE)) layers = layers.filter(function (l) {\n return filter.EDITABLE === l.isEditable();\n });\n if (has(filter.VISIBLE)) layers = layers.filter(function (l) {\n return filter.VISIBLE === l.isVisible();\n });\n if (has(filter.CACHED)) layers = layers.filter(function (l) {\n return filter.CACHED === l.isCached();\n });\n if (has(filter.BASELAYER)) layers = layers.filter(function (l) {\n return filter.BASELAYER === l.isBaseLayer();\n });\n if (has(filter.GEOLAYER)) layers = layers.filter(function (l) {\n return filter.GEOLAYER === l.state.geolayer;\n });\n if (has(filter.VECTORLAYER)) layers = layers.filter(function (l) {\n return filter.VECTORLAYER === l.isType('vector');\n });\n if (has(filter.HIDDEN)) layers = layers.filter(function (l) {\n return filter.HIDDEN === l.isHidden();\n });\n if (has(filter.DISABLED)) layers = layers.filter(function (l) {\n return filter.DISABLED === l.isDisabled();\n });\n if ('string' === typeof filter.SERVERTYPE && filter.SERVERTYPE.length) layers = layers.filter(function (l) {\n return filter.SERVERTYPE === l.getServerType();\n });\n if (filter.PRINTABLE) layers = layers.filter(function (l) {\n return l.state.geolayer && l.isPrintable({ scale: filter.PRINTABLE.scale });\n });\n\n /**@since v3.10.3 order TOC */\n if (options.TOC_ORDER && this.state.layerstree) {\n return this._getAllSiblingsChildrenLayersId(this.state.layerstree[0]).filter(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n }).map(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n });\n }\n\n return layers;\n }\n }, {\n key: 'getLayers',\n\n\n // return layers array\n value: function getLayers() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(this.getLayersDict(filter, options));\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this.getLayersDict({ BASELAYER: true });\n }\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getLayersDict()[id];\n }\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this._layers.find(function (l) {\n return name === l.getName();\n });\n }\n }, {\n key: 'getLayerAttributes',\n value: function getLayerAttributes(id) {\n return this.getLayerById(id).getAttributes();\n }\n }, {\n key: 'getLayerAttributeLabel',\n value: function getLayerAttributeLabel(id, name) {\n return this.getLayerById(id).getAttributeLabel(name);\n }\n }, {\n key: 'getGeoLayers',\n value: function getGeoLayers() {\n return this.getLayers({ GEOLAYER: true });\n }\n }, {\n key: '_getAllSiblingsChildrenLayersId',\n value: function _getAllSiblingsChildrenLayersId(layerstree) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n traverse(layerstree);\n return nodeIds;\n }\n }, {\n key: '_getAllParentLayersId',\n value: function _getAllParentLayersId(layerstree, node) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n }\n });\n };\n\n traverse({ nodes: layerstree.nodes.filter(function (n) {\n return node !== n;\n }) });\n\n return nodeIds;\n }\n }, {\n key: 'selectLayer',\n value: function selectLayer(id, selected) {\n this.setLayerSelected(id, selected);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getExtent',\n value: function getExtent() {\n return this.config.extent;\n }\n }, {\n key: 'getInitExtent',\n value: function getInitExtent() {\n return this.config.initextent;\n }\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n return this.config.wmsUrl;\n }\n }, {\n key: 'removeLayersTree',\n value: function removeLayersTree() {\n this.state.layerstree.splice(0, this.state.layerstree.length);\n }\n }, {\n key: 'getLayersTree',\n value: function getLayersTree() {\n return this.state.layerstree;\n }\n }, {\n key: 'setLayersTree',\n\n\n /**\n * Set layersstree of layers inside the layersstore\n *\n * @param {unknown[]} layerstree nodes\n * @param {string} name\n * @param {boolean} [expanded = true]\n */\n value: function setLayersTree() {\n var layerstree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var name = arguments[1];\n var expanded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _getInitExtent = this.getInitExtent(),\n _getInitExtent2 = _slicedToArray(_getInitExtent, 4),\n minx = _getInitExtent2[0],\n miny = _getInitExtent2[1],\n maxx = _getInitExtent2[2],\n maxy = _getInitExtent2[3];\n\n // Root group project that contains all layerstree of qgis project\n\n\n var rootGroup = {\n title: name || this.config.id,\n root: true,\n parentGroup: null,\n expanded: expanded,\n disabled: false,\n checked: true,\n /**\n * @since 3.8.0\n */\n bbox: { minx: minx, miny: miny, maxx: maxx, maxy: maxy },\n nodes: layerstree\n };\n\n if (layerstree.length > 0) {\n this._traverseLayersTree(layerstree, rootGroup);\n this.state.layerstree.splice(0, 0, rootGroup); // at the end\n }\n }\n }, {\n key: 'createLayersTree',\n\n\n /**\n * Used by external plugins to build layerstree\n *\n * @param {string} groupName is a ProjectName\n * @param options\n * @param {Object} [options.layerstree = null ]\n * @param {boolean} [options.expanded = false]\n * @param {boolean} [options.full = false]\n */\n value: function createLayersTree(groupName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n layerstree: null,\n expanded: false,\n full: false\n };\n\n\n var layerstree = [];\n\n // return layerstree from server project config (when setted)\n if (options.layerstree && true === options.full) {\n return this.state.layerstree;\n }\n\n // compare all layer ids from server config with all layer nodes on layerstree server property\n if (options.layerstree && true !== options.full) {\n var tocLayersId = this.getLayers({ BASELAYER: false }).map(function (l) {\n return l.getId();\n });\n this._traverseLightLayersTree(options.layerstree, layerstree, tocLayersId);\n }\n\n // retrieve all project layers that have geometry\n if (!options.layerstree) {\n layerstree = this.getGeoLayers().map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n title: l.getTitle(),\n visible: l.isVisible() || false\n };\n });\n }\n\n // setLayerstree\n this.setLayersTree(layerstree, groupName, options.expanded);\n }\n }, {\n key: '_traverseLightLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLightLayersTree(nodes, layerstree, tocLayersId) {\n var _this4 = this;\n\n nodes.forEach(function (n) {\n var lightlayer = null;\n\n // case TOC has layer ID\n if (null !== n.id && undefined !== n.id && tocLayersId.find(function (id) {\n return n.id === id;\n })) {\n lightlayer = _extends({}, lightlayer, n);\n }\n\n // case group\n if (null !== n.nodes && undefined !== n.nodes) {\n lightlayer = _extends({}, lightlayer, {\n name: n.name, /** @since 3.10.0 **/\n title: n.name,\n groupId: (0, _getUniqueDomId.getUniqueDomId)(),\n root: false,\n nodes: [],\n checked: n.checked,\n mutually_exclusive: n[\"mutually-exclusive\"],\n 'mutually-exclusive': n[\"mutually-exclusive\"] /** @since 3.10.0 */\n });\n _this4._traverseLightLayersTree(n.nodes, lightlayer.nodes, tocLayersId); // recursion step\n }\n\n // check if lightlayer is not null\n if (null !== lightlayer) {\n lightlayer.expanded = n.expanded; // expand legend item (TOC)\n layerstree.push(lightlayer);\n }\n });\n }\n }, {\n key: '_traverseLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLayersTree(nodes, parentGroup) {\n var _this5 = this;\n\n nodes.forEach(function (node, index) {\n // substitute node layer with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n }\n // case of layer substitute node with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n // pass bbox and epsg of layer\n if (undefined !== nodes[index].bbox) {\n _this5._setLayersTreeGroupBBox(parentGroup, { bbox: nodes[index].bbox, epsg: nodes[index].epsg });\n }\n }\n if (Array.isArray(node.nodes)) {\n node.nodes.forEach(function (n) {\n return n.parentGroup = parentGroup;\n });\n _this5._traverseLayersTree(node.nodes, node);\n }\n //SET PARENT GROUP\n nodes[index].parentGroup = parentGroup;\n });\n }\n }, {\n key: '_setLayersTreeGroupBBox',\n\n\n /**\n * @since 3.8.0\n */\n value: function _setLayersTreeGroupBBox(group) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bbox = _ref3.bbox,\n epsg = _ref3.epsg;\n\n var project_epsg = this.getProjection().getCode();\n\n // translate bbox epsg to project epsg code (when they differ)\n if (epsg !== project_epsg) {\n var _ol$proj$transformExt = ol.proj.transformExtent([bbox.minx, bbox.miny, bbox.maxx, bbox.maxy], epsg, project_epsg),\n _ol$proj$transformExt2 = _slicedToArray(_ol$proj$transformExt, 4),\n minx = _ol$proj$transformExt2[0],\n miny = _ol$proj$transformExt2[1],\n maxx = _ol$proj$transformExt2[2],\n maxy = _ol$proj$transformExt2[3];\n\n bbox = { minx: minx, miny: miny, maxx: maxx, maxy: maxy };\n }\n\n // get current bbox or compute bbox from an ol extent\n if (undefined === group.bbox) {\n group.bbox = bbox;\n } else {\n group.bbox = ol.extent.extend([group.bbox.minx, group.bbox.miny, group.bbox.maxx, group.bbox.maxy], [bbox.minx, bbox.miny, bbox.maxx, bbox.maxy]).reduce(function (bbox, extentCoordinate, index) {\n switch (index) {\n case 0:\n bbox.minx = extentCoordinate;break;\n case 1:\n bbox.miny = extentCoordinate;break;\n case 2:\n bbox.maxx = extentCoordinate;break;\n case 3:\n bbox.maxy = extentCoordinate;break;\n }\n return bbox;\n }, { minxx: null, miny: null, maxx: null, maxy: null });\n }\n\n // Recursion\n if (group.parentGroup && false === group.parentGroup.root) {\n this._setLayersTreeGroupBBox(group.parentGroup, { bbox: group.bbox, epsg: project_epsg });\n }\n }\n }]);\n\n return LayersStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"utils/getUniqueDomId\":217}],158:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableLayer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer = require('map/layers/layer');\n\nvar _featuresstore = require('map/layers/featuresstore');\n\nvar _feature = require('map/layers/feature');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/tablelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\n/**\n * Base Layer that support editing\n */\n\nvar TableLayer = exports.TableLayer = function (_Layer) {\n _inherits(TableLayer, _Layer);\n\n function TableLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, TableLayer);\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Hook setters methods\n */\n var _this = _possibleConstructorReturn(this, (TableLayer.__proto__ || Object.getPrototypeOf(TableLayer)).call(this, config, opts));\n\n _this.setters = {\n /**\n * Clear all features of the layer\n */\n clearFeatures: function clearFeatures() {\n this._featuresstore.clearFeatures();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n\n /**\n * @TODO it used ????\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n setFeatures: function setFeatures(features) {\n this._featuresstore.setFeatures(features);\n },\n setColor: function setColor(color) {\n this._color = color;\n },\n\n\n /**\n * get data from every sources (server, wms, etc..)\n * through provider related to featuresstore\n *\n * @param {*} opts\n */\n getFeatures: function getFeatures() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this2._featuresstore.getFeatures(opts));\n _this2.emit('getFeatures', features);\n return features;\n }));\n },\n commit: function commit(commitItems) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this3._featuresstore.commit(commitItems));\n // sync selection filter features\n if (response && response.result) {\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(_this3.getId());\n //if layer has geometry\n if (layer.isGeoLayer()) {\n commitItems.update.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n geometry = _ref3.geometry;\n\n if (layer.getOlSelectionFeature(id)) {\n layer.updateOlSelectionFeature({ id: id, geometry: geometry });\n }\n });\n }\n commitItems.delete.forEach(function (id) {\n if (layer.hasSelectionFid(id)) {\n layer.excludeSelectionFid(id);\n }\n });\n } catch (e) {\n console.warn(e);\n }\n }\n return response;\n }));\n }\n };\n\n /**\n * EDITING API URL: /api/vector////\n *\n * @example /api/vector/config/qdjango/10/points273849503023\n */\n _this.type = _layer.Layer.LayerTypes.TABLE;\n\n /**\n * color\n */\n _this._color = null;\n\n /**\n * @FIXME add description\n */\n _this.layerId = config.id;\n\n // @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n // editable layer -- > update layer config info\n if (_this.isEditable()) {\n _this.layerForEditing = _asyncToGenerator(function* () {\n // get layer editing config (from server)\n try {\n var _ref5 = yield (0, _promisify.promisify)(_this.getProvider('data').getConfig(opts)),\n vector = _ref5.vector,\n _ref5$constraints = _ref5.constraints,\n constraints = _ref5$constraints === undefined ? {} : _ref5$constraints,\n capabilities = _ref5.capabilities;\n\n yield (0, _waitFor.waitFor)(function () {\n return window.g3wsdk.core.hasOwnProperty('editing');\n }, _g3wConstants.TIMEOUT); // wait until \"editing\" plugin is loaded\n // add editing configurations\n _this.config.editing = {\n fields: vector.fields || [],\n format: vector.format,\n constraints: constraints,\n capabilities: capabilities || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES, // default editing capabilities\n form: { perc: null }, // set editing form `perc` to null at beginning\n style: vector.style, // get vector layer style\n geometrytype: vector.geometrytype, // whether is a vector layer,\n visible: (vector.editing || { visible: true }).visible //@since 3.11.0 let know if layer should be editable directly (true) or through relation layer (false)\n };\n\n if (vector.style) {\n // set vector layer color \n _this.setColor(vector.style.color);\n }\n\n _this._editor = new window.g3wsdk.core.editing.Editor({ layer: _this }); // create an instance of editor\n _this.setReady(true); // set ready\n return _this;\n } catch (e) {\n console.warn(e);\n _this.setReady(false);\n return Promise.reject(_this);\n }\n })();\n\n _this.state = _extends({}, _this.state, {\n editing: {\n started: false,\n modified: false,\n ready: false\n }\n });\n }\n\n /**\n * Feature wrapper (to store feature)\n */\n _this._featuresstore = new _featuresstore.FeaturesStore({ provider: _this.providers.data });\n\n return _this;\n }\n\n /**\n *\n * @param perc\n */\n\n\n _createClass(TableLayer, [{\n key: 'setFormPercentage',\n value: function setFormPercentage(perc) {\n this.config.editing.form.perc = perc;\n }\n }, {\n key: 'getFormPercentage',\n value: function getFormPercentage() {\n return this.config.editing.form.perc;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'getColor',\n value: function getColor() {\n return this._color;\n }\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._featuresstore.readFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Get editing layer\n *\n * @param vectorurl\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'getLayerForEditing',\n value: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n vectorurl = _ref7.vectorurl;\n\n if (vectorurl) {\n //@TODO Check if it used otherwise delete it\n this.vectorUrl = vectorurl;\n }\n\n try {\n return yield this.clone().layerForEditing; // cloned editable layer\n } catch (e) {\n console.warn(e);\n return e;\n }\n });\n\n function getLayerForEditing() {\n return _ref6.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns return ol source of features\n */\n\n }, {\n key: 'getEditingSource',\n value: function getEditingSource() {\n return this._editor.getEditingSource();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns Array of features\n */\n\n }, {\n key: 'readEditingFeatures',\n value: function readEditingFeatures() {\n return this._editor.readEditingFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {TableLayer}\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {{}}\n */\n\n }, {\n key: 'getEditingConstrains',\n value: function getEditingConstrains() {\n return this.config.editing.constraints;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*|string[]}\n */\n\n }, {\n key: 'getEditingCapabilities',\n value: function getEditingCapabilities() {\n return this.config.editing.capabilities;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param fieldName\n * @return {boolean}\n */\n\n }, {\n key: 'isFieldRequired',\n value: function isFieldRequired(fieldName) {\n return (this.getEditingFields().find(function (f) {\n return fieldName === f.name;\n }) || { validate: { required: false } }).validate.required;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Unlock editing features\n *\n * @returns jQuery Promise\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n yield (0, _promisify.promisify)(_this4._featuresstore.unlock());\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param { Boolean } editable In case we want only editable fields\n * @returns layer fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n var editable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return editable ? (this.config.editing.fields || []).filter(function (f) {\n return f.editable;\n }) : this.config.editing.fields || [];\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n *\n * @returns {boolean} whether field is a Primary Key\n */\n\n }, {\n key: 'isPkField',\n value: function isPkField(field) {\n return (this.getEditingFields().find(function (f) {\n return field === f.name;\n }) || {}).pk;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n * @return {boolean}\n */\n\n }, {\n key: 'isEditingFieldEditable',\n value: function isEditingFieldEditable(field) {\n return (this.getEditingFields().find(function (f) {\n return f.name === field;\n }) || { editable: false }).editable;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditingNotEditableFields',\n value: function getEditingNotEditableFields() {\n return this.config.editing.fields.filter(function (f) {\n return !f.editable;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getEditingMediaFields',\n value: function getEditingMediaFields() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n return this.config.editing.fields.filter(function (f) {\n return 'media' === f.input.type;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {boolean}\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this.state.editing.ready;\n }\n }, {\n key: 'setReady',\n\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param bool\n */\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.editing.ready = bool;\n }\n }, {\n key: 'getWidgetData',\n value: function getWidgetData() {\n var _this5 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.get({\n url: _this5.getProvider('data')._layer.getUrl('widget')[opts.type],\n params: { fields: opts.fields }\n });\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this._editor;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this._editor.isStarted();\n }\n }, {\n key: 'getFeaturesStore',\n value: function getFeaturesStore() {\n return this._featuresstore;\n }\n }, {\n key: 'setFeaturesStore',\n value: function setFeaturesStore(featuresstore) {\n this._featuresstore = featuresstore;\n }\n }, {\n key: 'setSource',\n value: function setSource(source) {\n this.setFeaturesStore(source);\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this._featuresstore;\n }\n }, {\n key: 'addFeatures',\n value: function addFeatures() {\n var _this6 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this6.addFeature(f);\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param lockIds\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n this._featuresstore.addLockIds(lockIds);\n }\n\n /**\n * create attributes from fields\n */\n\n }, {\n key: 'setFieldsWithValues',\n value: function setFieldsWithValues(feature, fields) {\n var createAttrs = function createAttrs() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return fields.reduce(function (acc, f) {\n if ('child' === f.type) {\n acc[f.name] = createAttrs(f.fields);\n } else if ('null' === f.value) {\n f.value = null;\n }\n acc[f.name] = f.value;\n return acc;\n }, {});\n };\n var attributes = createAttrs(fields);\n feature.setProperties(attributes);\n return attributes;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param obj\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getFieldsWithValues',\n value: function getFieldsWithValues(obj) {\n var _this7 = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _opts$exclude = opts.exclude,\n exclude = _opts$exclude === undefined ? [] : _opts$exclude,\n _opts$get_default_val = opts.get_default_value,\n get_default_value = _opts$get_default_val === undefined ? true : _opts$get_default_val;\n\n\n var fields = _cloneDeep(this.getEditingFields());\n var feature = void 0;\n\n if (obj instanceof _feature.Feature) {\n feature = obj;\n } else if (obj instanceof ol.Feature) {\n feature = new _feature.Feature({ feature: obj });\n } else if (obj) {\n feature = this.getFeatureById(obj);\n } else {\n return fields;\n }\n\n var attributes = feature.getProperties();\n\n fields.forEach(function (field) {\n\n field.value = attributes[field.name];\n field._value = attributes[field.name]; // store original value\n field.update = false; // at beginning set update false. Used to form\n\n field.visible = exclude.indexOf(field.name) === -1; // exclude contain field to set visible false\n\n // for editing purpose\n if (undefined === field.validate) {\n field.validate = {};\n }\n\n field.nullOption = undefined === field.nullOption || field.nullOption; //@since 3.11.0 used in InputSelect.vue component.\n field.forceNull = false;\n field.validate.valid = true;\n field.validate._valid = true; // useful to get previous value in certain case\n field.value_from_default_value = false; // need to be checked if the default value is set by server configuration field\n field.get_default_value = get_default_value; // specify if you need to get value from form field.input.options.default value in case of missing value of field.value\n field.validate.exclude_values = new Set(); // for validate.unique purpose to check is new value inserted or change needs to be di\n field.validate.unique = field.validate.unique || false;\n field.validate.required = field.validate.required || false;\n field.validate.mutually_valid = true;\n field.validate.empty = false; // Mean no value (field.value) set start value to false. It will be set once the input field is show\n field.validate.message = null;\n\n if (field.input) {\n var options = _this7.getEditingFields().find(function (f) {\n return f.name === field.name;\n }).input.options;\n field.input.options.loading = options.loading || { state: null };\n //check if value is defined otherwise set empty array (e.g., required for field.validate unique)\n field.input.options.values = options.values || [];\n }\n });\n\n return fields;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {Feature}\n */\n\n }, {\n key: 'createNewFeature',\n value: function createNewFeature() {\n var feature = new _feature.Feature({\n feature: new ol.Feature(this.getEditingFields().reduce(function (props, f) {\n props[f.name] = null;return props;\n }, {}))\n });\n feature.setNew();\n return feature;\n }\n }]);\n\n return TableLayer;\n}(_layer.Layer);\n\n},{\"g3w-constants\":126,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":152,\"map/layers/featuresstore\":153,\"map/layers/layer\":156,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"utils/promisify\":232,\"utils/waitFor\":243}],159:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.VectorLayer = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _promisify = require('utils/promisify');\n\nvar _layer = require('map/layers/layer');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/vectorlayer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar VectorLayer = exports.VectorLayer = function (_GeoLayerMixin) {\n _inherits(VectorLayer, _GeoLayerMixin);\n\n function VectorLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VectorLayer);\n\n var _this = _possibleConstructorReturn(this, (VectorLayer.__proto__ || Object.getPrototypeOf(VectorLayer)).call(this, config, opts));\n\n _this._mapLayer = null; // later tah will be added to the map\n _this.type = _layer.Layer.LayerTypes.VECTOR;\n\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // need an ol layer for adding to the map\n _this.setup(config, opts);\n\n if ('G3WSUITE geojson' === layerType) {\n _this._g3w_geojson = true;\n _this.config.style = config.style;\n _this.setup(config);\n }\n\n return _this;\n }\n\n _createClass(VectorLayer, [{\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this.getMapLayer().getOLLayer();\n }\n }, {\n key: 'resetEditingSource',\n value: function resetEditingSource() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.getMapLayer().resetSource(features);\n }\n }, {\n key: 'getEditingGeometryType',\n value: function getEditingGeometryType() {\n return this.config.editing.geometrytype;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/map/vectorlayer.js@v3.10.1\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var _this2 = this;\n\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n this._mapLayer = new _g3wObject2.default();\n\n var style = this._g3w_geojson ? this.get('style') : this.config.editing ? this.config.editing.style : this.getCustomStyle();\n\n var olStyle = style ? new ol.style.Style(Object.entries(style || {}).reduce(function (styles, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n type = _ref2[0],\n config = _ref2[1];\n\n if ('point' === type && config.icon) {\n styles.image = new ol.style.Icon({ src: config.icon.url, imageSize: config.icon.width });\n }\n if ('line' === type) {\n styles.stroke = new ol.style.Stroke({ color: config.color, width: config.width });\n }\n if ('polygon' === type) {\n styles.fill = new ol.style.Fill({ color: config.color });\n }\n return styles;\n }, {})) : null;\n\n // create ol layer to add to map\n this._mapLayer._olLayer = new ol.layer.Vector({\n id: this.getId(),\n source: new ol.source.Vector({ features: this._editor && this._editor.getEditingSource().getFeaturesCollection() || [] || new ol.Collection() })\n });\n\n if (!olStyle && (0, _isPointGeometryType.isPointGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: this.getColor() }),\n radius: 5\n })\n });\n }\n\n if (!olStyle && (0, _isLineGeometryType.isLineGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: this.getColor(), width: 3 })\n });\n }\n\n if (!olStyle && (0, _isPolygonGeometryType.isPolygonGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: '#000000', width: 1 }),\n fill: new ol.style.Fill({ color: this.getColor() })\n });\n this._mapLayer._olLayer.setOpacity(0.6);\n }\n\n this._mapLayer._olLayer.setStyle(olStyle);\n\n Object.assign(this._mapLayer, {\n _olLayer: this._mapLayer._olLayer,\n mapService: _gui2.default.getService('map'),\n geometryType: this.getGeometryType(),\n geometrytype: null,\n type: null,\n crs: null,\n id: this.getId(),\n name: this._g3w_geojson && this.getName() || '',\n style: style,\n color: this.getColor(),\n projection: this._g3w_geojson ? this.getProjection().getCode() : _gui2.default.getService('map').getProjection().getCode(),\n url: this._g3w_geojson ? this.get('source').url : undefined,\n provider: this.getProvider('data'),\n getProvider: function getProvider() {\n return _this2._mapLayer.provider;\n },\n resetSource: function resetSource() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.setSource(new ol.source.Vector({ features: feats }));\n },\n getFeatures: function getFeatures() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return _this2._mapLayer.addFeatures((yield (0, _promisify.promisify)(_this2._mapLayer.provider.getFeatures(opts))));\n }));\n },\n addFeatures: function addFeatures() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.getSource().addFeatures(feats);\n },\n addFeature: function addFeature(feat) {\n return feat && _this2.getSource().addFeature(feat);\n },\n getOLLayer: function getOLLayer() {\n return _this2._mapLayer._olLayer;\n },\n getSource: function getSource() {\n return _this2._mapLayer._olLayer.getSource();\n },\n setSource: function setSource(source) {\n return _this2._mapLayer._olLayer.setSource(source);\n },\n setStyle: function setStyle(style) {\n return _this2._mapLayer._olLayer.setStyle(style);\n },\n getFeatureById: function getFeatureById(id) {\n return id ? _this2._mapLayer._olLayer.getSource().getFeatureById(id) : null;\n },\n isVisible: function isVisible() {\n return _this2._mapLayer._olLayer.getVisible();\n },\n setVisible: function setVisible(bool) {\n return _this2._mapLayer._olLayer.setVisible(bool);\n },\n clear: function clear() {\n return _this2._mapLayer.getSource().clear();\n },\n addToMap: function addToMap(map) {\n return map.addLayer(_this2._mapLayer._olLayer);\n }\n\n });\n\n if (this._g3w_geojson) {\n this._mapLayer.getFeatures({\n url: this.get('source').url,\n mapProjection: _gui2.default.getService('map').getProjection().getCode()\n });\n }\n\n return this._mapLayer;\n }\n }]);\n\n return VectorLayer;\n}((0, _geoMixin2.default)(_tablelayer.TableLayer));\n\n},{\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/tablelayer\":158,\"services/gui\":173,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/promisify\":232}],160:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n autocompleteRequest: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n field = _ref2.field,\n value = _ref2.value;\n\n var data = [];\n try {\n data = yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getFilterData({\n suggest: field + '|' + value,\n unique: field\n });\n } catch (e) {\n console.warn(e);\n }\n return data.map(function (value) {\n return { id: value, text: value };\n });\n });\n\n function autocompleteRequest() {\n return _ref.apply(this, arguments);\n }\n\n return autocompleteRequest;\n }()\n }\n};\n\n},{\"utils/getCatalogLayerById\":203}],161:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n tabIndex: function tabIndex() {\n return this.editable ? 0 : -1;\n },\n notvalid: function notvalid() {\n return false === this.state.validate.valid;\n },\n editable: function editable() {\n return this.state.editable;\n },\n showhelpicon: function showhelpicon() {\n return this.state.help && this.state.help.message.trim();\n },\n disabled: function disabled() {\n return !this.editable || ['loading', 'error'].includes(this.loadingState);\n },\n loadingState: function loadingState() {\n return this.state.input.options.loading ? this.state.input.options.loading.state : null;\n }\n },\n methods: {\n /**\n * @since v3.9.1\n * @param bool\n */\n setLoading: function setLoading(bool) {\n this.state.input.options.loading.state = bool ? 'loading' : 'ready';\n },\n showHideHelp: function showHideHelp() {\n this.state.help.visible = !this.state.help.visible;\n },\n\n // used to text input to listen to mobile changes\n mobileChange: function mobileChange(event) {\n this.state.value = event.target.value;\n this.change();\n },\n\n // called when input value change\n change: function change() {\n this.service.setEmpty();\n // validate input every time on change\n // because can be inserted a text where state.input.type (widget) is text but state.type is integer\n this.service.validate();\n //after check if is valid need to set update\n this.service.setUpdate();\n // emit change input\n this.$emit('changeinput', this.state);\n },\n isVisible: function isVisible() {}\n }\n};\n\n},{}],162:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.8\n */\n\nexports.default = {\n created: function created() {\n /**\n * Store `click` and `doubleclick` events on a single vue element.\n *\n * @see https://stackoverflow.com/q/41303982\n */\n this.__CLICK_EVENT = {\n count: 0, // count click events\n timeoutID: null // timeoutID return by setTimeout Function\n };\n },\n\n\n methods: {\n\n /**\n * @param {{ '1': () => {}, '2': () => {}}} callbacks hashmap of click event handlers ('1' = click, '2' = double click)\n * @param context\n */\n handleClick: function handleClick() {\n var _this = this;\n\n var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments[1];\n\n if (!this.__CLICK_EVENT) {\n console.warn('click mixin not initialized on context:', context);\n return;\n }\n this.__CLICK_EVENT.count += 1; // increment click count\n if (!this.__CLICK_EVENT.timeoutID) {\n // skip and wait for timeout in order to detect double click\n this.__CLICK_EVENT.timeoutID = setTimeout(function () {\n if (undefined !== callbacks[_this.__CLICK_EVENT.count]) {\n callbacks[_this.__CLICK_EVENT.count].call(context);\n }\n _this.__resetClickMixin();\n }, 300);\n }\n },\n __resetClickMixin: function __resetClickMixin() {\n this.__CLICK_EVENT.count = 0;\n this.__CLICK_EVENT.timeoutID = null;\n },\n __clearClickMixin: function __clearClickMixin() {\n this.__resetClickMixin();\n this.__CLICK_EVENT = null;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.__clearClickMixin();\n }\n};\n\n},{}],163:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getFieldService: function getFieldService() {\n if (undefined === this._fieldsService) {\n this._fieldsService = require('gui/fields/fieldsservice');\n }\n return this._fieldsService;\n },\n getFieldType: function getFieldType(field) {\n return this.getFieldService().getType(field);\n },\n isSimple: function isSimple(field) {\n return this.getFieldService().isSimple(field);\n },\n isLink: function isLink(field) {\n return this.getFieldService().isLink(field);\n },\n isImage: function isImage(field) {\n return this.getFieldService().isImage(field);\n },\n isPhoto: function isPhoto(field) {\n return this.getFieldService().isPhoto(field);\n },\n isVue: function isVue(field) {\n return this.getFieldService().isVue(field);\n },\n sanitizeFieldValue: function sanitizeFieldValue(value) {\n return Array.isArray(value) && !value.length ? '' : value;\n }\n }\n};\n\n},{\"gui/fields/fieldsservice\":4}],164:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n valid: false\n };\n },\n\n methods: {\n addToValidate: function addToValidate(input) {\n this.tovalidate.push(input);\n },\n changeInput: function changeInput(input) {\n this.isValid(input);\n },\n\n // Every input sends to form it valid value that will change the genaral state of form\n isValid: function isValid(input) {\n var _this = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually) {\n if (!input.validate.required) {\n if (!input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n } else {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n var countNoTEmptyInputName = [];\n for (var i = input.validate.mutually.length; i--;) {\n var name = input.validate.mutually[i];\n if (!this.tovalidate[name].validate.empty) {\n countNoTEmptyInputName.push(name);\n }\n }\n if (countNoTEmptyInputName.length < 2) {\n countNoTEmptyInputName.forEach(function (name) {\n _this.tovalidate[name].validate.mutually_valid = true;\n _this.tovalidate[name].validate.valid = true;\n setTimeout(function () {\n _this.tovalidate[name].validate.valid = _this.tovalidate[name].validate._valid;\n _this.state.valid = _this.state.valid && _this.tovalidate[name].validate.valid;\n });\n });\n }\n }\n }\n //check if min_field or max_field is set\n } else if (!input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.tovalidate[input.validate.min_field].value : this.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.tovalidate[input.validate.max_field].value;\n if (input.validate.valid) {\n this.tovalidate[input_name].validate.valid = true;\n }\n }\n }\n this.valid = Object.values(this.tovalidate).reduce(function (bool, input) {\n return bool && input.validate.valid;\n }, true);\n }\n },\n created: function created() {\n this.tovalidate = [];\n },\n destroyed: function destroyed() {\n this.tovalidate = null;\n }\n};\n\n},{}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n showLayer: function showLayer() {\n this.visible = !this.visible;\n this.layer.setVisible(this.visible);\n }\n },\n created: function created() {\n var data = this.data;\n var mapProjection = _gui2.default.getService('map').getProjection().getCode();\n var style = void 0;\n switch (data.type) {\n case 'Point':\n case 'MultiPoint':\n style = [new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n }), new ol.style.Style({\n image: new ol.style.Circle({\n radius: 2,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n })];\n break;\n case 'Line':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.3)' }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n });\n break;\n }\n this.layer = new ol.layer.Vector({\n source: new ol.source.Vector({\n features: new ol.format.GeoJSON().readFeatures(data, { featureProjection: mapProjection })\n }),\n visible: !!this.visible,\n style: style\n });\n _gui2.default.getService('map').getMap().addLayer(this.layer);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.getService('map').getMap().removeLayer(this.layer);\n }\n}; /**\n * @file\n * @since v3.7\n */\n\n},{\"services/gui\":173}],166:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.formInputsMixins = exports.select2Mixin = exports.selectMixin = exports.resizeMixin = exports.geoMixin = exports.mediaMixin = exports.fieldsMixin = undefined;\n\nvar _autocomplete = require('mixins/autocomplete');\n\nvar _autocomplete2 = _interopRequireDefault(_autocomplete);\n\nvar _fields = require('mixins/fields');\n\nvar _fields2 = _interopRequireDefault(_fields);\n\nvar _media = require('mixins/media');\n\nvar _media2 = _interopRequireDefault(_media);\n\nvar _geo = require('mixins/geo');\n\nvar _geo2 = _interopRequireDefault(_geo);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _select = require('mixins/select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = require('mixins/select2');\n\nvar _select4 = _interopRequireDefault(_select3);\n\nvar _formInputs = require('mixins/form-inputs');\n\nvar _formInputs2 = _interopRequireDefault(_formInputs);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mixins = {\n autocompleteMixin: _autocomplete2.default,\n fieldsMixin: _fields2.default,\n mediaMixin: _media2.default,\n geoMixin: _geo2.default,\n resizeMixin: _resize2.default,\n selectMixin: _select2.default,\n select2Mixin: _select4.default,\n formInputsMixins: _formInputs2.default,\n baseInputMixin: _baseInput2.default\n}; /**\n * @file\n * @since v3.7\n */\nexports.fieldsMixin = _fields2.default;\nexports.mediaMixin = _media2.default;\nexports.geoMixin = _geo2.default;\nexports.resizeMixin = _resize2.default;\nexports.selectMixin = _select2.default;\nexports.select2Mixin = _select4.default;\nexports.formInputsMixins = _formInputs2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":160,\"mixins/base-input\":161,\"mixins/fields\":163,\"mixins/form-inputs\":164,\"mixins/geo\":165,\"mixins/media\":167,\"mixins/resize\":168,\"mixins/select\":169,\"mixins/select2\":170}],167:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n filename: function filename() {\n return this.value ? this.value.split('/').pop() : this.value;\n }\n },\n methods: {\n isMedia: function isMedia(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n return !!value.mime_type;\n }\n return false;\n },\n getMediaType: function getMediaType(mime_type) {\n var media = {\n type: null,\n options: {}\n };\n\n switch (mime_type) {\n case 'image/gif':\n case 'image/png':\n case 'image/jpeg':\n case 'image/bmp':\n media.type = 'image';\n break;\n case 'application/pdf':\n media.type = 'pdf';\n break;\n case 'video/mp4':\n case 'video/ogg':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n case 'video/quicktime':\n media.type = 'video';\n media.options.format = mime_type;\n break;\n case 'application/gzip':\n case 'application/zip':\n media.type = 'zip';\n break;\n case 'application/msword':\n case 'application/vnd.oasis.opendocument.text':\n media.type = 'text';\n break;\n case 'application/vnd.ms-office':\n case 'application/vnd.oasis.opendocument.spreadsheet':\n media.type = 'excel';\n break;\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n case 'application/vnd.ms-powerpoint':\n case 'application/vnd.oasis.opendocument.presentation':\n media.type = 'ppt';\n break;\n default:\n media.type = 'unknow';\n }\n return media;\n }\n }\n};\n\n},{}],168:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _throttle = require('utils/throttle');\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nvar DELAY_TYPE = {\n throttle: _throttle.throttle,\n debounce: _debounce.debounce\n};\n\nexports.default = {\n created: function created() {\n var delayWrapper = this.delayType && DELAY_TYPE[this.delayType] || DELAY_TYPE.throttle;\n this.delayResize = this.resize ? delayWrapper(this.resize.bind(this), this.delayTime) : null;\n _gui2.default.on('resize', this.delayResize);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n if (this.resize) {\n this.resize();\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n _gui2.default.off('resize', this.delayResize);\n this.delayResize = null;\n this.delayTime = null;\n }\n};\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"utils/throttle\":241}],169:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getLanguage: function getLanguage() {\n return window.initConfig.user.i18n || \"en\";\n },\n changeSelect: function () {\n var _ref = _asyncToGenerator(function* (value) {\n this.state.value = 'null' === value ? null : value;\n //need to be waited in case of autocomplete\n yield this.$nextTick();\n this.change();\n });\n\n function changeSelect(_x) {\n return _ref.apply(this, arguments);\n }\n\n return changeSelect;\n }(),\n getValue: function getValue(value) {\n return null === value ? 'null' : value;\n },\n resetValues: function resetValues() {\n this.state.input.options.values.splice(0);\n }\n },\n computed: {\n autocomplete: function autocomplete() {\n return 'select_autocomplete' === this.state.input.type && this.state.input.options.usecompleter;\n }\n },\n watch: {\n notvalid: function () {\n var _ref2 = _asyncToGenerator(function* (value) {\n yield this.$nextTick();\n if (this.select2) {\n this.select2.data('select2').$container[value ? \"addClass\" : \"removeClass\"](\"input-error-validation\");\n }\n });\n\n function notvalid(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return notvalid;\n }()\n }\n};\n\n},{}],170:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n mixins: [_resize2.default],\n methods: {\n setValue: function setValue() {\n this.select2.val(this.state.value).trigger('change');\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n //destroy a select2 dom element\n if (this.select2) {\n this.select2.select2('destroy');\n // remove all events\n this.select2.off();\n this.select2 = null;\n }\n }\n};\n\n},{\"mixins/resize\":168,\"store/application\":178}],171:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.6\n */\nvar ApplicationService = new _g3wObject2.default({ setters: {\n online: function online() {},\n offline: function offline() {}\n } });\nApplicationService.version = _g3wConstants.APP_VERSION;\n\nexports.default = ApplicationService;\n\n},{\"g3w-constants\":126,\"g3w-object\":130}],172:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _XHR = require('utils/XHR');\n\nvar _promisify = require('utils/promisify');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar handleQueryPromises = function () {\n var _ref = _asyncToGenerator(function* () {\n var promises = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var responses = yield Promise.allSettled(promises);\n // at least one response\n if (responses.some(function (r) {\n return 'fulfilled' === r.status;\n })) {\n return responses.filter(function (r) {\n return 'fulfilled' === r.status;\n }).map(function (r) {\n return r.value;\n });\n }\n // show all errors\n return Promise.reject(responses.filter(function (r) {\n return 'rejected' === r.status;\n }).map(function (r) {\n return r.reason;\n }));\n });\n\n return function handleQueryPromises() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexports.default = {\n\n /**\n * @param { string } contextAndMethod function name (eg. \"query:coordinates\", \"query:bbox\", \"query:polygon\")\n * @param options\n * \n * @returns {Promise}\n */\n getData: function () {\n var _ref2 = _asyncToGenerator(function* (contextAndMethod) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$inputs = options.inputs,\n inputs = _options$inputs === undefined ? {} : _options$inputs,\n _options$outputs = options.outputs,\n outputs = _options$outputs === undefined ? {} : _options$outputs;\n\n var promise = this[contextAndMethod](inputs);\n if (outputs) {\n _gui2.default.outputDataPlace(promise, outputs);\n }\n return yield yield promise;\n });\n\n function getData(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return getData;\n }(),\n\n\n /**\n * @param {{ coordinates: unknown, layerIds: unknown[], multilayers: boolean, query_point_tolerance: number, feature_count: number }}\n */\n 'query:coordinates': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n coordinates = _ref4.coordinates,\n _ref4$layerIds = _ref4.layerIds,\n layerIds = _ref4$layerIds === undefined ? [] : _ref4$layerIds,\n _ref4$multilayers = _ref4.multilayers,\n multilayers = _ref4$multilayers === undefined ? false : _ref4$multilayers,\n _ref4$query_point_tol = _ref4.query_point_tolerance,\n query_point_tolerance = _ref4$query_point_tol === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref4$query_point_tol,\n _ref4$addExternal = _ref4.addExternal,\n addExternal = _ref4$addExternal === undefined ? true : _ref4$addExternal,\n feature_count = _ref4.feature_count;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({\n QUERYABLE: true,\n SELECTED_OR_ALL: 0 === layerIds.length,\n VISIBLE: true,\n IDS: layerIds.length ? layerIds.map(function (id) {\n return id;\n }) : undefined\n });\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n coordinates: coordinates,\n type: 'coordinates',\n external: {\n add: !external || layerIds.length > 0 ? 1 === layers.length && layers[0].isSelected() ? false : addExternal : // avoid querying a temporary layer (external layer) when another layer is selected\n addExternal, // an external layer is selected\n filter: {\n SELECTED: external\n }\n }\n },\n data: ((!external || layerIds.length > 0) && (yield (0, _promisify.promisify)(this.getQueryLayersPromisesByCoordinates(layers, {\n multilayers: multilayers,\n feature_count: feature_count,\n query_point_tolerance: query_point_tolerance,\n coordinates: coordinates\n }))) || []).flatMap(function (_ref5) {\n var _ref5$data = _ref5.data,\n data = _ref5$data === undefined ? [] : _ref5$data;\n return data;\n })\n\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryCoordinates() {\n return _ref3.apply(this, arguments);\n }\n\n return queryCoordinates;\n }(),\n\n\n /**\n * @param bbox\n * @param feature_count\n * @param multilayers\n * @param condition\n * @param filterConfig\n * @param addExternal\n * @param layersFilterObject\n */\n 'query:bbox': function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n bbox = _ref7.bbox,\n _ref7$feature_count = _ref7.feature_count,\n feature_count = _ref7$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref7$feature_count,\n _ref7$filterConfig = _ref7.filterConfig,\n filterConfig = _ref7$filterConfig === undefined ? {} : _ref7$filterConfig,\n _ref7$multilayers = _ref7.multilayers,\n multilayers = _ref7$multilayers === undefined ? false : _ref7$multilayers,\n _ref7$condition = _ref7.condition,\n condition = _ref7$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref7$condition,\n _ref7$excludeSelected = _ref7.excludeSelected,\n excludeSelected = _ref7$excludeSelected === undefined ? null : _ref7$excludeSelected,\n _ref7$addExternal = _ref7.addExternal,\n addExternal = _ref7$addExternal === undefined ? true : _ref7$addExternal,\n _ref7$layersFilterObj = _ref7.layersFilterObject,\n layersFilterObject = _ref7$layersFilterObj === undefined ? { SELECTED_OR_ALL: true, FILTERABLE: true, VISIBLE: true } : _ref7$layersFilterObj;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var selected = external || ('boolean' == typeof excludeSelected ? excludeSelected : false);\n\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n bbox: bbox,\n type: 'bbox',\n filterConfig: filterConfig,\n external: {\n add: addExternal,\n filter: {\n SELECTED: selected\n }\n }\n },\n data: (!external && (yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(layersFilterObject, condition),\n // options\n {\n geometry: ol.geom.Polygon.fromExtent(bbox),\n feature_count: feature_count,\n filterConfig: filterConfig,\n multilayers: multilayers,\n projection: _gui2.default.getService('map').getMap().getView().getProjection()\n })) || []).flatMap(function (_ref8) {\n var _ref8$data = _ref8.data,\n data = _ref8$data === undefined ? [] : _ref8$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryBbox() {\n return _ref6.apply(this, arguments);\n }\n\n return queryBbox;\n }(),\n\n\n /**\n * @param {{ feature: unknown, feature_count: unknown, filterConfig: unknown, multilayers: boolean, condition: boolean, excludeLayers: unknown[] }}\n */\n 'query:polygon': function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref10.feature,\n _ref10$feature_count = _ref10.feature_count,\n feature_count = _ref10$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref10$feature_count,\n _ref10$filterConfig = _ref10.filterConfig,\n filterConfig = _ref10$filterConfig === undefined ? {} : _ref10$filterConfig,\n _ref10$multilayers = _ref10.multilayers,\n multilayers = _ref10$multilayers === undefined ? false : _ref10$multilayers,\n _ref10$condition = _ref10.condition,\n condition = _ref10$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref10$condition,\n _ref10$layerName = _ref10.layerName,\n layerName = _ref10$layerName === undefined ? '' : _ref10$layerName,\n _ref10$excludeSelecte = _ref10.excludeSelected,\n excludeSelected = _ref10$excludeSelecte === undefined ? null : _ref10$excludeSelecte,\n _ref10$external = _ref10.external,\n external = _ref10$external === undefined ? {\n add: true,\n filter: {\n SELECTED: false\n }\n } : _ref10$external,\n _ref10$type = _ref10.type,\n type = _ref10$type === undefined ? 'polygon' : _ref10$type;\n\n var geometry = feature.getGeometry();\n\n try {\n return {\n result: true,\n type: 'ows',\n error: !geometry,\n query: {\n fid: _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n }) ? feature.getId() : feature.get(_g3wConstants.G3W_FID),\n geometry: geometry,\n layerName: layerName,\n type: type,\n filterConfig: filterConfig,\n external: external\n },\n usermessage: !geometry && {\n type: 'warning',\n message: layerName + ' - ' + t('sdk.mapcontrols.querybypolygon.no_geometry'),\n messagetext: true,\n autoclose: false\n },\n data: ((yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(_extends({}, \"boolean\" === typeof excludeSelected ? { SELECTED: !excludeSelected } : { SELECTED_OR_ALL: true }, {\n FILTERABLE: true,\n VISIBLE: true\n }), condition),\n // options\n {\n geometry: geometry,\n multilayers: multilayers,\n feature_count: feature_count,\n filterConfig: filterConfig,\n projection: _application2.default.project.getProjection()\n })) || []).flatMap(function (_ref11) {\n var _ref11$data = _ref11.data,\n data = _ref11$data === undefined ? [] : _ref11$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryPolygon() {\n return _ref9.apply(this, arguments);\n }\n\n return queryPolygon;\n }(),\n\n\n /**\n * Method to search features\n * \n * @param options.layer\n * @param options.filter\n * @param options.raw\n * @param options.queryUrl\n * @param options.feature_count\n * @param options.formatter\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n 'search:features': function () {\n var _ref12 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n layer: layer,\n filter: filter,\n raw: false,\n queryUrl: queryUrl,\n feature_count: feature_count,\n formatter: 1,\n ordering: ordering,\n autofilter: 0,\n //@since 3.11.0 pagination\n page: page,\n page_sizes: page_sizes\n };\n return _asyncToGenerator(function* () {\n var layer = options.layer,\n params = _objectWithoutProperties(options, ['layer']);\n\n params.filter = [].concat(params.filter); // check if filter is an array\n params.page_size = (params.page_sizes || [])[0]; //get page size\n //@since 3.11.0 count features returned by\n var counts = [];\n var page_sizes = []; //set pages based on count feature returned by server\n return {\n data: (yield Promise.allSettled([].concat(layer).map(function (l, i) {\n return l.searchFeatures(_extends({}, params, { filter: params.filter[i] }));\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).map(function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref14.value;\n\n //@since 3.11.0 In case autofilter set\n if (1 === params.autofilter) {\n (value.data || []).forEach(function (_ref15) {\n var layer = _ref15.layer,\n filtertoken = _ref15.filtertoken;\n\n //in the case of filtertoken response attribute set, need to set it to layer\n if (filtertoken) {\n layer.state.selection.active = layer.state.filter.active = true;\n layer.setFilterToken(filtertoken);\n }\n });\n }\n\n if (params.page_sizes) {\n //get max number of elements per page\n var max = Math.max.apply(Math, _toConsumableArray(Array.isArray(params.page_sizes) ? params.page_sizes : [params.page_sizes]));\n //Check if count (total number of elements of search is more o less than max)\n page_sizes.push(max <= value.count ? params.page_sizes : [].concat(_toConsumableArray(params.page_sizes.filter(function (p) {\n return p < value.count;\n })), [value.count]));\n //add a count element on counts array\n counts.push(value.count);\n }\n if (params.raw) {\n return { data: value };\n }\n if (Array.isArray(value.data) && value.data.length > 0) {\n return value.data[0];\n }\n }),\n query: {\n type: 'search',\n search: params.filter, //filter search (array of filter)\n autofilter: !!params.autofilter, //@since 3.11.0 set Boolean\n //@since 3.11.0 pagination\n pagination: params.page_size && {\n pages: params.page && counts.map(function (count) {\n return Math.round(count / params.page_size);\n }), //set number of pages\n current: params.page && counts.map(function () {\n return params.page;\n }), //current page\n page_sizes: page_sizes, //Array contains a number of features that want get with pagination\n counts: counts,\n //Object contains info for do another request by another part of code\n getData: {\n params: params.filter.map(function (filter) {\n return _extends({}, params, { filter: filter });\n }),\n method: 'searchFeatures',\n layers: layer\n }\n }\n },\n type: 'api'\n };\n })();\n });\n\n function searchFeatures() {\n return _ref12.apply(this, arguments);\n }\n\n return searchFeatures;\n }(),\n\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n 'search:fids': function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref17.layer,\n _ref17$formatter = _ref17.formatter,\n formatter = _ref17$formatter === undefined ? 0 : _ref17$formatter,\n _ref17$fids = _ref17.fids,\n fids = _ref17$fids === undefined ? [] : _ref17$fids;\n\n var features = [];\n try {\n // convert API response to Open Layer Features\n features = (layer && (yield layer.getFeatureByFids({ fids: fids, formatter: formatter })) || []).map(function (f) {\n var properties = undefined !== f.properties ? f.properties : {};\n properties[_g3wConstants.G3W_FID] = f.id;\n var olFeat = new ol.Feature(f.geometry && new ol.geom[f.geometry.type](f.geometry.coordinates));\n olFeat.setProperties(properties);\n olFeat.setId(f.id);\n return olFeat;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: [{\n layer: layer,\n features: features\n }],\n query: { type: 'search' }\n };\n });\n\n function searchFids() {\n return _ref16.apply(this, arguments);\n }\n\n return searchFids;\n }(),\n\n\n /**\n * Search service function to load many layers with each one with its fids\n * \n * @param options.layers - Array of layers that we want serach fids features\n * @param options.fids - Array of array of fids\n * @param options.formatter - how we want visualize\n */\n 'search:layersfids': function () {\n var _ref18 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$layers = _ref19.layers,\n layers = _ref19$layers === undefined ? [] : _ref19$layers,\n _ref19$fids = _ref19.fids,\n fids = _ref19$fids === undefined ? [] : _ref19$fids,\n _ref19$formatter = _ref19.formatter,\n formatter = _ref19$formatter === undefined ? 0 : _ref19$formatter;\n\n var data = [];\n try {\n data = (yield Promise.all(layers.map(function (layer, i) {\n return _this['search:fids']({ layer: layer, fids: fids[i], formatter: formatter });\n }))).map(function (response) {\n return response.data;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: data,\n query: { type: 'search' }\n };\n });\n\n function searchLayersfids() {\n return _ref18.apply(this, arguments);\n }\n\n return searchLayersfids;\n }(),\n\n\n /**\n * POST only: accepts\n * \n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.qgis_layer_id layer id owner of the form data\n * @param params.layer_id layer owner of the data\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression': function () {\n var _ref20 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var response = yield _XHR.XHR.post({\n url: '' + _application2.default.project.getUrl('vector_data') + params.layer_id + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n return response.result ? response.vector.data.features || [] : null;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function expressionExpression() {\n return _ref20.apply(this, arguments);\n }\n\n return expressionExpression;\n }(),\n\n\n /**\n * POST only method to return QGIS Expressions evaluated in Project an optional Layer/Form context\n *\n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.layer_id\n * @param params.qgis_layer_id\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression_eval': function expressionExpression_eval() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _XHR.XHR.post({\n url: '/api/expression_eval/' + _application2.default.project.getId() + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n },\n\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n 'proxy:wms': function () {\n var _ref21 = _asyncToGenerator(function* () {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref22.url,\n _ref22$method = _ref22.method,\n method = _ref22$method === undefined ? 'GET' : _ref22$method,\n _ref22$params = _ref22.params,\n params = _ref22$params === undefined ? {} : _ref22$params,\n _ref22$headers = _ref22.headers,\n headers = _ref22$headers === undefined ? {} : _ref22$headers;\n\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(function (p) {\n return url.searchParams.set(p, params[p]);\n });\n url = url.toString();\n }\n try {\n return {\n response: yield _XHR.XHR.post({\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method }),\n contentType: 'application/json',\n url: '' + window.initConfig.proxyurl\n }),\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method })\n };\n } catch (e) {\n console.warn(e);\n }\n });\n\n function proxyWms() {\n return _ref21.apply(this, arguments);\n }\n\n return proxyWms;\n }(),\n\n\n /**\n * Generic proxy data function\n */\n 'proxy:data': function proxyData() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n },\n\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * @param layers \n * @param { Object } opts\n * @param opts.coordinates\n * @param opts.feature_count\n * @param opts.query_point_tolerance\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.reproject\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByCoordinates: function getQueryLayersPromisesByCoordinates(layers) {\n var _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref23.coordinates,\n _ref23$feature_count = _ref23.feature_count,\n feature_count = _ref23$feature_count === undefined ? 10 : _ref23$feature_count,\n _ref23$query_point_to = _ref23.query_point_tolerance,\n query_point_tolerance = _ref23$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref23$query_point_to,\n _ref23$multilayers = _ref23.multilayers,\n multilayers = _ref23$multilayers === undefined ? false : _ref23$multilayers,\n _ref23$reproject = _ref23.reproject,\n reproject = _ref23$reproject === undefined ? true : _ref23$reproject;\n\n // skip when no features\n if (0 === layers.length) {\n return (0, _promisify.$promisify)(Promise.resolve(layers));\n }\n\n var map = _gui2.default.getService('map').getMap();\n var size = map.getSize();\n var mapProjection = map.getView().getProjection();\n var resolution = map.getView().getResolution();\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getInfoFormat() + ':' + l.getInfoUrl() + ':' + l.getMultiLayerId();\n }) : layers).map(function (layers) {\n return (0, _promisify.promisify)([].concat(layers)[0].query(multilayers ? { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution, reproject: reproject, layers: layers } : { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution }));\n }));\n }));\n },\n\n\n /**\n * @param layers\n * @param { Object } opts\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.bbox\n * @param opts.geometry\n * @param opts.projection\n * @param opts.feature_count\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByGeometry: function () {\n var _ref25 = _asyncToGenerator(function* (layers) {\n var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref26.geometry,\n projection = _ref26.projection,\n _ref26$filterConfig = _ref26.filterConfig,\n filterConfig = _ref26$filterConfig === undefined ? {} : _ref26$filterConfig,\n _ref26$multilayers = _ref26.multilayers,\n multilayers = _ref26$multilayers === undefined ? false : _ref26$multilayers,\n _ref26$feature_count = _ref26.feature_count,\n feature_count = _ref26$feature_count === undefined ? 10 : _ref26$feature_count;\n\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n var mapCrs = projection.getCode();\n\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getMultiLayerId() + '_' + l.getProjection().getCode();\n }) : layers).map(function (layers) {\n var layer = [].concat(layers)[0];\n var crs = layer.getProjection().getCode();\n var filter = {\n config: filterConfig,\n type: 'geometry',\n // Convert filter geometry from map to layer CRS\n value: mapCrs === crs ? geometry : geometry.clone().transform(mapCrs, crs)\n };\n return (0, _promisify.promisify)(layer.query(multilayers ? { filter: filter, feature_count: feature_count, layers: layers } : { filter: filter, feature_count: feature_count, filterConfig: filterConfig }));\n }));\n });\n\n function getQueryLayersPromisesByGeometry(_x17) {\n return _ref25.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getMapLayersByFilter\":210,\"utils/groupBy\":219,\"utils/promisify\":232}],173:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/** clear all stacks */\nvar _clearContents = function () {\n var _ref = _asyncToGenerator(function* () {\n yield Promise.allSettled((_application2.default.contentsdata || []).map(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(GUI.getComponent('contents').parent).empty();\n }\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()));\n _application2.default.contentsdata.splice(0, _application2.default.contentsdata.length);\n });\n\n return function _clearContents() {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * Convert error to user message showed\n * @param error\n * @returns {string}\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _iframe = require('services/iframe');\n\nvar _iframe2 = _interopRequireDefault(_iframe);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _promisify = require('utils/promisify');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _getProjectUrl = require('utils/getProjectUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/** store legacy frontend components */\nvar COMPONENTS = {};\n\n/* service know by the applications (standard) */\nvar SERVICES = {\n navbar: null,\n sidebar: null,\n viewport: null\n};\n\nfunction setViewSizes() {\n var state = _application2.default.viewport;\n\n var viewportWidth = $('#app')[0].getBoundingClientRect().width - ($(\".main-sidebar\").length ? $(\".main-sidebar\")[0].getBoundingClientRect().width + $(\".main-sidebar\").offset().left : 0);\n var viewportHeight = $(document).innerHeight() - $('.navbar').innerHeight();\n // assign all width and height of the view to primary view (map)\n var primaryWidth = void 0;\n var primaryHeight = void 0;\n var secondaryWidth = void 0;\n var secondaryHeight = void 0;\n // percentage of secondary view (content)\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === state.split ? 'width' : 'height'];\n var scale = (state.secondaryPerc !== 100 && !is_fullview ? content_perc : 100) / 100;\n if ('h' === state.split) {\n secondaryWidth = state.secondaryVisible ? Math.max(viewportWidth * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n secondaryHeight = viewportHeight;\n primaryWidth = viewportWidth - secondaryWidth;\n primaryHeight = viewportHeight;\n } else {\n secondaryWidth = viewportWidth;\n secondaryHeight = state.secondaryVisible ? Math.max(viewportHeight * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n primaryWidth = state.secondaryVisible && scale === 1 ? 0 : viewportWidth;\n primaryHeight = viewportHeight - secondaryHeight;\n }\n state[state.primaryView].sizes.width = primaryWidth;\n state[state.primaryView].sizes.height = primaryHeight;\n state['map' === state.primaryView ? 'content' : 'map'].sizes.width = secondaryWidth;\n state['map' === state.primaryView ? 'content' : 'map'].sizes.height = secondaryHeight;\n}\n\n/**\n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\nfunction getReducedSizes() {\n var contentEl = $('.content');\n var reducedWidth = 0;\n var reducedHeight = 0;\n var sideBarToggleEl = $('.sidebar-aside-toggle');\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(_application2.default.viewport.split === 'h' ? 'width' : 'height') + '_100'];\n if (contentEl && _application2.default.viewport.secondaryVisible && is_fullview) {\n if (sideBarToggleEl && sideBarToggleEl.is(':visible')) {\n var toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', toggleWidth + 5);\n reducedWidth = toggleWidth - 5;\n }\n } else {\n var _toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', _application2.default.viewport.secondaryPerc === 100 ? _toggleWidth + 5 : 15);\n }\n return {\n reducedWidth: reducedWidth,\n reducedHeight: reducedHeight\n };\n}function errorToMessage(error) {\n var type = (0, _toRawType.toRawType)(error);\n\n if ('Error' === type) {\n return 'CLIENT - ' + error.message;\n }\n\n if ('Object' === type && error.responseJSON && false === error.responseJSON.result) {\n var e = error.responseJSON.error;\n return (e.code || '').toUpperCase() + ' ' + (e.data || '') + ' ' + (e.message || '');\n }\n\n if ('Object' === type && error.responseText) {\n return error.responseText;\n }\n\n if ('Array' === type) {\n return error.map(function (e) {\n return errorToMessage(e);\n }).join(' ');\n }\n\n return error || 'server_error';\n}\n\n// API della GUI.\n// methods have been defined by application\n// app should call GUI.ready() when GUI is ready\nexports.default = new (function (_G3WObject) {\n _inherits(GUI, _G3WObject);\n\n function GUI(opts) {\n _classCallCheck(this, GUI);\n\n var _this = _possibleConstructorReturn(this, (GUI.__proto__ || Object.getPrototypeOf(GUI)).call(this, opts));\n\n _this.setters = {\n setContent: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.emit('opencontent', true);\n\n // close user message before set content\n if (this._closeUserMessage) {\n this.closeUserMessage();\n }\n\n options.content = options.content || null;\n options.title = options.title || \"\";\n options.push = true === options.push || false === options.push ? options.push : false;\n options.perc = isMobile.any ? 100 : options.perc;\n options.split = options.split || 'h';\n options.backonclose = true === options.backonclose || false === options.backonclose ? options.backonclose : false;\n options.showtitle = true === options.showtitle || false === options.showtitle ? options.showtitle : true;\n\n var opts = options;\n\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n opts.perc = opts.perc !== undefined ? opts.perc : content_perc;\n\n // check if push is set\n opts.push = opts.push || false;\n var event = opts.perc === 100 ? 'show-content-full' : 'show-content';\n\n // set all content parameters\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n // call show view (in this case content (other is map)\n this._showView('content', opts);\n\n var contents = this.getComponent('contents');\n\n // whether to clean the stack every time, sure to have just one component.\n if (!opts.push) {\n yield _clearContents();\n }\n\n var content = opts.content;\n var _options = Object.assign(opts, { parent: contents.internalComponent.$el, append: true });\n contents.parent = _options.parent;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(contents.parent).append(el);\n _application2.default.contentsdata.push({ content: el, options: _options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', _application2.default.contentsdata.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = _application2.default.contentsdata.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(_application2.default.contentsdata[id].content.unmount());\n _application2.default.contentsdata.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(contents.parent, _options.append || false));\n $(contents.parent).localize();\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n // DOM element\n else {\n contents.parent.appendChild(content);\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n Array.from(contents.internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n contents.setOpen(true);\n\n this._layoutComponents(event);\n });\n\n function setContent() {\n return _ref3.apply(this, arguments);\n }\n\n return setContent;\n }()\n };\n\n _this.isready = false;\n\n //property to how a result has to be adding or close all and show new\n // false mean create new and close all open\n _this.push_content = false;\n\n _this._closeUserMessage = true;\n\n _this.dialog = bootbox;\n\n _this.notify = {\n warning: function warning(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'warning', message: message, autoclose: autoclose });\n },\n error: function error(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'alert', message: message, autoclose: autoclose });\n },\n info: function info(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'info', message: message, autoclose: autoclose });\n },\n success: function success(message) {\n _this.showUserMessage({ type: 'success', message: message, autoclose: true });\n }\n };\n\n /** @since 3.11.0 */\n _this.currentoutputplace = 'gui';\n\n return _this;\n }\n\n _createClass(GUI, [{\n key: 'addComponent',\n value: function addComponent(component, placeholder) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var register = true;\n if (placeholder && Object.keys(SERVICES).indexOf(placeholder) > -1) {\n // add component to the sidebar and set position inside the sidebar\n if ('sidebar' === placeholder) {\n if (!isMobile.any || false !== component.mobile) {\n _application2.default.sidebar.components.push(component);\n new (Vue.extend(require('components/SidebarItem.vue')))({ component: component, opts: options }).$mount();\n }\n register = true;\n } else if (SERVICES[placeholder]) {\n register = SERVICES[placeholder].addComponents([component], options);\n }\n }\n if (register) {\n this.setComponent(component);\n }\n return true;\n }\n\n /**\n * used by the following plugins: \"billboards\"\n */\n\n }, {\n key: 'setPushContent',\n value: function setPushContent() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.push_content = bool;\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n var id = component.getId();\n if (undefined === COMPONENTS[id]) {\n COMPONENTS[id] = component;\n }\n }\n }, {\n key: 'getComponent',\n value: function getComponent(id) {\n return COMPONENTS[id];\n }\n }, {\n key: 'getComponents',\n value: function getComponents() {\n return COMPONENTS;\n }\n }, {\n key: 'ready',\n value: function ready() {\n var _this2 = this;\n\n var drawing = false;\n var resizeFired = false;\n function triggerResize() {\n resizeFired = true;\n drawResize();\n }\n /**\n * function called from resize of browser windows (also open dev tool)\n */\n var drawResize = function drawResize() {\n if (true === resizeFired) {\n resizeFired = false;\n drawing = true;\n _this2._layout('resize');\n requestAnimationFrame(drawResize);\n } else {\n drawing = false;\n }\n };\n\n // SetSidebar width (used by components/Viewport.vue single file component)\n _application2.default.viewport.SIDEBARWIDTH = this.getSize({ element: 'sidebar', what: 'width' });\n\n this._layout();\n\n // resize della window\n $(window).resize(function () {\n // set resizedFired to true and execute drawResize if it's not already running\n if (false === drawing) {\n triggerResize();\n }\n });\n\n // resize on main siedemar open close sidebar\n $('.main-sidebar').on('transitionend', function (event) {\n //be sure that is the main sidebar that is transitioned non his child\n if (event.target === this) {\n $(this).trigger('trans-end');\n triggerResize();\n }\n });\n\n this.emit('ready');\n this.isready = true;\n }\n }, {\n key: 'isReady',\n value: function isReady() {\n var _this3 = this;\n\n return new Promise(function (resolve) {\n return _this3.isready ? resolve() : _this3.once('ready', resolve);\n });\n }\n }, {\n key: 'getService',\n\n\n /**\n * Passing a component application ui id return service that belongs to component\n * @param componentId\n * @returns {*}\n */\n value: function getService(componentId) {\n var component = this.getComponent(componentId);\n return component && component.getService();\n }\n\n /* end spinner */\n\n /**\n * Wrapper for download\n *\n * @param { Function } downloadFnc function to call\n * @param { Object } options Object parameters\n *\n * @since 3.9.0\n */\n\n }, {\n key: 'downloadWrapper',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (downloadFnc) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.setLoadingContent(true);\n\n try {\n yield downloadFnc(options);\n } catch (e) {\n this.showUserMessage({ type: 'alert', message: e || 'server_error', textMessage: !!e });\n }\n _application2.default.download = true;\n _application2.default.download = false;\n\n this.setLoadingContent(false);\n });\n\n function downloadWrapper(_x9) {\n return _ref4.apply(this, arguments);\n }\n\n return downloadWrapper;\n }()\n\n /** @since 3.10.0 remove _setUpTemplateDependencies method**/\n\n }, {\n key: 'isMobile',\n value: function (_isMobile) {\n function isMobile() {\n return _isMobile.apply(this, arguments);\n }\n\n isMobile.toString = function () {\n return _isMobile.toString();\n };\n\n return isMobile;\n }(function () {\n return isMobile.any;\n })\n }, {\n key: 'getFontClass',\n value: function getFontClass(type) {\n return Vue.prototype.g3wtemplate.getFontClass(type);\n }\n\n /* Metodos to define */\n\n }, {\n key: 'getResourcesUrl',\n value: function getResourcesUrl() {\n return window.initConfig.staticurl + window.initConfig.client;\n }\n\n /**\n * Function called from DataRouterservice for gui output\n * \n * @param promise // is request data promise\n * @param { Object } output\n * @param { boolean | Function | Object } output.show set output condition (whether to show result or not)\n * @param { boolean } output.add\n * @param { String } output.title\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (promise) {\n var output = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n //set current unique request id of request\n var rid = (0, _getUniqueDomId.getUniqueDomId)();\n\n /** In the case of a current output result is iframe, send to IFrameRouterService.outputDataPlace*/\n if ('iframe' === this.currentoutputplace) {\n return _iframe2.default.outputDataPlace(promise, output);\n }\n\n //set loading state\n this.setLoadingContent(true);\n\n //check show attribute if is a valid type\n var condition = ['function', 'boolean'].includes(_typeof(output.show));\n\n Object.assign(output, _extends({\n condition: condition ? output.show : true,\n add: false\n }, condition ? {} : output.show));\n\n // abort any previous request\n if (this.pending_output) {\n yield this.pending_output();\n }\n\n // if request doesn't need to add to a current query result\n if (!output.add) {\n this.showQueryResults(output.title || '');\n }\n\n // Store data promise\n var data = {};\n // stop\n var stop = false;\n\n //set current pending out\n this.pending_output = _asyncToGenerator(function* () {\n return stop = true;\n });\n\n //set current request id\n this.crid = rid;\n\n try {\n\n if (!stop) {\n data = yield promise;\n }\n\n //if set before call method and wait\n if (!stop && output.before) {\n yield output.before(data);\n }\n\n // in case of usermessage show user message\n if (!stop && data.usermessage) {\n this.showUserMessage({\n type: data.usermessage.type,\n message: data.usermessage.message,\n autoclose: data.usermessage.autoclose\n });\n }\n\n var show = !stop && 'function' === typeof output.condition ? output.condition(data) : false !== output.condition;\n\n // check if data can be shown on query result content\n if (!stop && show) {\n (this.getService('queryresults') || this.showQueryResults(output.title || '')).setQueryResponse(data, { add: output.add });\n }\n\n if (!stop && !show) {\n this.pending_output = this.closeContent.bind(this);\n }\n\n // call after is set with data\n if (!stop && output.after) {\n output.after(data);\n }\n } catch (e) {\n console.warn(e);\n this.showUserMessage({\n type: 'alert',\n message: errorToMessage(e),\n textMessage: true\n });\n yield this.closeContent();\n }\n\n this.pending_output = null;\n //set loading to false when done current request id\n this.setLoadingContent(rid !== this.crid);\n });\n\n function outputDataPlace(_x11) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n }, {\n key: 'showForm',\n value: function showForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _require = require('components/g3w-form'),\n FormComponent = _require.FormComponent;\n // new instance every time\n\n\n var formComponent = options.formComponent ? new options.formComponent(options) : new FormComponent(options);\n this.setContent({\n perc: options.perc,\n content: formComponent,\n split: undefined !== options.split ? options.split : 'h',\n crumb: options.crumb,\n push: !!options.push, //only one (if other deletes previous component)\n showgoback: !!options.showgoback,\n closable: false\n });\n // return service\n return formComponent.getService();\n }\n\n /**\n *\n * @param pop remove or not content or pop\n */\n\n }, {\n key: 'closeForm',\n value: function closeForm() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$pop = _ref7.pop,\n pop = _ref7$pop === undefined ? false : _ref7$pop;\n\n this.emit('closeform', false);\n\n var backonclose = !pop && _application2.default.viewport.content.backonclose && _application2.default.viewport.content.contentsdata.length > 1;\n\n // remove just last component\n if (pop || backonclose) {\n this.popContent();\n }\n\n // remove all content stacks\n if (!pop && !backonclose) {\n this.closeContent();\n }\n\n this.setModal(false);\n }\n }, {\n key: 'disableElement',\n value: function disableElement(_ref8) {\n var element = _ref8.element,\n disable = _ref8.disable;\n\n $(element)[disable ? 'addClass' : 'removeClass']('g3w-disabled');\n }\n }, {\n key: 'disableContent',\n value: function disableContent(disable) {\n _application2.default.viewport.content.disabled = disable;\n }\n }, {\n key: 'disablePanel',\n value: function disablePanel() {\n var disable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.disableElement({\n element: \"#g3w-sidebarpanel-placeholder\",\n disable: disable\n });\n }\n\n /**\n * collapse any expanded sidebar component \n */\n\n }, {\n key: 'closeSideBar',\n value: function closeSideBar() {\n _application2.default.sidebar.components.forEach(function (c) {\n return c.getOpen() && c.state.closewhenshowviewportcontent && c.collapsible && c.click({ open: false });\n });\n }\n }, {\n key: 'showQueryResults',\n\n\n // show results info/search\n value: function showQueryResults(title, results) {\n var queryresults = this.getComponent('queryresults').getService();\n\n queryresults.clearState();\n\n if (results) {\n queryresults.setQueryResponse(results);\n }\n\n // show contextual content\n this.setContent({\n content: this.getComponent('queryresults'),\n title: \"info.title\",\n crumb: { title: \"info.title\", trigger: null },\n push: this.push_content,\n post_title: title,\n perc: isMobile.any ? 100 : undefined\n });\n\n return queryresults;\n }\n\n /**\n * used by the following plugins: \"stress\" \n */\n\n }, {\n key: 'addNavbarItem',\n value: function addNavbarItem(item) {\n _application2.default.navbaritems.push(item);\n }\n }, {\n key: 'showPanel',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (content) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _application2.default.sidebar.title = content.title;\n _application2.default.sidebar.parent = '#g3w-sidebarpanel-placeholder';\n\n var current = _application2.default.sidebar.contentsdata.at(-1);\n\n if (current) {\n $(current.content.internalPanel.$el).hide();\n }\n\n var options = _extends({ parent: '#g3w-sidebarpanel-placeholder' }, opts);\n var parent = _application2.default.sidebar.parent;\n var data = _application2.default.sidebar.contentsdata;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(parent).append(el);\n data.push({ content: el, options: options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', data.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = data.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(data[id].content.unmount());\n data.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(parent, options.append || false));\n $(parent).localize();\n data.push({ content: content, options: options });\n }\n\n // DOM element\n else {\n parent.appendChild(content);\n data.push({ content: content, options: options });\n }\n });\n\n function showPanel(_x16) {\n return _ref9.apply(this, arguments);\n }\n\n return showPanel;\n }()\n }, {\n key: 'closePanel',\n value: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var data = _application2.default.sidebar.contentsdata;\n if (data.length <= 0) {\n return;\n }\n var panel = data.slice(-1)[0].content;\n if (panel instanceof _g3wComponent2.default || panel instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(panel.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n var content = data.pop();\n content = null;\n var current = _application2.default.sidebar.contentsdata.at(-1);\n if (current) {\n $(current.content.internalPanel.$el).show();\n _application2.default.sidebar.title = current.content.title;\n }\n });\n\n function closePanel() {\n return _ref10.apply(this, arguments);\n }\n\n return closePanel;\n }()\n\n //showusermessage\n\n }, {\n key: 'showUserMessage',\n value: function showUserMessage() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n title = _ref11.title,\n subtitle = _ref11.subtitle,\n message = _ref11.message,\n type = _ref11.type,\n position = _ref11.position,\n size = _ref11.size,\n draggable = _ref11.draggable,\n duration = _ref11.duration,\n _ref11$textMessage = _ref11.textMessage,\n textMessage = _ref11$textMessage === undefined ? false : _ref11$textMessage,\n closable = _ref11.closable,\n autoclose = _ref11.autoclose,\n _ref11$hooks = _ref11.hooks,\n hooks = _ref11$hooks === undefined ? {} : _ref11$hooks,\n _ref11$iconClass = _ref11.iconClass,\n iconClass = _ref11$iconClass === undefined ? null : _ref11$iconClass;\n\n this.closeUserMessage();\n\n setTimeout(function () {\n Object.assign(_application2.default.viewport.usermessage, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n show: true,\n message: message,\n textMessage: textMessage,\n title: title,\n subtitle: subtitle,\n position: position,\n duration: duration,\n type: type,\n size: size,\n autoclose: autoclose,\n closable: closable,\n draggable: draggable,\n hooks: hooks,\n iconClass: iconClass\n });\n });\n\n return _application2.default.viewport.usermessage;\n }\n }, {\n key: 'closeUserMessage',\n value: function closeUserMessage() {\n Object.assign(_application2.default.viewport.usermessage, {\n id: null,\n show: false,\n textMessage: false,\n message: ''\n });\n }\n\n //modal dialog//\n\n }, {\n key: 'showModalDialog',\n value: function showModalDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.dialog.dialog(options);\n }\n }, {\n key: 'showSpinner',\n value: function showSpinner() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var container = options.container || 'body';\n var id = options.id || 'loadspinner';\n var where = options.where || 'prepend'; // append | prepend\n var style = options.style || '';\n var transparent = options.transparent && 'background-color: transparent' || '';\n var center = options.center && 'margin: auto' || '';\n if (!$('#' + id).length) {\n $(container)[where].call($(container), '
');\n }\n }\n }, {\n key: 'hideSpinner',\n value: function hideSpinner() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'loadspinner';\n\n $('#' + id).remove();\n }\n\n /** @since 3.11.0*/\n\n }, {\n key: 'toggleSidebar',\n value: function toggleSidebar() {\n if (document.body.classList.contains('sidebar-open')) {\n this.hideSidebar();\n } else if (document.body.classList.contains('sidebar-collapse') || window.innerWidth <= 767) {\n this.showSidebar();\n } else {\n this.hideSidebar();\n }\n }\n\n /**\n * Toggle set full screen modal\n */\n\n }, {\n key: 'showFullModal',\n value: function showFullModal() {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$element = _ref12.element,\n element = _ref12$element === undefined ? \"#modal-fullscreen\" : _ref12$element,\n _ref12$show = _ref12.show,\n show = _ref12$show === undefined ? true : _ref12$show;\n\n $(element).modal(show ? 'show' : 'hide');\n }\n }, {\n key: 'disableSideBar',\n value: function disableSideBar() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _application2.default.gui.sidebar.disabled = bool;\n }\n\n // (100%) content\n\n }, {\n key: 'showContent',\n value: function showContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.setLoadingContent(false);\n options.perc = isMobile.any ? 100 : options.perc;\n this.setContent(options);\n return true;\n }\n\n // add component to stack (append)\n // Differences between pushContent and setContent are:\n // - push every component is added, set is refreshed\n // - pushContent has a new parameter (backonclose) when is clicked x\n // - the contentComponent is close all stacks are closed\n\n }, {\n key: 'pushContent',\n value: function pushContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n options.perc = isMobile.any ? 100 : options.perc;\n options.push = true;\n this.setContent(options);\n }\n\n //return number of a component of stack\n\n }, {\n key: 'getContentLength',\n value: function getContentLength() {\n return _application2.default.viewport.content.contentsdata.length;\n }\n\n /**\n * change current content options\n * @param opts: { title, crumb, text }\n */\n\n }, {\n key: 'setCurrentContentOptions',\n value: function setCurrentContentOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var content = _application2.default.viewport.content.contentsdata.at(-1) || null;\n if (content && opts.title) {\n content.options.title = opts.title;\n }\n if (content && opts.crumb) {\n content.options.crumb = opts.crumb;\n }\n }\n }, {\n key: 'getCurrentContent',\n value: function getCurrentContent() {\n return _application2.default.viewport.content.contentsdata.at(-1) || null;\n }\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * ORIGINAL SOURCE: src/components/g3w-projectsmenu.js@v3.10.2\n */\n\n }, {\n key: 'getProjectMenuDOM',\n value: function getProjectMenuDOM() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$projects = _ref13.projects,\n projects = _ref13$projects === undefined ? [] : _ref13$projects,\n host = _ref13.host,\n cbk = _ref13.cbk;\n\n var opts = {\n projects: projects && Array.isArray(projects) && projects,\n cbk: cbk,\n host: host\n };\n return new _g3wComponent2.default(_extends({}, opts, {\n id: 'projectsmenu',\n title: opts.title || 'menu',\n internalComponent: new (Vue.extend(require('components/ProjectsMenu.vue')))({\n host: opts.host,\n state: {\n menuitems: (opts.projects || (0, _getListableProjects.getListableProjects)()).map(function (p) {\n return {\n title: p.title,\n description: p.description,\n thumbnail: p.thumbnail,\n gid: p.gid,\n cbk: opts.cbk || function () {\n var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var url = yield GUI.getService('map').addMapExtentUrlParameterToUrl((0, _getProjectUrl.getProjectUrl)(o.gid));\n try {\n history.replaceState(null, null, url);\n } catch (e) {\n console.warn(e);\n }location.replace(url);\n }));\n }\n };\n })\n }\n })\n })).getInternalComponent().$mount().$el;\n }\n }, {\n key: 'toggleUserMessage',\n value: function toggleUserMessage() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._closeUserMessage = bool;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideClientMenu',\n value: function hideClientMenu() {\n window.initConfig.user = null;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideChangeMaps',\n value: function hideChangeMaps() {\n window.initConfig.projects = [];\n }\n }, {\n key: 'setLoadingContent',\n value: function setLoadingContent() {\n var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _application2.default.viewport.content.loading = loading;\n return loading && new Promise(function (resolve) {\n return setTimeout(resolve, 200);\n });\n }\n }, {\n key: 'toggleFullViewContent',\n value: function toggleFullViewContent() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = !rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n this._layoutComponents();\n }\n\n // hide content\n\n }, {\n key: 'hideContent',\n value: function hideContent(bool) {\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n _application2.default.viewport.secondaryVisible = !bool;\n this._layout('hide-content');\n // return previous percentage\n return content_perc;\n }\n }, {\n key: 'closeContent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.emit('closecontent', false);\n\n var state = _application2.default.viewport;\n var open = state.content.contentsdata.length > 0;\n\n // content is open → remove content\n if (open) {\n var contents = this.getComponent('contents');\n contents.setOpen(false);\n _clearContents();\n }\n\n // close secondary view\n if (open && 'map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n if (open) {\n state.secondaryVisible = false;\n this._layout('close-content');\n yield Vue.nextTick();\n }\n\n return this.getComponent('map');\n });\n\n function closeContent() {\n return _ref15.apply(this, arguments);\n }\n\n return closeContent;\n }()\n\n // remove last content from stack\n\n }, {\n key: 'popContent',\n value: function () {\n var _ref16 = _asyncToGenerator(function* () {\n // skip when ..\n if (!_application2.default.viewport.content.contentsdata.length) {\n return Promise.reject();\n }\n\n var data = this.getComponent('contents').contentsdata.at(-2);\n var opts = data.options;\n\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n this._showView('content', data.options);\n\n if (_application2.default.contentsdata.length <= 0) {\n return;\n }\n\n // component exists on stack → remove the last from stack\n var content = _application2.default.contentsdata.slice(-1)[0].content;\n\n if (content instanceof _g3wComponent2.default || content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(content.unmount());\n } else {\n $(this.getComponent('contents').parent).empty();\n }\n\n _application2.default.contentsdata.pop();\n\n Array.from(this.getComponent('contents').internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n _application2.default.viewport.secondaryPerc = data.options.perc;\n\n this._layout('pop-content');\n\n return this.getComponent('contents').contentsdata.at(-1);\n });\n\n function popContent() {\n return _ref16.apply(this, arguments);\n }\n\n return popContent;\n }()\n }, {\n key: 'isSidebarVisible',\n value: function isSidebarVisible() {\n return !document.body.classList.contains('sidebar-collapse');\n }\n }, {\n key: 'setModal',\n value: function setModal() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var message = arguments[1];\n\n var mapService = this.getService('map');\n if (bool) {\n mapService.startDrawGreyCover(message);\n } else {\n mapService.stopDrawGreyCover();\n }\n }\n }, {\n key: 'showSidebar',\n value: function showSidebar() {\n document.body.classList.add('sidebar-open');\n document.body.classList.remove('sidebar-collapse');\n _application2.default.gui.sidebar.open = true;\n }\n }, {\n key: 'hideSidebar',\n value: function hideSidebar() {\n document.body.classList.remove('sidebar-open');\n document.body.classList.add('sidebar-collapse');\n _application2.default.gui.sidebar.open = false;\n }\n }, {\n key: 'getSize',\n value: function getSize(_ref17) {\n var element = _ref17.element,\n what = _ref17.what;\n\n if (element && what) {\n return _application2.default.sizes[element][what];\n }\n }\n\n // manage all layout logic\n // viewName: map or content\n //options. percentage , splitting title etc ..\n\n }, {\n key: '_showView',\n value: function () {\n var _ref18 = _asyncToGenerator(function* (viewName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = _application2.default.viewport;\n\n var _options$perc = options.perc,\n perc = _options$perc === undefined ? viewName == state.primaryView ? 100 : 50 : _options$perc,\n _options$split = options.split,\n split = _options$split === undefined ? 'h' : _options$split;\n\n\n state[viewName].aside = viewName == state.primaryView ? undefined === options.aside ? false : options.aside : true;\n\n //calculate the content\n var secondaryPerc = viewName == state.primaryView ? 100 - perc : perc;\n\n //show Secondary View content only if more than 0\n if (secondaryPerc > 0) {\n state.secondaryVisible = true;\n state.split = undefined !== split ? split : state.split;\n state.secondaryPerc = undefined !== perc ? perc : state.perc;\n this._layout();\n return;\n }\n\n // close secondary view\n if ('map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n state.secondaryVisible = false;\n\n this._layout();\n\n yield Vue.nextTick();\n });\n\n function _showView(_x32) {\n return _ref18.apply(this, arguments);\n }\n\n return _showView;\n }()\n\n /**\n * load components of viewport after right size setting\n * \n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\n\n }, {\n key: '_layoutComponents',\n value: function _layoutComponents() {\n var _this4 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n requestAnimationFrame(function () {\n var reducesdSizes = getReducedSizes();\n var reducedWidth = reducesdSizes.reducedWidth || 0;\n var reducedHeight = reducesdSizes.reducedHeight || 0;\n\n // for each component\n setViewSizes();\n _this4.getService('map').layout({\n width: _application2.default.viewport.map.sizes.width - reducedWidth,\n height: _application2.default.viewport.map.sizes.height - reducedHeight\n });\n\n var parentWidth = _application2.default.viewport.content.sizes.width - reducedWidth;\n\n // Set layout of the content each time\n Vue.nextTick(function () {\n // run only after that vue state is updated\n var el = _this4.getComponent('contents').internalComponent.$el;\n var height = el.parentElement.clientHeight // parent element is \"g3w-view-content\"\n - ((el.parentElement.querySelector('.close-panel-block') || {}).offsetHeight || 0) - ((el.parentElement.querySelector('.content_breadcrumb') || {}).offsetHeight || 0) - 10; // margin 10 from bottom\n el.style.height = height + 'px';\n if (el.firstChild) {\n el.firstChild.style.height = height + 'px';\n }\n _application2.default.contentsdata.forEach(function (d) {\n // re-layout each component stored into the stack\n if ('function' == typeof d.content.layout) {\n d.content.layout(parentWidth + 0.5, height);\n }\n });\n });\n\n if (event) {\n setTimeout(function () {\n _this4.emit(event);\n });\n }\n });\n }\n\n /**\n * main layout function\n */\n\n }, {\n key: '_layout',\n value: function _layout() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var reducesdSizes = getReducedSizes();\n setViewSizes(reducesdSizes.reducedWidth, reducesdSizes.reducedHeight);\n this._layoutComponents(event);\n }\n }]);\n\n return GUI;\n}(_g3wObject2.default))();\n\n},{\"components/ProjectsMenu.vue\":90,\"components/SidebarItem.vue\":107,\"components/g3w-form\":112,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/iframe\":174,\"store/application\":178,\"utils/getListableProjects\":209,\"utils/getProjectUrl\":214,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/toRawType\":242}],174:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/**\n * @param epsg: Number Code of epsg Ex.4326\n * \n * @returns String Normalize epsg: From number ex: 4326 to 'EPSG:4326'\n * \n * @since 3.9.1\n */\nvar _getEpsgFromParam = function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n epsg = (0, _normalizeEpsg.normalizeEpsg)(epsg);\n yield _projections2.default.registerProjection(epsg);\n return epsg;\n });\n\n return function _getEpsgFromParam(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * @example template.html\n * \n * ```html\n * \n * \n * \n * \n * Test Iframe\n * \n * \n * \n * \n * \n * \n * ```\n */\n\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\nvar IframePluginService = function () {\n function IframePluginService() {\n _classCallCheck(this, IframePluginService);\n\n this.pendingactions = {};\n this.getMessage = this.getMessage.bind(this);\n this.eventResponseServiceHandler = this.eventResponseServiceHandler.bind(this);\n }\n\n /**\n * @param { Object } opts\n * @param opts.project current project sends by application service\n */\n\n\n _createClass(IframePluginService, [{\n key: 'init',\n value: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref3.project;\n\n yield _gui2.default.isReady();\n\n this.services = {\n app: new AppService(),\n editing: new EditingService()\n };\n\n // get layer attributes from project layers state\n var layers = project.state.layers.map(function (l) {\n return { id: l.id, name: l.name };\n });\n\n // initialize all services\n var serviceNames = Object.keys(this.services);\n\n for (var i = 0; i < serviceNames.length; i++) {\n var service = this.services[serviceNames[i]];\n // set common layer attribute service just one time\n if (undefined === service.getLayers()) {\n service.setLayers(layers);\n }\n yield service.init();\n service.on('response', this.eventResponseServiceHandler);\n }\n\n // Send post-message is ready\n this.postMessage({\n id: null,\n action: 'app:ready',\n response: { result: true, data: { layers: layers } }\n });\n\n window.addEventListener('message', this.getMessage, false);\n });\n\n function init() {\n return _ref2.apply(this, arguments);\n }\n\n return init;\n }()\n\n // set eventResponse handler to alla services\n\n }, {\n key: 'eventResponseServiceHandler',\n value: function eventResponseServiceHandler(_ref4) {\n var action = _ref4.action,\n response = _ref4.response;\n\n this.postMessage({ id: null, action: action, response: response });\n }\n\n /**\n * Outputplace iframe get by DataRouteService\n * \n * @param dataPromise\n * @param options\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (dataPromise) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var outputData = void 0;\n var _options$action = options.action,\n action = _options$action === undefined ? 'app:results' : _options$action;\n\n var _ref6 = yield dataPromise,\n result = _ref6.result,\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n var parser = new ol.format.GeoJSON();\n try {\n outputData = data.map(function (_ref7) {\n var layer = _ref7.layer,\n features = _ref7.features;\n return _defineProperty({}, layer.getId(), { features: parser.writeFeatures(features) });\n });\n } catch (e) {\n console.warn(e);\n result = false;\n outputData = e;\n }\n\n this.postMessage({\n id: null,\n action: action,\n response: { result: result, data: outputData }\n });\n });\n\n function outputDataPlace(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n\n /**\n * post a message to parent\n */\n\n }, {\n key: 'postMessage',\n value: function postMessage() {\n var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (window.parent) {\n window.parent.postMessage(message, '*');\n }\n }\n }, {\n key: 'stopPendingActions',\n value: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this = this;\n\n var promises = [];\n Object.keys(this.pendingactions).forEach(function (id) {\n promises.push(_this.services[_this.pendingactions[id].context].stop());\n delete _this.pendingactions[id];\n });\n return Promise.allSettled(promises);\n });\n\n function stopPendingActions() {\n return _ref9.apply(this, arguments);\n }\n\n return stopPendingActions;\n }()\n }, {\n key: 'getMessage',\n\n\n /**\n * handle all messages from the window\n */\n value: function () {\n var _ref10 = _asyncToGenerator(function* (evt) {\n if (evt && evt.data) {\n var _evt$data = evt.data,\n _evt$data$id = _evt$data.id,\n id = _evt$data$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _evt$data$id,\n _evt$data$single = _evt$data.single,\n single = _evt$data$single === undefined ? true : _evt$data$single,\n action = _evt$data.action,\n params = _evt$data.data;\n\n var _split = (action || '').split(':'),\n _split2 = _slicedToArray(_split, 2),\n context = _split2[0],\n method = _split2[1];\n\n var result = false;\n var data = void 0;\n try {\n var is_ready = this.services[context].getReady();\n if (is_ready && single) {\n yield this.stopPendingActions();\n }\n if (is_ready) {\n this.pendingactions[id] = { context: context };\n data = yield this.services[context][method](params);\n result = true;\n }\n } catch (e) {\n console.warn(e);\n result = false;\n data = e;\n }\n this.postMessage({\n id: id,\n action: action,\n response: { result: result, data: data }\n });\n delete this.pendingactions[id];\n }\n });\n\n function getMessage(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return getMessage;\n }()\n\n /**\n * Called when change map or clear\n */\n\n }, {\n key: 'clear',\n value: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var serviceNames = Object.keys(this.services);\n for (var i = 0; i < serviceNames.length; i++) {\n this.services[serviceNames[i]].off('response', this.eventResponseServiceHandler);\n }\n yield this.stopPendingActions();\n window.removeEventListener('message', this.getMessage, false);\n });\n\n function clear() {\n return _ref11.apply(this, arguments);\n }\n\n return clear;\n }()\n }]);\n\n return IframePluginService;\n}();\n\n/**\n * ORIGINAL SOURCE: src/app/core/iframe/services/baseservice.js@3.9.0\n */\n\n\nvar BaseIframeService = function (_G3WObject) {\n _inherits(BaseIframeService, _G3WObject);\n\n function BaseIframeService() {\n _classCallCheck(this, BaseIframeService);\n\n /**\n * @type { boolean }\n */\n var _this2 = _possibleConstructorReturn(this, (BaseIframeService.__proto__ || Object.getPrototypeOf(BaseIframeService)).call(this));\n\n _this2.ready = false;\n\n /**\n * Map service\n */\n _this2.mapService = _gui2.default.getService('map');\n\n /**\n * Current project\n */\n _this2.project = _application2.default.project;\n\n /**\n * @type { Array | undefined }\n */\n _this2.layers = undefined;\n\n // common attributes between plugin service\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n _this2.pluginName;\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n _this2.dependencyApi = {};\n\n return _this2;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses\n * \n * @since 3.9.1\n */\n\n\n _createClass(BaseIframeService, [{\n key: 'init',\n value: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$layers = _ref13.layers,\n layers = _ref13$layers === undefined ? {} : _ref13$layers;\n\n this.layers = layers;\n // skip when plugin is not in configuration (ie. added to the application)\n if (!_application2.default.configurationPlugins.includes(this.pluginName)) {\n return;\n }\n var plugin = _plugins2.default.getPlugin(this.pluginName);\n if (plugin) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n } else {\n _plugins2.default.onafter('registerPlugin', function () {\n var _ref14 = _asyncToGenerator(function* (plugin) {\n yield plugin.isReady();\n if (plugin.getName() === _this3.pluginName) {\n _this3.setDependencyApi(plugin.getApi());\n _this3.setReady(true);\n }\n });\n\n return function (_x8) {\n return _ref14.apply(this, arguments);\n };\n }());\n }\n });\n\n function init() {\n return _ref12.apply(this, arguments);\n }\n\n return init;\n }()\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'setDependencyApi',\n value: function setDependencyApi() {\n var api = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.dependencyApi = api;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getDependecyApi',\n value: function getDependecyApi() {\n return this.dependencyApi;\n }\n\n /**\n * Return a qgs_layer_id array based on passed qgis_layer_id\n * \n * @param { Object } opts\n * @param { string | string[] | null | undefined } opts.qgs_layer_id\n * @param { Array } noValue\n * \n * @returns { string[] } qgs_layer_id\n * \n * @private\n */\n\n }, {\n key: 'getQgsLayerId',\n value: function getQgsLayerId(_ref15) {\n var qgs_layer_id = _ref15.qgs_layer_id,\n _ref15$noValue = _ref15.noValue,\n noValue = _ref15$noValue === undefined ? this.layers.map(function (l) {\n return l.id;\n }) : _ref15$noValue;\n\n return qgs_layer_id ? [].concat(qgs_layer_id) : noValue;\n }\n }, {\n key: 'searchFeature',\n\n\n /**\n * getFeature from DataProvider\n * \n * @private\n */\n value: function () {\n var _ref17 = _asyncToGenerator(function* (_ref16) {\n var layer = _ref16.layer,\n feature = _ref16.feature;\n var field = feature.field,\n value = feature.value;\n\n var DataRouterService = require('services/data').default;\n\n var _ref18 = yield DataRouterService.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: 'eq' })\n },\n outputs: false\n }),\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? [] : _ref18$data;\n\n return data;\n });\n\n function searchFeature(_x10) {\n return _ref17.apply(this, arguments);\n }\n\n return searchFeature;\n }()\n }, {\n key: 'findFeaturesWithGeometry',\n\n\n /**\n * Search feature(s) by field and value\n * \n * @param { Object } opts\n * @param opts.qgs_layer_id\n * @param opts.feature\n * @param opts.zoom\n * @param opts.highlight\n * \n * @returns { Promise<{ qgs_layer_id: null, features: [], found: boolean }>}\n */\n value: function () {\n var _ref19 = _asyncToGenerator(function* () {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref20.feature,\n _ref20$qgs_layer_id = _ref20.qgs_layer_id,\n qgs_layer_id = _ref20$qgs_layer_id === undefined ? [] : _ref20$qgs_layer_id,\n _ref20$zoom = _ref20.zoom,\n zoom = _ref20$zoom === undefined ? false : _ref20$zoom,\n _ref20$highlight = _ref20.highlight,\n highlight = _ref20$highlight === undefined ? false : _ref20$highlight;\n\n var response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n var layersCount = qgs_layer_id.length;\n var i = 0;\n while (!response.found && i < layersCount) {\n var layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n var data = layer && (yield this.searchFeature({ layer: layer, feature: feature }));\n var features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(function (f) {\n return f.getGeometry();\n });\n if (!features || !response.found) {\n throw 'invalid response';\n }\n response.features = features;\n response.qgs_layer_id = qgs_layer_id[i];\n if (zoom) {\n yield this.mapService.zoomToFeatures(features, { highlight: highlight });\n }\n } catch (e) {\n i++;console.warn(e);\n }\n }\n // in case of no response zoom to an initial extent\n if (!response.found) {\n this.zoomToExtent(this.mapService.project.state.initextent);\n }\n return response;\n });\n\n function findFeaturesWithGeometry() {\n return _ref19.apply(this, arguments);\n }\n\n return findFeaturesWithGeometry;\n }()\n\n /**\n * Set layer function\n * \n * @param layers\n */\n\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.ready = bool;\n }\n }, {\n key: 'getReady',\n value: function getReady() {\n return this.ready;\n }\n\n /**\n * Overwrite single service: Usefult to stop eventually running action\n * \n * @virtual method need to be implemented by subclasses\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stop',\n value: function () {\n var _ref21 = _asyncToGenerator(function* () {});\n\n function stop() {\n return _ref21.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n }]);\n\n return BaseIframeService;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\n\n\nvar AppService = function (_BaseIframeService) {\n _inherits(AppService, _BaseIframeService);\n\n function AppService() {\n _classCallCheck(this, AppService);\n\n var _this4 = _possibleConstructorReturn(this, (AppService.__proto__ || Object.getPrototypeOf(AppService)).call(this));\n\n _this4.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null }\n };\n return _this4;\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n\n\n _createClass(AppService, [{\n key: 'init',\n value: function init() {\n var _this5 = this;\n\n return new Promise(function (resolve) {\n _this5.mapService.once('ready', function () {\n _this5._map = _this5.mapService.getMap();\n _this5._mapCrs = _this5.mapService.getCrs();\n _this5.mapControls.screenshot.control = _this5.mapService.getMapControlByType({ type: 'screenshot' });\n _this5.setReady(true);\n resolve();\n });\n });\n }\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'results',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (_ref22) {\n var _ref22$capture = _ref22.capture,\n capture = _ref22$capture === undefined ? true : _ref22$capture;\n\n _gui2.default.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n });\n\n function results(_x14) {\n return _ref23.apply(this, arguments);\n }\n\n return results;\n }()\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'screenshot',\n value: function () {\n var _ref25 = _asyncToGenerator(function* (_ref24) {\n var _this6 = this;\n\n var _ref24$capture = _ref24.capture,\n capture = _ref24$capture === undefined ? true : _ref24$capture;\n\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(_asyncToGenerator(function* () {\n var response = void 0;\n try {\n response = { result: true, data: yield _this6.mapService.createMapImage() };\n } catch (e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n _this6.emit('response', { response: response, action: 'app:screenshot' });\n }\n }));\n });\n\n function screenshot(_x15) {\n return _ref25.apply(this, arguments);\n }\n\n return screenshot;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getcenter',\n value: function () {\n var _ref27 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(center, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return center;\n });\n\n function getcenter() {\n return _ref27.apply(this, arguments);\n }\n\n return getcenter;\n }()\n\n /**\n * Zoom to coordinates\n * \n * @param { Object } params\n * @param { Array } params.coordinates\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtocoordinates',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$coordinates = params.coordinates,\n coordinates = _params$coordinates === undefined ? [] : _params$coordinates,\n epsg = params.epsg;\n // skip when coordinates in params are null or are an array with more than item 2\n\n if (!(coordinates && Array.isArray(coordinates) && 2 === coordinates.length)) {\n return Promise.reject(coordinates);\n }\n if (undefined !== epsg) {\n // normalized psg code\n epsg = yield _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n });\n\n function zoomtocoordinates() {\n return _ref28.apply(this, arguments);\n }\n\n return zoomtocoordinates;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getextent',\n value: function () {\n var _ref29 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(extent, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return extent;\n });\n\n function getextent() {\n return _ref29.apply(this, arguments);\n }\n\n return getextent;\n }()\n\n /**\n * @param { Object } params\n * @param { Array } params.extent\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtoextent',\n value: function () {\n var _ref30 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$extent = params.extent,\n extent = _params$extent === undefined ? [] : _params$extent,\n epsg = params.epsg;\n // skip when an extent is null ora an array with number of ites not equal to 4\n\n if (!(extent && Array.isArray(extent) && 4 === extent.length)) {\n return Promise.reject(extent);\n }\n /** If epsg is provide, get epsg definition */\n if (undefined !== epsg) {\n epsg = _getEpsgFromParam(epsg);\n extent = ol.proj.transformExtent(extent, epsg, this.mapService.getEpsg());\n } else {\n this.mapService.goToBBox(extent);\n }\n return extent;\n });\n\n function zoomtoextent() {\n return _ref30.apply(this, arguments);\n }\n\n return zoomtoextent;\n }()\n }, {\n key: 'zoomtofeature',\n\n\n /**\n * Zoom to features\n * \n * @param { Object } params\n * @param params.qgs_layer_id\n * @param params.feature\n * @param { boolean } params.highlight \n * \n * @returns { Promise } qgs_layer_id\n */\n value: function () {\n var _ref31 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var qgs_layer_id = params.qgs_layer_id,\n feature = params.feature,\n _params$highlight = params.highlight,\n highlight = _params$highlight === undefined ? false : _params$highlight;\n\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id: qgs_layer_id });\n\n var response = yield this.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: highlight\n });\n\n return response.qgs_layer_id;\n });\n\n function zoomtofeature() {\n return _ref31.apply(this, arguments);\n }\n\n return zoomtofeature;\n }()\n }]);\n\n return AppService;\n}(BaseIframeService);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\n\n\nvar EditingService = function (_BaseIframeService2) {\n _inherits(EditingService, _BaseIframeService2);\n\n function EditingService() {\n _classCallCheck(this, EditingService);\n\n var _this7 = _possibleConstructorReturn(this, (EditingService.__proto__ || Object.getPrototypeOf(EditingService)).call(this));\n\n _this7.pluginName = 'editing';\n\n _this7.subscribevents = [];\n\n _this7.isRunning = false;\n\n _this7.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n\n _this7.config = {\n tools: {\n add: {\n disabled: [{ id: 'deletefeature' }, { id: 'copyfeatures' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n update: {\n disabled: [{ id: 'addfeature' }, { id: 'copyfeatures' }, { id: 'deletefeature' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n delete: {\n enabled: [{ id: 'deletefeature', options: { active: true } }]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n _this7.subscribersHandlers = {\n\n canUndo: function canUndo(_ref32) {\n var activeTool = _ref32.activeTool,\n _ref32$disableToolbox = _ref32.disableToolboxes,\n disableToolboxes = _ref32$disableToolbox === undefined ? [] : _ref32$disableToolbox;\n return function (bool) {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n _this7.responseObject.qgs_layer_id = null;\n _this7.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(function (toolbox) {\n return toolbox.setEditing(!bool);\n });\n };\n },\n\n canRedo: function canRedo() {},\n\n //run callback\n cancelform: function cancelform(cb) {\n return function () {\n cb();\n };\n },\n\n addfeature: function addfeature() {\n var _ref33 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n properties = _ref33.properties,\n toolboxes = _ref33.toolboxes;\n\n return function (feature) {\n\n Object.keys(properties).forEach(function (p) {\n return feature.set(p, properties[p]);\n });\n\n var activeTool = void 0;\n var disableToolboxes = [];\n\n toolboxes.forEach(function (t) {\n var tool = t.getToolById('addfeature');\n if (tool.isActive()) {\n tool.setEnabled(false);\n activeTool = tool;\n } else {\n t.setEditing(false);\n disableToolboxes.push(t);\n }\n });\n\n // just one time\n if (_this7.subscribevents.find(function (e) {\n return 'canUndo' !== e.event;\n })) {\n _this7.addSubscribeEvents('cancelform', _this7.addSubscribeEvents('canUndo', { activeTool: activeTool, disableToolboxes: disableToolboxes }));\n }\n };\n },\n\n closeeditingpanel: function closeeditingpanel(_ref34) {\n var qgs_layer_id = _ref34.qgs_layer_id;\n return function () {\n // response to router service\n _this7.responseObject.cb({\n qgs_layer_id: _this7.responseObject.qgs_layer_id,\n error: _this7.responseObject.error\n });\n // stop action\n _this7.stopAction({ qgs_layer_id: qgs_layer_id });\n };\n }\n\n };\n\n return _this7;\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n\n\n _createClass(EditingService, [{\n key: 'startAction',\n value: function () {\n var _ref36 = _asyncToGenerator(function* (_ref35) {\n var _this8 = this;\n\n var toolboxes = _ref35.toolboxes,\n resolve = _ref35.resolve,\n reject = _ref35.reject;\n\n\n this.responseObject.cb = reject;\n\n // set same mode autosave\n this.dependencyApi.setSaveConfig({\n cb: {\n // called when commit changes are done successuffly\n done: function done(toolbox) {\n //set toolbox id\n _this8.responseObject.cb = resolve;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = null;\n // close panel that fire closeediting panel event\n _this8.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: function error(toolbox, _error) {\n _this8.responseObject.cb = reject;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = _error;\n }\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes: toolboxes });\n\n this.isRunning = true;\n });\n\n function startAction(_x22) {\n return _ref36.apply(this, arguments);\n }\n\n return startAction;\n }()\n\n /**\n * run after each action\n */\n\n }, {\n key: 'stopAction',\n value: function () {\n var _ref37 = _asyncToGenerator(function* () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (opts.qgs_layer_id) {\n yield this.stopEditing(opts.qgs_layer_id);\n }\n });\n\n function stopAction() {\n return _ref37.apply(this, arguments);\n }\n\n return stopAction;\n }()\n\n /**\n * add subscribe refenrence\n */\n\n }, {\n key: 'addSubscribeEvents',\n value: function addSubscribeEvents(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event: event, handler: handler });\n return handler;\n }\n }, {\n key: 'resetSubscribeEvents',\n\n\n /**\n * Reset subscriber editing plugin events\n */\n value: function resetSubscribeEvents() {\n var _this9 = this;\n\n this.subscribevents.forEach(function (d) {\n _this9.dependencyApi.unsubscribe(d.event, d.handler);\n });\n }\n }, {\n key: 'add',\n\n\n /**\n * Called whe we want to add a feature\n * \n * @param { Object } config\n * @param config.qgs_layer_id\n * @param config.properties\n * \n * @returns { Promise }\n */\n value: function add() {\n var _this10 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref38 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this10.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var properties = data.properties;\n\n\n var qgs_layer_id = _this10.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this10.dependencyApi.getEditableLayersId()\n });\n\n // call method common\n yield _this10.startAction({ toolboxes: qgs_layer_id, resolve: resolve, reject: reject });\n\n // return all toolboxes\n var toolboxes = (yield _this10.startEditing(qgs_layer_id, {\n tools: _this10.config.tools.add,\n startstopediting: false,\n action: 'add',\n selected: 1 === qgs_layer_id.length\n })).filter(function (p) {\n return 'fulfilled' === p.status;\n }).map(function (p) {\n return p.value;\n });\n\n /** @FIXME add description */\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n /** @FIXME add description */\n if (1 === toolboxes.length && toolboxes[0]) {\n toolboxes[0].setActiveTool(toolboxes[0].getToolById('addfeature'));\n }\n\n // in case of no feature add avent subscribe\n _this10.addSubscribeEvents('addfeature', { properties: properties, toolboxes: toolboxes });\n _this10.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: qgs_layer_id });\n });\n\n return function (_x26, _x27) {\n return _ref38.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Called when we want to update a know feature field\n * \n * @param config\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'update',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _this11 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this11.isRunning) {\n return reject();\n }\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var feature = data.feature;\n\n var qgs_layer_id = _this11.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this11.dependencyApi.getEditableLayersId()\n });\n\n var response = yield _this11.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: true,\n selected: 1 === qgs_layer_id.length // set selected toolbox\n });\n\n // skip when ..\n if (!response.found) {\n return reject();\n }\n\n yield _this11.startAction({ toolboxes: [response.qgs_layer_id], resolve: resolve, reject: reject });\n\n // return all toolboxes\n yield _this11.startEditing([response.qgs_layer_id], {\n feature: feature,\n tools: _this11.config.tools.update,\n startstopediting: false,\n action: 'update'\n });\n\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n _this11.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n\n return function (_x29, _x30) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function update() {\n return _ref39.apply(this, arguments);\n }\n\n return update;\n }()\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n\n }, {\n key: 'delete',\n value: function _delete() {}\n\n /**\n * Called when we want to start editing\n * \n * @param { Array } qgs_layer_id\n * @param { Object } options\n * \n * @returns { Promise< unknown | void > }\n */\n\n }, {\n key: 'startEditing',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n var _this12 = this;\n\n var qgs_layer_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$action2 = options.action,\n action = _options$action2 === undefined ? 'add' : _options$action2,\n feature = options.feature;\n\n var filter = {};\n options.filter = filter;\n switch (action) {\n case 'add':\n filter.nofeatures = true;break;\n case 'update':\n filter.field = feature.field + '|eq|' + feature.value;break;\n }\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this12.dependencyApi.startEditing(id, options));\n });\n return yield Promise.allSettled(promises);\n });\n\n function startEditing() {\n return _ref41.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (qgs_layer_id) {\n var _this13 = this;\n\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this13.dependencyApi.stopEditing(id));\n });\n yield Promise.allSettled(promises);\n this.clear();\n });\n\n function stopEditing(_x33) {\n return _ref42.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n }, {\n key: 'stop',\n value: function stop() {\n var _this14 = this;\n\n return new Promise(function (resolve) {\n _this14.dependencyApi.hidePanel();\n _gui2.default.hideSidebar();\n _this14.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.dependencyApi.resetDefault();\n this.isRunning = false;\n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n this.resetSubscribeEvents();\n this.emit('clear');\n }\n }]);\n\n return EditingService;\n}(BaseIframeService);\n\nexports.default = new IframePluginService();\n\n},{\"g3w-object\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createSingleFieldParameter\":196,\"utils/getUniqueDomId\":217,\"utils/normalizeEpsg\":228}],175:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * @file ORIGINAL SOURCE: src/app/gui/map/mapservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _localforage = require('localforage');\n\nvar _localforage2 = _interopRequireDefault(_localforage);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _createSelectedStyle = require('utils/createSelectedStyle');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _throttle = require('utils/throttle');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _queryby = require('map/controls/queryby');\n\nvar _geolocationcontrol = require('map/controls/geolocationcontrol');\n\nvar _streetviewcontrol = require('map/controls/streetviewcontrol');\n\nvar _scalecontrol = require('map/controls/scalecontrol');\n\nvar _screenshotcontrol = require('map/controls/screenshotcontrol');\n\nvar _measurecontrol = require('map/controls/measurecontrol');\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _MapControlZoomHistory = require('components/MapControlZoomHistory.vue');\n\nvar _MapControlZoomHistory2 = _interopRequireDefault(_MapControlZoomHistory);\n\nvar _MapControlGeocoding = require('components/MapControlGeocoding.vue');\n\nvar _MapControlGeocoding2 = _interopRequireDefault(_MapControlGeocoding);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getProject = require('utils/getProject');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Open Layers controls (zoom, streetrview, screnshoot, ruler, ...)\n */\nvar MAP = {\n maxZoom: 1000,\n controls: {},\n offlineids: [],\n selectedLayer: null,\n stores: {},\n externalLayers: [],\n animatingHighlight: false,\n layers: Object.assign(new _g3wObject2.default({ setters: {\n addLayersStore: function addLayersStore(store) {\n MAP.stores[store.getId()] = store;\n },\n removeLayersStore: function removeLayersStore(store) {\n if (store) {\n delete MAP.layers.stores[store.getId()];\n }\n }\n } }), {\n getLayerById: function getLayerById(id) {\n return Object.values(MAP.stores).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n },\n getLayers: function getLayers(filter) {\n return Object.values(MAP.stores).flatMap(function (s) {\n return s.getLayers(filter);\n });\n },\n getQuerableLayersStores: function getQuerableLayersStores() {\n return Object.values(MAP.stores).filter(function (s) {\n return s.isQueryable();\n });\n },\n getLayersStore: function getLayersStore(id) {\n return MAP.stores[id];\n },\n getLayersStores: function getLayersStores() {\n return Object.values(MAP.stores);\n }\n })\n};\n\n/**\n * Controls factory\n */\nvar CONTROLS = {\n 'zoomtoextent': function zoomtoextent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ZoomToExtent(opts) }));\n },\n 'zoom': function zoom() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.Zoom(opts) }));\n },\n 'scaleline': function scaleline() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ScaleLine(opts) }));\n },\n 'overview': function overview() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.OverviewMap(opts) }));\n },\n /** @since 3.8.0 */\n 'zoomhistory': function zoomhistory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlZoomHistory2.default))().$mount().$el, tipLabel: \"sdk.mapcontrols.addlayer.tooltip\" });\n },\n 'geocoding': function geocoding() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlGeocoding2.default))({ propsData: opts.config }).$mount().$el, offline: false });\n }, // pass configuration from server\n 'zoombox': function zoombox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n name: 'zoombox',\n tipLabel: 'Zoom to box',\n label: '\\uE901',\n interactionClass: ol.interaction.DragBox,\n cursorClass: 'ol-crosshair',\n onSetMap: function onSetMap(_ref) {\n var _this = this;\n\n var setter = _ref.setter,\n map = _ref.map;\n\n if ('after' === setter) {\n // zoom box\n this._startCoordinate = null;\n this._interaction.on('boxstart', function (e) {\n return _this._startCoordinate = e.coordinate;\n });\n this._interaction.on('boxend', function (e) {\n _this.dispatchEvent({ type: 'zoomend', extent: ol.extent.boundingExtent([_this._startCoordinate, e.coordinate]) });\n _this._startCoordinate = null;\n if (_this._autountoggle) {\n _this.toggle();\n }\n });\n }\n }\n }));\n },\n 'query': function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n offline: false,\n name: \"query\",\n tipLabel: \"sdk.mapcontrols.query.tooltip\",\n label: opts.label || '\\uEA0F',\n clickmap: true,\n interactionClass: _pickcoordinatesinteraction2.default,\n cursorClass: 'ol-help',\n onSetMap: function onSetMap(_ref2) {\n var _this2 = this;\n\n var map = _ref2.map,\n setter = _ref2.setter;\n\n this.runQuery = this.runQuery || function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var coordinates = _ref3.coordinates;\n\n _gui2.default.closeSideBar();\n try {\n var project = _application2.default.project;\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n feature_count: project.state.feature_count || 5,\n query_point_tolerance: project.getQueryPointTolerance(),\n multilayers: [].concat(project.state.querymultilayers).includes(_this2.name)\n }\n });\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n return function (_x9) {\n return _ref4.apply(this, arguments);\n };\n }();\n if ('before' === setter) {\n var key = null;\n this.on('toggled', function (_ref5) {\n var toggled = _ref5.toggled;\n\n if (true !== toggled) {\n ol.Observable.unByKey(key);\n key = null;\n } else if (null === key && map) {\n key = _this2.getInteraction().on('picked', (0, _throttle.throttle)(function (e) {\n return _this2.runQuery({ coordinates: e.coordinate });\n }));\n }\n });\n this.setEventKey({ eventType: 'picked', eventKey: this.on('picked', this.runQuery) });\n }\n }\n }));\n },\n 'queryby': _queryby.QueryBy,\n 'geolocation': _geolocationcontrol.GeolocationControl,\n 'streetview': _streetviewcontrol.StreetViewControl,\n 'addlayers': function addlayers() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { tipLabel: \"sdk.mapcontrols.addlayer.tooltip\", label: '\\uE907', name: 'addlayer', onSetMap: function onSetMap(e) {\n var _this3 = this;\n\n if ('after' === e.setter) $(this.element).on('click', function () {\n return _this3.dispatchEvent('addlayer');\n });\n }\n }));\n },\n 'measure': _measurecontrol.MeasureControl,\n 'mouseposition': function mouseposition() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.assign(new ol.control.MousePosition(_extends({}, opts, { target: opts.target || 'mouse-position-control' })), { offline: true });\n },\n 'scale': _scalecontrol.ScaleControl,\n 'onclick': _interactioncontrol2.default,\n 'screenshot': _screenshotcontrol.ScreenshotControl\n};\n\n/**\n * BACKCOMP v3.x\n */\nCONTROLS['nominatim'] = CONTROLS['geocoding'];\nCONTROLS['ontoggle'] = CONTROLS['onclick'];\nCONTROLS['area'] = CONTROLS['measure'];\nCONTROLS['length'] = CONTROLS['measure'];\nCONTROLS['geoscreenshot'] = CONTROLS['screenshot'];\nCONTROLS['querybbox'] = CONTROLS['queryby'];\nCONTROLS['querybycircle'] = CONTROLS['queryby'];\nCONTROLS['querybydrawpolygon'] = CONTROLS['queryby'];\nCONTROLS['querybypolygon'] = CONTROLS['queryby'];\n\nvar MapService = function (_G3WObject) {\n _inherits(MapService, _G3WObject);\n\n function MapService() {\n _classCallCheck(this, MapService);\n\n var _this4 = _possibleConstructorReturn(this, (MapService.__proto__ || Object.getPrototypeOf(MapService)).call(this));\n\n _this4.state = {\n mapUnits: 'm',\n bbox: [],\n hidemaps: [],\n resolution: null,\n center: null,\n loading: false,\n hidden: true,\n scale: 0,\n map_info: { info: null, style: null },\n mapunits: ['metric']\n };\n\n /**\n * internal promise. Resolved when view is set\n *\n * @since 3.8.3\n */\n _this4._ready = new Promise(function (res) {\n return _this4.once('viewerset', res);\n });\n\n _this4.viewer = null;\n\n _this4.target = 'map';\n\n _this4.layersCount = 0; // useful to set Zindex to layer order on map\n\n _this4.project = _application2.default.project;\n\n _this4._controls = [];\n\n _this4._layers = {\n base: {},\n g3w: [],\n external_wms: [],\n external_vector: [],\n external: []\n };\n\n /**\n * Store interactions added by plugin or external application\n */\n _this4._externalInteractions = [];\n\n /**\n * Default layers are OL layers that are add to map by default.\n * Are used to show selection Features and/or highlight Layer feature\n */\n _this4.defaultsLayers = {\n\n mapcenter: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/mapcentermarker.svg',\n scale: 0.8\n })\n })\n }),\n\n _style: {\n highlightLayer: { color: undefined },\n selectionLayer: { color: 'red' }\n },\n\n highlightLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.highlightLayer.color,\n fill: true\n })];\n }\n }),\n\n selectionLayer: new ol.layer.Vector({\n source: new ol.source.Vector()\n })\n\n };\n\n _this4.layersExtraParams = {};\n\n _this4._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null,\n listener: null\n };\n\n _this4.config = window.initConfig;\n\n _this4._howManyAreLoading = 0;\n\n _this4._marker = null;\n\n _this4.onLayerLoadStart = _this4.onLayerLoadStart.bind(_this4);\n _this4.onLayerLoadEnd = _this4.onLayerLoadEnd.bind(_this4);\n _this4.onLayerLoadError = _this4.onLayerLoadError.bind(_this4);\n _this4.onExtraParamsSet = _this4.onExtraParamsSet.bind(_this4);\n _this4.updateMapLayers = _this4.updateMapLayers.bind(_this4);\n\n _this4._keyEvents = {\n ol: [],\n stores: [], // layers stores\n unwatches: []\n };\n\n _this4.project.onafter('setBaseLayer', _this4.updateMapLayers), // base layer\n\n _this4.debounces = {\n setupCustomMapParamsToLegendUrl: {\n fnc: function fnc() {\n _this4._setupCustomMapParamsToLegendUrl.apply(_this4, arguments);\n },\n delay: 1000\n }\n };\n\n _this4.setters = {\n setupControls: function setupControls() {\n var _this5 = this;\n\n var _config = this.config,\n header_terms_of_use_text = _config.header_terms_of_use_text,\n header_terms_of_use_link = _config.header_terms_of_use_link;\n\n // set layers attribution\n\n var attribution = header_terms_of_use_text ? header_terms_of_use_link ? '' + header_terms_of_use_text + '' : '' + header_terms_of_use_text + '' : false;\n\n this.getMapLayers().forEach(function (l) {\n return l.getSource().setAttributions(attribution);\n });\n\n // check if a base layer is set. If true, add attribution control\n if (attribution || (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true }).length) {\n this.getMap().addControl(new ol.control.Attribution({ collapsible: false, target: 'map_footer_left' }));\n }\n\n // skip when no controls\n if (!this.config || !this.config.mapcontrols) {\n return;\n }\n\n // BACKCOMP (g3w-admin < v3.7.0)\n var mapcontrols = Array.isArray(this.config.mapcontrols) ? this.config.mapcontrols.reduce(function (a, v) {\n a[v] = {};return a;\n }, {}) // convert `initConfig.mapcontrols` from an array of strings to a key-value config Object (eg. [\"geocoding\"] --> \"geocoding\" = {})\n : this.config.mapcontrols;\n\n Object.entries(mapcontrols).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n type = _ref7[0],\n _ref7$ = _ref7[1],\n config = _ref7$ === undefined ? {} : _ref7$;\n\n switch (type) {\n case 'zoom':\n _this5.createMapControl(type);\n break;\n\n case 'zoombox':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('zoomend', function (e) {\n return _this5.viewer.fit(e.extent);\n });\n }\n break;\n\n case 'zoomtoextent':\n _this5.createMapControl(type, {\n options: {\n label: '\\uE98C',\n extent: _this5.project.state.initextent\n }\n });\n break;\n\n case 'mouseposition':\n if (!isMobile.any) {\n // @since 3.8.\n var degrees = 'degrees' === _this5.getProjection().getUnits();\n var mapEpsg = _this5.getEpsg();\n var coordinateFormat = function coordinateFormat(epsg, coords) {\n if ('EPSG:4326' === epsg) {\n return ol.coordinate.format(ol.proj.transform(coords, mapEpsg, 'EPSG:4326'), '\\xA0Lng: {x}, Lat: {y}\\xA0\\xA0 [EPSG:4326]\\xA0', 4);\n }\n return ol.coordinate.format(coords, '\\xA0' + (degrees ? 'Lng' : 'X') + ': {x}, ' + (degrees ? 'Lat' : 'Y') + ': {y}\\xA0\\xA0 [' + epsg + ']\\xA0', degrees ? 4 : 2);\n };\n var control = _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: coordinateFormat.bind(null, mapEpsg),\n undefinedHTML: false,\n projection: _this5.getCrs()\n }\n });\n if ('EPSG:4326' !== mapEpsg) {\n control.on('change:epsg', function (e) {\n return control.setCoordinateFormat(coordinateFormat.bind(null, e.epsg));\n });\n }\n }\n break;\n\n case 'screenshot':\n case 'geoscreenshot':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('screenshot')) {\n _this5.getMapControlByType('screenshot').addType(type);\n } else {\n _this5.createMapControl('screenshot', {\n options: {\n types: [type],\n layers: [].concat(_toConsumableArray(MAP.layers.getLayers()), _toConsumableArray(_this5._layers.external))\n }\n });\n }\n }\n break;\n\n case 'scale':\n _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: ol.coordinate.createStringXY(4),\n projection: _this5.getCrs(),\n isMobile: isMobile.any\n }\n });\n break;\n\n case 'query':\n _this5.createMapControl(type, {\n add: true,\n toggled: true\n });\n break;\n\n case 'querybypolygon':\n case 'querybbox':\n case 'querybycircle':\n case 'querybydrawpolygon':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('queryby')) {\n _this5.getMapControlByType('queryby').addType(type);\n } else {\n _this5.createMapControl('queryby', {\n options: {\n types: [type]\n }\n });\n }\n }\n break;\n\n case 'streetview':\n _this5.createMapControl(type, {});\n break;\n\n case 'scaleline':\n _this5.createMapControl(type, {\n add: false,\n options: {\n position: 'br'\n }\n });\n break;\n\n case 'overview':\n if (!isMobile.any && window.initConfig.overviewproject) {\n (0, _getProject.getProject)(window.initConfig.overviewproject).then(function (project) {\n //create a view for overview map\n var map = _this5.getMap();\n var view = new ol.View(_this5._calculateViewOptions({ project: project, width: 200, height: 150 })); // at moment hardcoded\n view.on('change:center', function () {\n var current = view.getCenter();\n var center = map.getView().constrainCenter(current);\n if (center[0] !== current[0] || center[1] !== current[1]) {\n view.setCenter(center);\n }\n });\n _this5.createMapControl(type, {\n add: false,\n options: {\n view: view,\n position: 'bl',\n collapsed: false,\n className: 'ol-overviewmap ol-custom-overviewmap',\n collapseLabel: $('')[0],\n label: $('')[0],\n layers: Object.entries(\n //group layer by multilayerId\n project.getLayersStore().getLayers({ GEOLAYER: true, BASELAYER: false }).reduce(function (group, l) {\n var id = l.getMultiLayerId();\n group[id] = group[id] || [];\n group[id].push(l);\n return group;\n }, {}) || []).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n id = _ref9[0],\n layers = _ref9[1];\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var mapLayer = new RasterLayer({\n url: project.state.WMSUrl,\n id: 'overview_layer_' + id,\n tiled: layers[0].state.tiled\n });\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n return mapLayer.getOLLayer(true);\n }).reverse()\n }\n });\n /** @since 3.10.0 Move another bottom left map controls bottom to a left of overview control**/\n document.querySelector('.g3w-map-controls-left-bottom').style.left = '230px';\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n document.querySelector('.g3w-map-controls-left-bottom').style.left = mutation.target.classList.contains('ol-collapsed') ? '50px' : '230px';\n }\n });\n });\n observer.observe(document.querySelector('.ol-custom-overviewmap'), { attributes: true });\n }).catch(function (e) {\n return console.warn(e);\n });\n }\n break;\n\n case 'geocoding':\n case 'nominatim':\n _this5.createMapControl(type, {\n add: false,\n options: { config: config }\n });\n break;\n\n case 'geolocation':\n _this5.createMapControl(type).on('click', (0, _throttle.throttle)(function (e) {\n return _this5.showMarker(e.coordinates);\n }));\n break;\n\n case 'addlayers':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('addlayer', function () {\n return _this5.showAddLayerModal();\n });\n }\n break;\n\n case 'length':\n case 'area':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('measure')) {\n _this5.getMapControlByType('measure').addType(type);\n } else {\n _this5.createMapControl('measure', {\n options: {\n name: \"measure\",\n tipLabel: 'sdk.mapcontrols.measures.title',\n types: [type],\n interactionClassOptions: {\n projection: _this5.getProjection(),\n help: 'sdk.mapcontrols.measures.' + type + '.help'\n }\n }\n });\n }\n }\n break;\n\n /**\n * @since 3.8.0\n */\n case 'zoomhistory':\n $('.g3w-map-controls-left-bottom').append(_this5.createMapControl(type, { add: false }).element);\n break;\n\n }\n });\n return this.getMapControls();\n },\n addHideMap: function addHideMap() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$switchable = _ref10.switchable,\n switchable = _ref10$switchable === undefined ? false : _ref10$switchable;\n\n var idMap = {\n id: 'hidemap_' + Date.now(),\n map: null,\n switchable: switchable\n };\n this.state.hidemaps.push(idMap);\n return idMap;\n },\n setHidden: function setHidden(bool) {\n this.state.hidden = bool;\n },\n\n\n /** Set view based on project config */\n setupViewer: function () {\n var _ref11 = _asyncToGenerator(function* (width, height) {\n var _this6 = this;\n\n if (0 === width || 0 === height) {\n console.warn('[G3W-CLIENT] map was hidden during bootstrap');\n return;\n }\n\n var search = new URLSearchParams(location.search); // search params\n\n var showmarker = 1 * (search.get('showmarker') || 0); /** @since 3.10.0 0 or 1. Show marker on map center*/\n var iframetype = search.get('iframetype'); /** @since 3.10.0 type of iframe: map (only map, no control)*/\n var zoom_to_fid = search.get('zoom_to_fid');\n var zoom_to_features = search.get('ztf'); // zoom to features\n var coords = {\n lat: parseFloat(search.get('lat')),\n lon: parseFloat(search.get('lon')),\n x: parseFloat(search.get('x')),\n y: parseFloat(search.get('y'))\n };\n\n if (this.viewer) {\n this.viewer.destroy();\n }\n\n var olMap = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false, rotateOptions: { autoHide: true, tipLabel: \"Reset rotation (CTRL+DRAG to rotate)\" } }),\n interactions: ol.interaction.defaults().extend([new ol.interaction.DragRotate({ condition: ol.events.condition.platformModifierKeyOnly })]),\n ol3Logo: false,\n keyboardEventTarget: document,\n target: this.target,\n view: new ol.View(this._calculateViewOptions({\n width: width,\n height: height,\n project: this.project,\n map_extent: search.get('map_extent') /** @since 3.10.0 */\n }))\n });\n\n this.viewer = {\n map: olMap,\n getMap: function getMap() {\n return _this6.viewer.map;\n },\n getView: function getView() {\n return _this6.viewer.map.getView();\n },\n getZoom: function getZoom() {\n return _this6.viewer.map.getView().getZoom();\n },\n getResolution: function getResolution() {\n return _this6.viewer.map.getView().getResolution();\n },\n getCenter: function getCenter() {\n return _this6.viewer.map.getView().getCenter();\n },\n destroy: function destroy() {\n if (_this6.viewer.map) {\n _this6.viewer.map.dispose();_this6.viewer.map = null;\n }\n },\n zoomTo: this.zoomTo.bind(this),\n goTo: this.goTo.bind(this),\n fit: this._fit.bind(this),\n /** @TODO check if deprecated */\n changeBaseLayer: function changeBaseLayer(name) {\n return _this6.map.getLayers().insertAt(0, _this6.map.getLayers().find(function (l) {\n return name === l.get('name');\n }));\n }\n };\n\n var map = this.viewer.getMap();\n\n // disable douclickzoom\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(false);\n\n // visual click (sonar effect)\n map.on('click', function (_ref12) {\n var coordinate = _ref12.coordinate;\n\n var circle = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [new ol.Feature({ geometry: new ol.geom.Point(coordinate) })] }),\n style: new ol.style.Style()\n });\n var start = +new Date();\n var duration = 1700;\n var interval = circle.on('postcompose', function (_ref13) {\n var frameState = _ref13.frameState;\n\n var elapsed = frameState.time - start;\n var ratio = ol.easing.easeOut(elapsed / duration);\n circle.setStyle(new ol.style.Style({\n image: new ol.style.Circle({\n radius: 40 * ratio, // start = 0, end = 40\n fill: new ol.style.Fill({ color: [225, 227, 228, .1] }),\n stroke: new ol.style.Stroke({ color: [225, 227, 228, 1], width: 1.85 * (1 - ratio) }) // start = 1.85, end = 0\n })\n }));\n if (elapsed > duration) {\n map.removeLayer(circle);\n ol.Observable.unByKey(interval); // stop the effect\n }\n });\n map.addLayer(circle);\n });\n\n var currentControl = void 0;\n var can_drag = false;\n\n // set mouse cursor (dragging)\n new Vue().$watch(function () {\n return [_this6.getCurrentToggledMapControl(), _plugins2.default.getPlugin('editing') && _plugins2.default.getPlugin('editing').getActiveTool()];\n }, function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n control = _ref15[0],\n activeTool = _ref15[1];\n\n currentControl = control;\n can_drag = !control && !activeTool;\n map.getViewport().classList.toggle('ol-grab', can_drag);\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(can_drag);\n });\n map.on(['pointerdrag', 'pointerup'], function (e) {\n /** @TODO disable default interaction \"shift+zoom\" ? */\n map.getViewport().classList.toggle('ol-grabbing', e.type == 'pointerdrag' && (!currentControl || !(currentControl.getInteraction() instanceof ol.interaction.DragBox)));\n map.getViewport().classList.toggle('ol-grab', e.type == 'pointerup' && can_drag);\n });\n\n var geom = void 0;\n if (zoom_to_fid) {\n yield this.zoomToFid(zoom_to_fid);\n } else if (zoom_to_features) {\n yield this.zoomToFeaturesUrl(zoom_to_features);\n } else if (!isNaN(coords.lat) && !isNaN(coords.lon)) {\n geom = new ol.geom.Point(ol.proj.transform([coords.lon, coords.lat], 'EPSG:4326', this.getEpsg()));\n } else if (!isNaN(coords.x) && !isNaN(coords.y)) {\n geom = new ol.geom.Point([coords.x, coords.y]);\n }\n\n if (geom && geom.getExtent()) {\n yield this.zoomToGeometry(geom);\n }\n\n // show marker on map center\n if (1 === showmarker) {\n this.defaultsLayers.mapcenter.getSource().addFeature(new ol.Feature({ geometry: new ol.geom.Point(this.getCenter()) }));\n }\n\n // iframe → hide map controls (empty object)\n if ('map' === iframetype) {\n this.config.mapcontrols = {};\n }\n\n // update max scale\n MAP.maxZoom = Math.min((0, _getScaleFromResolution.getScaleFromResolution)(this.getMap().getView().getResolutionForExtent(this.project.state.initextent, this.getMap().getSize()), this.getMapUnits()), MAP.maxZoom);\n\n this.state.size = this.viewer.map.getSize();\n this.state.mapUnits = this.viewer.map.getView().getProjection().getUnits();\n\n if (this.config.background_color) {\n $('#' + this.target).css('background-color', this.config.background_color);\n }\n\n $(this.viewer.map.getViewport()).prepend('
');\n\n this.viewer.map.getInteractions().forEach(function (int) {\n return _this6._watchInteraction(int);\n });\n this.viewer.map.getInteractions().on('add', function (int) {\n return _this6._watchInteraction(int.element);\n });\n\n this._marker = new ol.Overlay({\n position: null,\n positioning: 'center-center',\n element: document.getElementById('marker'),\n stopEvent: false\n });\n\n this.viewer.map.addOverlay(this._marker);\n\n // keep default layers above others\n this.viewer.map.getLayers().on('add', function (e) {\n var zindex = _this6.setLayerZIndex({\n layer: e.element,\n zindex: e.element.get('basemap') || 'bottom' === e.element.get('position') ? 0 : undefined\n });\n if (_this6.defaultsLayers.mapcenter) {\n _this6.defaultsLayers.mapcenter.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.highlightLayer) {\n _this6.defaultsLayers.highlightLayer.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.selectionLayer) {\n _this6.defaultsLayers.selectionLayer.setZIndex(zindex + 2);\n }\n });\n\n this.viewer.map.getLayers().on('remove', function (e) {\n if (e.element.getZIndex() === _this6.layersCount) {\n _this6.layersCount--;\n }\n });\n\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this._setupAllLayers();\n this.setUpMapOlEvents();\n\n // CHECK IF MAPLAYESRSTOREREGISTRY HAS LAYERSTORE\n MAP.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('addLayersStore', this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('removeLayersStore', this._removeEventsKeysToLayersStore.bind(this));\n\n this.emit('viewerset');\n this.setupControls();\n this.emit('ready');\n });\n\n function setupViewer(_x13, _x14) {\n return _ref11.apply(this, arguments);\n }\n\n return setupViewer;\n }(),\n controlClick: function controlClick(mapcontrol) {\n var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n },\n loadExternalLayer: function loadExternalLayer(layer) {},\n // used in general to alert external layer is loaded\n unloadExternalLayer: function unloadExternalLayer(layer) {}\n };\n\n _this4.on('extraParamsSet', _this4.onExtraParamsSet);\n return _this4;\n }\n\n /**\n * @since 3.11.0\n */\n\n\n _createClass(MapService, [{\n key: 'onExtraParamsSet',\n value: function onExtraParamsSet(extraParams, update) {\n var _this7 = this;\n\n if (update) {\n this.getMapLayers().forEach(function (l) {\n return l.update(_this7.state, extraParams);\n });\n }\n }\n\n /**\n * show spinner layers\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadStart',\n value: function onLayerLoadStart() {\n if (0 === this._howManyAreLoading) {\n this.emit('loadstart');\n _gui2.default.showSpinner({ container: $('#map-spinner'), id: 'maploadspinner', style: 'transparent' });\n }\n this._howManyAreLoading += 1;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadEnd',\n value: function onLayerLoadEnd() {\n this._howManyAreLoading -= 1;\n if (0 === this._howManyAreLoading) {\n this.emit('loadend');\n _gui2.default.hideSpinner('maploadspinner');\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadError',\n value: function onLayerLoadError() {\n /** @since 3.10.0 - fails silently */\n if (!this.project.state.show_load_layer_error) {\n return;\n }\n if (!this.onLayerLoadError.shown) {\n _gui2.default.notify.warning('sdk.errors.layers.load');\n this.onLayerLoadError.shown = true;\n }\n this.onLayerLoadEnd();\n }\n\n /**\n * @returns promise ready\n *\n * @since 3.8.3\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this._ready;\n }\n }, {\n key: 'setUpMapOlEvents',\n value: function setUpMapOlEvents() {\n var _this8 = this;\n\n var dynamicLegend = this.project.state.context_base_legend;\n // set change resolution\n this._keyEvents.ol.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n this._keyEvents.ol.push(this.viewer.map.getView().on('change:resolution', function () {\n _this8.state.bbox = _this8.getMapBBOX();\n _this8.state.resolution = _this8.viewer.getResolution();\n _this8.state.center = _this8.viewer.getCenter();\n _this8.updateMapLayers();\n if (dynamicLegend) {\n _this8.setupCustomMapParamsToLegendUrl();\n }\n }));\n if (dynamicLegend) {\n this._keyEvents.ol.push(this.viewer.map.on('moveend', function () {\n return _this8.setupCustomMapParamsToLegendUrl();\n }));\n } else {\n //set always to show legend at the start\n this.setupCustomMapParamsToLegendUrl();\n }\n }\n\n /**\n * Clear methods to remove all listeners events\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.removeListener('extraParamsSet', this.onExtraParamsSet);\n this._keyEvents.ol.forEach(function (key) {\n return ol.Observable.unByKey(key);\n });\n this._keyEvents.ol.splice(0);\n MAP.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this));\n }\n\n /**\n * @TODO refactor CDU plugin in order to remove `OlMapViewer` class\n */\n\n }, {\n key: '_addHideMap',\n value: function _addHideMap() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref16.ratio,\n _ref16$layers = _ref16.layers,\n layers = _ref16$layers === undefined ? [] : _ref16$layers,\n _ref16$mainview = _ref16.mainview,\n mainview = _ref16$mainview === undefined ? false : _ref16$mainview;\n\n var idMap = this.state.hidemaps.at(-1);\n var view = this.getMap().getView();\n\n var olView = mainview ? view : {\n projection: view.getProjection(),\n center: view.getCenter(),\n resolution: this.getResolution()\n };\n\n // set Map\n idMap.map = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false }),\n interactions: ol.interaction.defaults(),\n ol3Logo: false,\n view: olView instanceof ol.View ? olView : new ol.View(olView),\n keyboardEventTarget: document,\n target: idMap.id\n });\n\n // in case of rate\n if (ratio) {\n var _idMap$map$getSize = idMap.map.getSize(),\n _idMap$map$getSize2 = _slicedToArray(_idMap$map$getSize, 2),\n w = _idMap$map$getSize2[0],\n h = _idMap$map$getSize2[1];\n\n idMap.map.setSize([w, w * ratio]);\n }\n\n (layers || []).forEach(function (l) {\n return idMap.map.addLayer(l);\n });\n\n return idMap.map;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'removeHideMap',\n value: function removeHideMap(id) {\n var i = (this.state.hidemaps || []).findIndex(function (m) {\n return id === m.id;\n });\n if (-1 !== i) {\n this.state.hidemaps.splice(i, 1);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\", \"archiweb\"\n */\n\n }, {\n key: 'createMapImage',\n value: function createMapImage() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref17.map,\n background = _ref17.background;\n\n return new Promise(function (resolve, reject) {\n try {\n var canvas = $(map ? map.getViewport() : $('#g3w-maps .g3w-map').last().children('.ol-viewport')[0]).children('canvas')[0];\n if (navigator.msSaveBlob) {\n resolve(canvas.msToBlob());\n } else {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n });\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n }\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.project;\n }\n }, {\n key: 'getMap',\n value: function getMap() {\n try {\n return this.viewer.map;\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.project.getProjection();\n }\n }, {\n key: 'isMapHidden',\n value: function isMapHidden() {\n return this.state.hidden;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.project.getProjection().getCode();\n }\n }, {\n key: 'getViewport',\n value: function getViewport() {\n return this.viewer.map.getViewport();\n }\n }, {\n key: 'getResolution',\n value: function getResolution() {\n return this.viewer.map.getView().getResolution();\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.viewer.map.getView().getProjection().getCode();\n }\n\n /**\n * Show Marker on a map\n * @param coordinates\n * @param duration\n */\n\n }, {\n key: 'showMarker',\n value: function showMarker(coordinates) {\n var _this9 = this;\n\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n\n this._marker.setPosition(coordinates);\n setTimeout(function () {\n return _this9._marker.setPosition();\n }, duration);\n }\n\n /**\n * @returns layer by name\n */\n\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return name === l.get('name');\n });\n }\n\n /**\n * @returns layer by id\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return id === l.get('id');\n });\n }\n\n /**\n * Used by the following plugins: \"strees\"\n *\n * get all features from vector layer based on coordinates\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromCoordinates',\n value: function getVectorLayerFeaturesFromCoordinates(layerId, coordinates) {\n var intersectGeom = void 0;\n var features = [];\n var map = this.getMap();\n var vectorLayer = this.getLayerById(layerId);\n if (Array.isArray(coordinates)) {\n if (2 === coordinates.length) {\n var pixel = map.getPixelFromCoordinate(coordinates);\n map.forEachFeatureAtPixel(pixel, function (feature) {\n return features.push(feature);\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === vectorLayer;\n }\n });\n } else if (4 === coordinates.length) {\n intersectGeom = ol.geom.Polygon.fromExtent(coordinates);\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(f.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n } else if (coordinates instanceof ol.geom.Polygon || coordinates instanceof ol.geom.MultiPolygon) {\n intersectGeom = coordinates;\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(feature.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n return features;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'getQueryLayerByCoordinates',\n value: function getQueryLayerByCoordinates() {\n var _this10 = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref18.layer,\n coordinates = _ref18.coordinates;\n\n return new Promise(function (resolve, reject) {\n layer.query({\n coordinates: coordinates,\n mapProjection: _this10.getProjection(),\n resolution: _this10.getResolution()\n }).then(function (response) {\n return resolve(response);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n\n //setup controls\n /*\n layout : {\n lv: h : horizontal (default), v vertical\n lh: h: horizontal: v vertical (default)\n }\n */\n\n }, {\n key: 'createMapControl',\n value: function createMapControl(type) {\n var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n id = _ref19.id,\n visible = _ref19.visible,\n _ref19$add = _ref19.add,\n add = _ref19$add === undefined ? true : _ref19$add,\n _ref19$toggled = _ref19.toggled,\n toggled = _ref19$toggled === undefined ? false : _ref19$toggled,\n _ref19$options = _ref19.options,\n options = _ref19$options === undefined ? {} : _ref19$options;\n\n var control = CONTROLS[type] ? new CONTROLS[type](_extends({ type: type, toggled: toggled }, options)) : undefined;\n if (undefined === visible) {\n visible = control.isVisible ? control.isVisible() : true;\n }\n if (control) {\n this.addControl(id || type, type, control, add, visible);\n }\n return control;\n }\n }, {\n key: 'showAddLayerModal',\n value: function showAddLayerModal() {\n $('#modal-addlayer').modal('show');\n this.emit('addexternallayer');\n }\n }, {\n key: 'getCenter',\n value: function getCenter() {\n return this.getMap().getView().getCenter();\n }\n\n /**\n * Zoom to Feature ID\n */\n\n }, {\n key: 'zoomToFid',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var zoom_to_fid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '|';\n\n var _zoom_to_fid$split = zoom_to_fid.split(separator),\n _zoom_to_fid$split2 = _slicedToArray(_zoom_to_fid$split, 2),\n layerId = _zoom_to_fid$split2[0],\n fid = _zoom_to_fid$split2[1];\n\n if (undefined === layerId && undefined === fid) {\n return;\n }\n\n var _ref21 = yield _data2.default.getData('search:fids', {\n inputs: {\n layer: this.project.getLayerById(layerId),\n fids: [fid]\n },\n outputs: {\n show: {\n loading: false,\n condition: function condition() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$data = _ref22.data,\n data = _ref22$data === undefined ? [] : _ref22$data;\n\n return data[0] && data[0].features.length > 0;\n }\n }\n }\n }),\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? [] : _ref21$data;\n\n var feature = data[0] && data[0].features[0];\n\n if (feature) {\n yield this.zoomToFeatures([feature]);\n }\n });\n\n function zoomToFid() {\n return _ref20.apply(this, arguments);\n }\n\n return zoomToFid;\n }()\n\n /**\n * Handle ztf url parameter\n *\n * @param zoom_to_features\n */\n\n }, {\n key: 'zoomToFeaturesUrl',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var zoom_to_features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n try {\n var _zoom_to_features$spl = zoom_to_features.split(':'),\n _zoom_to_features$spl2 = _slicedToArray(_zoom_to_features$spl, 2),\n id = _zoom_to_features$spl2[0],\n filter = _zoom_to_features$spl2[1];\n\n if (!id || !filter) {\n return;\n }\n\n // find project layer\n var pLayer = this.project.getLayers().find(function (l) {\n return id === l.id || id === l.name || id === l.origname;\n });\n\n var layer = pLayer && this.project.getLayerById(pLayer.id);\n\n var r = pLayer && (yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: filter })\n },\n outputs: {\n show: {\n loading: false\n }\n }\n }));\n\n var features = r && r.data && r.data[0] && r.data[0].features;\n\n if (features) {\n this.zoomToFeatures(features);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function zoomToFeaturesUrl() {\n return _ref23.apply(this, arguments);\n }\n\n return zoomToFeaturesUrl;\n }()\n }, {\n key: 'getMapExtent',\n value: function getMapExtent() {\n var map = this.getMap();\n return map.getView().calculateExtent(map.getSize());\n }\n\n /**\n * @param url\n * @param epsg cordinate referece system (since 3.8.0)\n *\n * @returns {string}\n */\n\n }, {\n key: 'addMapExtentUrlParameterToUrl',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (url, epsg) {\n url = new URL(url);\n var changed = undefined !== epsg && epsg !== this.getEpsg();\n if (changed) {\n yield _projections2.default.registerProjection(epsg);\n }\n url.searchParams.set('map_extent', (changed ? ol.proj.transformExtent(this.getMapExtent(), this.getEpsg(), epsg) : this.getMapExtent()).toString());\n return url.toString();\n });\n\n function addMapExtentUrlParameterToUrl(_x25, _x26) {\n return _ref24.apply(this, arguments);\n }\n\n return addMapExtentUrlParameterToUrl;\n }()\n }, {\n key: 'getMapControlByType',\n value: function getMapControlByType(type) {\n // BACKOMP v3.x\n if (\"string\" !== typeof type) {\n type = type.type;\n }\n return (this._controls.find(function (c) {\n return type === c.type;\n }) || {}).control;\n }\n\n /**\n * @param id\n * @param type\n * @param control\n * @param addToMapControls\n * @param visible\n */\n\n }, {\n key: 'addControl',\n value: function addControl(id, type, control) {\n var _this11 = this;\n\n var addToMapControls = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var visible = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n\n this.viewer.map.addControl(control);\n\n control.on('toggled', function (e) {\n return _this11.emit('mapcontrol:toggled', e);\n });\n\n this._controls.push({ id: id, type: type, control: control, visible: visible, mapcontrol: addToMapControls && visible });\n\n control.on('controlclick', function (_ref25) {\n var mapcontrol = _ref25.target;\n\n var clickmap = !!(mapcontrol.isClickMap && mapcontrol.isClickMap());\n if (clickmap) {\n _this11._externalInteractions.forEach(function (int) {\n return int.setActive(false);\n });\n }\n _this11.controlClick(mapcontrol, { clickmap: clickmap });\n });\n\n var buttonControl = $(control.element).find('button');\n\n buttonControl.tooltip({\n placement: 'left',\n container: 'body',\n trigger: _gui2.default.isMobile() ? 'click' : 'hover'\n });\n\n // in case of mobile hide tooltip after click\n if (_gui2.default.isMobile()) {\n buttonControl.on('shown.bs.tooltip', function () {\n var _this12 = this;\n\n setTimeout(function () {\n return $(_this12).tooltip('hide');\n }, 600);\n });\n }\n\n if (addToMapControls && !visible) {\n control.element.style.display = \"none\";\n }\n\n if (addToMapControls) {\n $('.g3w-map-controls').append(control.element);\n }\n\n MAP.controls[type] = control;\n\n if (false === control.offline) {\n MAP.offlineids.push({ id: type, enable: control.getEnable() });\n }\n\n if (false === control.offline && control.getEnable()) {\n control.setEnable(_application2.default.online);\n }\n }\n }, {\n key: 'showControls',\n value: function showControls(types) {\n var _this13 = this;\n\n this._controls.forEach(function (c) {\n return _this13.viewer.map.removeControl(c.control);\n });\n this._controls.forEach(function (c) {\n c.visible = !types || types.indexOf(c.type) > -1 ? true : c.visible;\n if (c.visible) {\n _this13.viewer.map.addControl(c.control);\n }\n });\n }\n }, {\n key: 'getMapControls',\n value: function getMapControls() {\n return this._controls;\n }\n\n /**\n * Used by the following plugins: \"archiweb\"\n */\n\n }, {\n key: 'removeControlById',\n value: function removeControlById(id) {\n var _this14 = this;\n\n this._controls.find(function (c, i) {\n if (id === c.id) {\n _this14._controls.splice(i, 1);\n _this14.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n }, {\n key: 'removeControl',\n value: function removeControl(type) {\n var _this15 = this;\n\n this._controls.find(function (c, i) {\n if (type === c.type) {\n _this15._controls.splice(i, 1);\n _this15.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n\n /**\n * untoggle mapcontrol\n * @param close GUI content\n * @private\n */\n\n }, {\n key: '_unToggleControls',\n value: function _unToggleControls() {\n var _ref26 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref26$close = _ref26.close,\n close = _ref26$close === undefined ? true : _ref26$close;\n\n this._controls.forEach(function (c) {\n if (c.control.isToggled && c.control.isToggled()) {\n c.control.toggle(false);\n if (close) {\n _gui2.default.closeContent();\n }\n }\n });\n }\n }, {\n key: 'deactiveMapControls',\n value: function deactiveMapControls() {\n this._unToggleControls({ close: false });\n }\n\n /**\n *\n * Method to disable\n */\n\n }, {\n key: 'disableClickMapControls',\n value: function disableClickMapControls() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._controls.filter(function (c) {\n return c.control.isClickMap && c.control.isClickMap();\n }).forEach(function (c) {\n c.control.isToggled() && c.control.toggle();\n c.control[bool ? 'disable' : 'enable']();\n });\n }\n }, {\n key: '_setupCustomMapParamsToLegendUrl',\n value: function _setupCustomMapParamsToLegendUrl() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (bool) {\n var map = this.getMap();\n var size = map && map.getSize().filter(function (v) {\n return v > 0;\n }) || null;\n var bbox = size && 2 === size.length ? map.getView().calculateExtent(size) : this.project.state.initextent;\n this.getMapLayers().forEach(function (l) {\n return l.setupCustomMapParamsToLegendUrl;\n }) && l.setupCustomMapParamsToLegendUrl({\n crs: this.getEpsg(),\n // in the case of axis orientation inverted if it needs to invert the axis\n bbox: map.getView().getProjection().getAxisOrientation() === \"neu\" ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox\n });\n this.emit('change-map-legend-params');\n }\n }\n }, {\n key: 'getMapLayerByLayerId',\n value: function getMapLayerByLayerId(id) {\n return this.getMapLayers().find(function (l) {\n return l.getLayerConfigs().find(function (l) {\n return id === l.getId();\n });\n });\n }\n }, {\n key: 'getMapLayers',\n value: function getMapLayers() {\n return this._layers.g3w;\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this._layers.base;\n }\n }, {\n key: 'getMapLayerForLayer',\n value: function getMapLayerForLayer(layer) {\n return this.getMapLayers().find(function (ml) {\n return 'layer_' + layer.getMultiLayerId() === ml.getId();\n });\n }\n }, {\n key: 'getProjectLayer',\n value: function getProjectLayer(id) {\n return MAP.layers.getLayerById(id);\n }\n\n /**\n * @param project\n * @param width\n * @param height\n * @param { Array } map_extent since 3.10.0: in case of true, use url parameter to set view options\n * @return {{extent: *, maxResolution: number, center: *, projection: *, resolution: number}}\n * @private\n */\n\n }, {\n key: '_calculateViewOptions',\n value: function _calculateViewOptions() {\n var _ref27 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref27.project,\n width = _ref27.width,\n height = _ref27.height,\n map_extent = _ref27.map_extent;\n\n var initextent = map_extent ? map_extent.split(',').map(function (coord) {\n return 1 * coord;\n }) : project.state.initextent;\n var extent = project.state.extent;\n return {\n extent: extent,\n projection: this.getProjection(),\n center: ol.extent.getCenter(initextent),\n maxResolution: Math.max(ol.extent.getWidth(extent) / width, ol.extent.getHeight(extent) / height), // max(xRes, yRes)\n resolution: Math.max(ol.extent.getWidth(initextent) / width, ol.extent.getHeight(initextent) / height) // max(xInitRes, yInitRes)\n };\n }\n }, {\n key: 'getMapUnits',\n value: function getMapUnits() {\n return this.state.mapUnits;\n }\n\n // remove all events of layersStore\n\n }, {\n key: '_removeEventsKeysToLayersStore',\n value: function _removeEventsKeysToLayersStore(store) {\n var id = store.getId();\n if (this._keyEvents.stores[id]) {\n this._keyEvents.stores[id].forEach(function (evt) {\n Object.entries(evt).forEach(function (_ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n event = _ref29[0],\n key = _ref29[1];\n\n return store.un(event, key);\n });\n });\n delete this._keyEvents.stores[id];\n }\n }\n\n // register all events of layersStore and relative keys\n\n }, {\n key: '_setUpEventsKeysToLayersStore',\n value: function _setUpEventsKeysToLayersStore(store) {\n var _this16 = this;\n\n var id = store.getId();\n // check if already store a key of events\n this._keyEvents.stores[id] = [];\n\n //In the case of store that has layers @since 3.10.0\n store.getLayers().forEach(function (l) {\n return 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n });\n\n this._keyEvents.stores[id].push({\n addLayer: store.onafter('addLayer', function (l) {\n 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n })\n });\n this._keyEvents.stores[id].push({\n removeLayer: store.onafter('removeLayer', function (l) {\n 'vector' === l.getType() && _this16.viewer.map.removeLayer(l.getOLLayer());\n })\n });\n }\n\n // SETUP ALL LAYERS\n\n }, {\n key: '_setupAllLayers',\n value: function _setupAllLayers() {\n var _this17 = this;\n\n // base layers\n var blayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true });\n blayers.forEach(function (l) {\n var base = l.getMapLayer();\n _this17.registerMapLayerListeners(base);\n _this17._layers.base[l.getId()] = base;\n });\n\n Object.values(blayers.length ? this._layers.base : {}).reverse().forEach(function (l) {\n l.update(_this17.state, _this17.layersExtraParams);\n _this17.addLayerToMap(l);\n });\n\n // map layers: geolayers exclude baselayers and eventually vector layers\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: false, VECTORLAYER: false });\n\n // set map projection on each layer\n layers.forEach(function (l) {\n return l.setMapProjection(_this17.getProjection());\n });\n\n //store incremental value for qtimesriable layer with same multilayer id\n var cache = {};\n var mapLayers = [];\n\n Object.entries(\n // Group layers by multilayer property (from project config)\n // to speed up \"qtimeseriesries\" loading for single layers\n (0, _groupBy.groupBy)(layers, function (layer) {\n var id = layer.getMultiLayerId();\n if (layer.isQtimeseries()) {\n cache[id] = undefined === cache[id] ? 0 : cache[id] + 1;\n return id + '_' + cache[id];\n }\n return undefined === cache[id] ? id : id + '_' + (cache[id] + 1);\n })).forEach(function (_ref30) {\n var _ref31 = _slicedToArray(_ref30, 2),\n id = _ref31[0],\n layers = _ref31[1];\n\n var layer = layers[0] || [];\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + id,\n projection: _this17.getProjection(),\n /** @since 3.9.1 */\n format: 1 === layers.length ? layer.getFormat() : null\n }, 1 === layers.length ? {} : _this17.layersExtraParams);\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n mapLayers.push(mapLayer);\n _this17.registerMapLayerListeners(mapLayer);\n });\n\n mapLayers.reverse().forEach(function (l) {\n _this17._layers.g3w.push(l);\n _this17.addLayerToMap(l);\n });\n\n this.updateMapLayers();\n\n // vector layers\n var vlayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ VECTORLAYER: true });\n // set map projection on each layer\n vlayers.forEach(function (l) {\n l.setMapProjection(_this17.getProjection());_this17.addLayerToMap(l.getMapLayer());\n });\n\n // set default layers order\n var map = this.getMap();\n map.addLayer(this.defaultsLayers.mapcenter);\n map.addLayer(this.defaultsLayers.selectionLayer);\n map.addLayer(this.defaultsLayers.highlightLayer);\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n Object.entries(externalLayers || {}).forEach(function (_ref32) {\n var _ref33 = _slicedToArray(_ref32, 2),\n id = _ref33[0],\n layer = _ref33[1];\n\n var olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: new ol.format.GeoJSON().readFeatures(layer.features) })\n });\n olLayer.set('name', id);\n _this17.addExternalLayer(olLayer, _extends({}, layer.options, { zoomToExtent: false }));\n });\n });\n }\n }, {\n key: 'setDefaultLayerStyle',\n value: function setDefaultLayerStyle(type) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (type && this.defaultsLayers[type]) {\n this.defaultsLayers._style[type] = style;\n }\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this18 = this;\n\n Object.keys(this._layers.base).forEach(function (id) {\n return _this18.viewer.map.removeLayer(_this18._layers.base[id].getOLLayer());\n });\n this.getMapLayers().forEach(function (l) {\n _this18.unregisterMapLayerListeners(l);_this18.viewer.map.removeLayer(l.getOLLayer());\n });\n this._layers.g3w = [];\n // remove external layers\n this._layers.external.forEach(function (layer) {\n _this18.removeExternalLayer(layer.get('name'));\n });\n this._layers.external.splice(0);\n // remove default layers\n this.defaultsLayers.mapcenter.getSource().clear();\n this.defaultsLayers.highlightLayer.getSource().clear();\n this.defaultsLayers.selectionLayer.getSource().clear();\n this.getMap().removeLayer(this.defaultsLayers.mapcenter);\n this.getMap().removeLayer(this.defaultsLayers.highlightLayer);\n this.getMap().removeLayer(this.defaultsLayers.selectionLayer);\n }\n\n //set ad increase layerIndex\n\n }, {\n key: 'setLayerZIndex',\n value: function setLayerZIndex(_ref34) {\n var layer = _ref34.layer,\n _ref34$zindex = _ref34.zindex,\n zindex = _ref34$zindex === undefined ? this.layersCount += 1 : _ref34$zindex;\n\n layer.setZIndex(zindex);\n this.emit('set-layer-zindex', { layer: layer, zindex: zindex });\n return zindex;\n }\n\n /**\n * Add olLayer to mapLayer\n * @param layer\n */\n\n }, {\n key: 'addLayerToMap',\n value: function addLayerToMap(layer) {\n var olLayer = layer.getOLLayer();\n if (olLayer) {\n this.getMap().addLayer(olLayer);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'createMapLayer',\n value: function createMapLayer(layer) {\n layer.setMapProjection(this.getProjection());\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + layer.getMultiLayerId(),\n projection: this.getProjection()\n }, this.layersExtraParams);\n mapLayer.addLayer(layer);\n return mapLayer;\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Update MapLayer\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'updateMapLayer',\n value: function updateMapLayer(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { force: false, layerId: layerId };\n\n var _ref35 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref35$showSpinner = _ref35.showSpinner,\n showSpinner = _ref35$showSpinner === undefined ? true : _ref35$showSpinner;\n\n // if force to add g3w_time parameter to force request of map layer from server\n if (options.force) {\n options.g3w_time = Date.now();\n }\n if (showSpinner !== layer.showSpinnerWhenLoading) {\n layer.showSpinnerWhenLoading = showSpinner;\n if (showSpinner) {\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n } else {\n layer.off('loadstart', this.onLayerLoadStart);\n layer.off('loadend', this.onLayerLoadEnd);\n layer.off('loaderror', this.onLayerLoadError);\n }\n }\n layer.update(this.state, options);\n return layer;\n }\n\n // run update function on each mapLayer\n\n }, {\n key: 'updateMapLayers',\n value: function updateMapLayers() {\n var _this19 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.getMapLayers().forEach(function (l) {\n return _this19.updateMapLayer(l, opts);\n });\n Object.values(this.getBaseLayers()).forEach(function (l) {\n return l.update(_this19.state, _this19.layersExtraParams);\n });\n }\n\n // register map Layer listeners of creation\n\n }, {\n key: 'registerMapLayerListeners',\n value: function registerMapLayerListeners(layer) {\n var _this20 = this;\n\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n // listen change filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.onbefore('change', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n //pass layerId to change only layer @since 3.11.0\n l.on('filtertokenchange', function (_ref36) {\n var layerId = _ref36.layerId;\n _this20.updateMapLayer(layer, { force: true, layerId: layerId });\n });\n });\n }\n }\n\n // unregister listeners of mapLayers creation\n\n }, {\n key: 'unregisterMapLayerListeners',\n value: function unregisterMapLayerListeners(layer) {\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n layer.un('loadstart', this.onLayerLoadStart);\n layer.un('loadend', this.onLayerLoadEnd);\n layer.un('loaderror', this.onLayerLoadError);\n // try to remove layer filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.un('change');\n l.removeEvent('filtertokenchange');\n });\n }\n }\n }, {\n key: 'setTarget',\n value: function setTarget(elId) {\n this.target = elId;\n }\n }, {\n key: 'getCurrentToggledMapControl',\n value: function getCurrentToggledMapControl() {\n return (this._controls.find(function (c) {\n return c.control && c.control.isToggled && c.control.isToggled();\n }) || {}).control;\n }\n\n /**\n * close: param to close eventually right content open\n * @param interaction\n * @param options is an object contain: {\n * active: If set new interaction active or not\n * active: If set new interaction active or not\n * close: if eventually close GUI Content (es. result right content)\n * }\n * return object having current toggled control if there is a toggled mapcontrol\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { active: true, close: true };\n var _options$active = options.active,\n active = _options$active === undefined ? true : _options$active;\n\n var control = this.getCurrentToggledMapControl();\n var toggled = control && control.isToggled && control.isToggled() || false;\n var untoggleMapControls = control && control.isClickMap ? control.isClickMap() : true;\n if (untoggleMapControls && active) {\n this._unToggleControls(options);\n }\n this.getMap().addInteraction(interaction);\n interaction.setActive(active);\n this._externalInteractions.push(interaction);\n return {\n control: control,\n toggled: toggled // return current toggled map control if toggled\n };\n }\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n if (interaction) {\n interaction.setActive(false);\n }\n this.viewer.map.removeInteraction(interaction);\n this._externalInteractions = this._externalInteractions.filter(function (_interaction) {\n return interaction !== _interaction;\n });\n }\n }, {\n key: '_watchInteraction',\n value: function _watchInteraction(interaction) {\n var _this21 = this;\n\n interaction.on('change:active', function (e) {\n if (e.target instanceof ol.interaction.Pointer && e.target.getActive()) {\n _this21.emit('mapcontrol:active', e.target);\n }\n });\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Show map Info\n * @param info\n */\n\n }, {\n key: 'showMapInfo',\n value: function showMapInfo() {\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref37.info,\n style = _ref37.style;\n\n this.state.map_info.info = info;\n this.state.map_info.style = style || this.state.map_info.style;\n }\n\n /**\n * @param { Array } coordinate\n * @param { Number } zoom\n */\n\n }, {\n key: 'zoomTo',\n value: function zoomTo(coordinate) {\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n\n var view = this.viewer.map.getView();\n view.setCenter(coordinate);\n view.setZoom(zoom);\n }\n }, {\n key: 'goTo',\n value: function goTo(coordinates, zoom) {\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var view = this.viewer.map.getView();\n zoom = zoom || 6;\n\n if (animate) {\n view.animate({ duration: 300, center: coordinates }, zoom ? { zoom: zoom, duration: 300 } : { duration: 300, resolution: view.getResolution() });\n } else {\n view.setCenter(coordinates);\n }\n\n if (zoom && !animate) {\n view.setZoom(zoom);\n }\n }\n\n /**\n * Set map center to coordinate at resolution\n *\n * @param { Array } coordinates\n * @param resolution\n * @param { boolean } animate\n */\n\n }, {\n key: 'goToRes',\n value: function () {\n var _ref38 = _asyncToGenerator(function* (coordinates, resolution) {\n var _this22 = this;\n\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n\n resolution = resolution || this.viewer.map.getView().getResolution();\n\n yield new Promise(function (res) {\n\n _this22.viewer.map.getView().once('change:center', function () {\n return setTimeout(res, 500);\n });\n\n if (animate) {\n _this22.viewer.map.getView().animate({ duration: 200, center: coordinates }, { duration: 200, resolution: resolution });\n } else {\n _this22.viewer.map.getView().setCenter(coordinates);\n _this22.viewer.map.getView().setResolution(resolution);\n }\n });\n });\n\n function goToRes(_x44, _x45) {\n return _ref38.apply(this, arguments);\n }\n\n return goToRes;\n }()\n }, {\n key: 'getGeometryAndExtentFromFeatures',\n value: function getGeometryAndExtentFromFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var extent = void 0;\n var gtype = void 0;\n var geometry = void 0;\n var coordinates = [];\n features.filter(function (f) {\n return f.getGeometry ? f.getGeometry() : f.geometry;\n }).forEach(function (f) {\n var geom = f.getGeometry ? f.getGeometry() : f.geometry;\n var is_ol_geom = geom instanceof ol.geom.Geometry;\n var f_ext = is_ol_geom ? [].concat(_toConsumableArray(geom.getExtent())) : f.bbox;\n extent = ol.extent.extend(undefined === extent ? f_ext : extent, f_ext);\n gtype = gtype ? gtype : is_ol_geom ? geom.getType() : geom.type;\n var coords = is_ol_geom ? geom.getCoordinates() : geom.coordinates;\n coordinates.push(coords);\n });\n\n //check if features have geometry\n if (coordinates.length > 0) {\n var is_multi = gtype.includes('Multi');\n try {\n geometry = new ol.geom[is_multi ? gtype : 'Multi' + gtype](is_multi ? coordinates.flat() : coordinates);\n extent = undefined === extent ? geometry.getExtent() : extent;\n } catch (e) {\n console.warn(e);\n }\n }\n\n return {\n extent: extent,\n geometry: geometry\n };\n }\n }, {\n key: 'highlightFeatures',\n value: function highlightFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getGeometryAndExtent = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent.geometry;\n // force zoom false\n\n\n options.zoom = false;\n this.highlightGeometry(geometry, options);\n }\n }, {\n key: 'zoomToGeometry',\n value: function zoomToGeometry(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var extent = geometry && geometry.getExtent();\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n }, {\n key: 'zoomToFeatures',\n value: function zoomToFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var _getGeometryAndExtent2 = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent2.geometry,\n extent = _getGeometryAndExtent2.extent;\n\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n\n /**\n * @param { ol.extent } extent\n * @param { Object } options\n * @param { boolean } options.force\n * @param { ol.geometry } options.highLightGeometry\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'zoomToExtent',\n value: function () {\n var _ref39 = _asyncToGenerator(function* (extent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n if (!extent) {\n return Promise.resolve();\n }\n\n var map = this.getMap();\n\n var resolution = void 0;\n\n // if outside project extent, return max resolution\n if (false === ol.extent.containsExtent(this.project.state.extent, extent)) {\n resolution = map.getView().getResolutionForExtent(this.project.state.extent, map.getSize());\n }\n\n // retrieve resolution from given `extent`\n else if (true === options.force) {\n resolution = map.getView().getResolutionForExtent(extent, map.getSize()); // resolution of request extent\n }\n\n // calculate main resolutions from map\n else {\n var curr = map.getView().getResolution();\n // max resolution of the map\n resolution = Math.max(map.getView().getResolutionForExtent(extent, map.getSize()), (0, _getResolutionFromScale.getResolutionFromScale)(MAP.maxZoom, this.getMapUnits()));\n resolution = curr < resolution && curr > resolution ? curr : resolution;\n }\n\n yield this.goToRes(ol.extent.getCenter(extent), resolution);\n\n if (options.highLightGeometry) {\n yield this.highlightGeometry(options.highLightGeometry, { zoom: false, duration: options.duration });\n }\n });\n\n function zoomToExtent(_x51) {\n return _ref39.apply(this, arguments);\n }\n\n return zoomToExtent;\n }()\n }, {\n key: 'goToBBox',\n value: function goToBBox(bbox) {\n var epsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getEpsg();\n\n bbox = epsg === this.getEpsg() ? bbox : ol.proj.transformExtent(bbox, epsg, this.getEpsg());\n // compare bbox extent with a project max extent\n this.viewer.fit(ol.extent.containsExtent(this.project.state.extent, bbox) ? bbox : this.project.state.extent);\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: '_fit',\n value: function _fit(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var view = this.viewer.map.getView();\n var animate = 'boolean' === typeof options.animate ? options.animate : true;\n\n if (animate) {\n view.animate({ duration: 200, center: view.getCenter() });\n view.animate({ duration: 200, resolution: view.getResolution() });\n }\n\n delete options.animate; // non lo passo al metodo di OL3 perché è un'opzione interna\n\n view.fit(geometry, _extends({}, options, {\n constrainResolution: undefined !== options.constrainResolution ? options.constrainResolution : true,\n size: this.viewer.map.getSize()\n }));\n }\n\n /*\n * geometries = array of geometries\n * action: add, clear, remove :\n * - add: feature/features to selectionLayer. If selectionLayer doesn't exist, create a new vector layer.\n * - clear: remove selectionLayer\n * - remove: remove feature from selection layer. If no more feature is in selectionLayer, it will be removed\n * */\n\n }, {\n key: 'setSelectionFeatures',\n value: function setSelectionFeatures() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.color) {\n this.setDefaultLayerStyle('selectionLayer', { color: opts.color });\n }\n var source = this.defaultsLayers.selectionLayer.getSource();\n switch (action) {\n case 'add':\n //In case of add need to set selection style\n opts.feature.setStyle((0, _createSelectedStyle.createSelectedStyle)({\n geometryType: opts.feature.getGeometry().getType(),\n color: this.defaultsLayers._style.selectionLayer.color,\n fill: true\n }));\n source.addFeature(opts.feature);\n break;\n case 'remove':\n source.removeFeature(opts.feature);break;\n case 'update':\n source.getFeatureById(opts.feature.getId()).setGeometry(opts.feature.getGeometry());break;\n case 'clear':\n source.clear();break;\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'toggleSelection',\n value: function toggleSelection() {\n var _this23 = this;\n\n var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var layerId = arguments[1];\n\n //take in account that of layer id is specified, need to set only\n // features related to layer visible or not\n if (layerId) {\n this.defaultsLayers.selectionLayer.getSource().getFeatures().filter(function (f) {\n return layerId === f.__layerId;\n }).forEach(function (f) {\n return f.setStyle(visible ? (0, _createSelectedStyle.createSelectedStyle)({\n geometryType: f.getGeometry().getType(),\n color: _this23.defaultsLayers._style.selectionLayer.color,\n fill: true\n }) : new ol.style.Style(null));\n });\n } else {\n this.defaultsLayers.selectionLayer.setVisible(visible);\n }\n }\n\n /**\n *\n * @param { ol.geom.Geometry | * } geometryObj\n * @param { Object } options\n * @param { boolean } options.zoom\n * @param { boolean } options.highlight\n * @param options.style\n * @param options.color\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'highlightGeometry',\n value: function () {\n var _ref40 = _asyncToGenerator(function* (geometryObj) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var duration = options.duration || 2000;\n var hlayer = this.defaultsLayers.highlightLayer;\n var hide = 'function' === typeof options.hide ? options.hide : null;\n var highlight = 'boolean' === typeof options.highlight ? options.highlight : true;\n var zoom = 'boolean' === typeof options.zoom ? options.zoom : true;\n var geometry = geometryObj instanceof ol.geom.Geometry ? geometryObj : new ol.format.GeoJSON().readGeometry(geometryObj);\n\n this.clearHighlightGeometry();\n this.setDefaultLayerStyle('highlightLayer', { color: options.color });\n\n if (zoom) {\n yield this.zoomToExtent(geometry.getExtent());\n }\n\n if (!highlight) {\n return;\n }\n\n if (options.style) {\n hlayer.setStyle(options.style);\n }\n\n hlayer.getSource().addFeature(new ol.Feature({ geometry: geometry }));\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve) {\n\n var cb = function cb() {\n hlayer.getSource().clear();\n // set default style\n if (options.style) {\n hlayer.setStyle(function (feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({ geometryType: feat.getGeometry().getType(), color: options.color, fill: true })];\n });\n }\n if (!hide) {\n MAP.animatingHighlight = false;\n }\n resolve();\n };\n\n if (hide) {\n hide(cb);\n }\n\n if (duration && duration !== Infinity && !hide) {\n MAP.animatingHighlight = true;\n setTimeout(cb, duration);\n }\n });\n\n return function (_x59) {\n return _ref41.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref40.apply(this, arguments);\n }\n\n return highlightGeometry;\n }()\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry() {\n if (!MAP.animatingHighlight) {\n this.defaultsLayers.highlightLayer.getSource().clear();\n }\n // reset default layer style\n this.defaultsLayers._style.highlightLayer = { color: undefined };\n }\n\n /**\n * Force to referesh a map\n * @param options\n */\n\n }, {\n key: 'refreshMap',\n value: function refreshMap() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { force: true };\n\n this.updateMapLayers(options);\n }\n\n // called when layout (window) resizes\n\n }, {\n key: 'layout',\n value: function layout(_ref42) {\n var width = _ref42.width,\n height = _ref42.height;\n\n var el = document.getElementById(this.target);\n\n if (el) {\n el.style.height = height + 'px';\n el.style.width = width + 'px';\n }\n\n var is_hidden = width <= 0 || height <= 0;\n var has_viewer = !!this.viewer;\n\n if (has_viewer && !is_hidden) {\n this.getMap().updateSize();\n this.state.hidemaps.forEach(function (h) {\n return h.map.updateSize();\n });\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this.updateMapLayers();\n }\n\n if (!has_viewer) {\n this.setupViewer(width, height);\n }\n\n this.setHidden(is_hidden);\n }\n }, {\n key: 'getMapBBOX',\n value: function getMapBBOX() {\n return this.viewer.map.getView().calculateExtent(this.viewer.map.getSize());\n }\n }, {\n key: 'setInnerGreyCoverBBox',\n value: function setInnerGreyCoverBBox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var map = this.viewer.map;\n var lowerLeft = void 0;\n var upperRight = void 0;\n\n if (opts.inner) {\n switch (opts.type) {\n case 'pixel':\n lowerLeft = [opts.inner[0], opts.inner[1]];\n upperRight = [opts.inner[2], opts.inner[3]];\n break;\n case 'coordinate':\n default:\n lowerLeft = map.getPixelFromCoordinate([opts.inner[0], opts.inner[1]]);\n upperRight = map.getPixelFromCoordinate([opts.inner[2], opts.inner[3]]);\n break;\n }\n this._drawShadow.inner[0] = lowerLeft[0] * ol.has.DEVICE_PIXEL_RATIO; // x_min\n this._drawShadow.inner[1] = lowerLeft[1] * ol.has.DEVICE_PIXEL_RATIO; // y_min\n this._drawShadow.inner[2] = upperRight[0] * ol.has.DEVICE_PIXEL_RATIO; // x_max\n this._drawShadow.inner[3] = upperRight[1] * ol.has.DEVICE_PIXEL_RATIO; // y_max\n }\n\n this._drawShadow.scale = [null, undefined].includes(opts.scale) ? this._drawShadow.scale || 1 : opts.scale;\n this._drawShadow.rotation = [null, undefined].includes(opts.rotation) ? this._drawShadow.rotation || 0 : opts.rotation;\n\n if (this._drawShadow.outer) {\n map.render();\n }\n }\n\n // grey map precompose mapcompose\n\n }, {\n key: 'startDrawGreyCover',\n value: function startDrawGreyCover(message) {\n var _this24 = this;\n\n // after rendering the layer, restore the canvas context\n var map = this.viewer.map;\n var x_min = void 0,\n x_max = void 0,\n y_min = void 0,\n y_max = void 0,\n rotation = void 0,\n scale = void 0;\n this.stopDrawGreyCover();\n this._drawShadow.listener = map.on('postcompose', function (e) {\n var ctx = e.context;\n var size = _this24.getMap().getSize();\n // Inner polygon must be counter-clockwise\n var height = size[1] * ol.has.DEVICE_PIXEL_RATIO;\n var width = size[0] * ol.has.DEVICE_PIXEL_RATIO;\n _this24._drawShadow.outer = [0, 0, width, height];\n ctx.restore();\n ctx.beginPath();\n // Outside polygon must be clockwise\n ctx.moveTo(0, 0);\n ctx.lineTo(width, 0);\n ctx.lineTo(width, height);\n ctx.lineTo(0, height);\n ctx.lineTo(0, 0);\n ctx.closePath();\n // end external bbox (map is cover)\n if (_this24._drawShadow.inner.length) {\n ctx.save();\n x_min = _this24._drawShadow.inner[0];\n y_min = _this24._drawShadow.inner[3];\n x_max = _this24._drawShadow.inner[2];\n y_max = _this24._drawShadow.inner[1];\n rotation = _this24._drawShadow.rotation;\n scale = _this24._drawShadow.scale;\n // Inner polygon must be counter-clockwise antiorario\n ctx.translate((x_max + x_min) / 2, (y_max + y_min) / 2);\n ctx.rotate(rotation * Math.PI / 180);\n ctx.moveTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.closePath();\n // end inner bbox\n }\n ctx.fillStyle = 'rgba(0, 5, 25, 0.40)';\n ctx.fill();\n if (message) {\n ctx.font = \"bold 25px Arial\";\n ctx.fillStyle = \"#ffffff\";\n ctx.textAlign = \"center\";\n message.split('\\n').forEach(function (m, i) {\n return ctx.fillText(m, width / 2, height / 2 + 30 * i);\n });\n }\n ctx.restore();\n });\n }\n }, {\n key: 'stopDrawGreyCover',\n value: function stopDrawGreyCover() {\n if (this._drawShadow.listener) {\n ol.Observable.unByKey(this._drawShadow.listener);\n // reset inner draw shadow\n if (this._drawShadow.inner.length) {\n this._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null\n };\n }\n this._drawShadow.listener = null;\n }\n this.getMap().render();\n }\n\n /**\n * Remove external layer\n *\n * @param name\n */\n\n }, {\n key: 'removeExternalLayer',\n value: function removeExternalLayer(name) {\n var _this25 = this;\n\n var layer = this.getLayerByName(name);\n var type = layer._type || 'vector';\n\n _gui2.default.getService('queryresults').unregisterVectorLayer(layer);\n _gui2.default.getService('catalog').removeExternalLayer({ name: name, type: type });\n\n this.viewer.map.removeLayer(layer);\n\n if ('vector' === type) {\n this._keyEvents.unwatches[name].forEach(function (unWatch) {\n return unWatch();\n });\n delete this._keyEvents.unwatches[name];\n }\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n if ('vector' === type) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n externalLayers = externalLayers || {};\n if (name in externalLayers) {\n delete externalLayers[name];\n }\n _localforage2.default.setItem('externalLayers', externalLayers);\n });\n }\n\n if ('vector' === type) {\n this._layers.external_vector = this._layers.external_vector.filter(function (l) {\n if (name !== l.name) {\n return true;\n }\n Object.values(MAP.controls).forEach(function (c) {\n return c.onRemoveExternalLayer && c.onRemoveExternalLayer(l);\n });\n if (l === MAP.selectedLayer) {\n MAP.selectedLayer = null;\n }\n });\n }\n\n if ('wms' === type) {\n this._layers.external_wms = this._layers.external_wms.filter(function (l) {\n if (l.getId() !== layer.id) {\n return true;\n }\n _this25.unregisterMapLayerListeners(l, layer.projectLayer);\n });\n }\n\n this._layers.external = this._layers.external.filter(function (l) {\n return l.get('id') !== layer.get('id');\n });\n\n this.unloadExternalLayer(layer);\n\n this.emit('remove-external-layer', name);\n }\n\n /**\n * @TODO deprecate in favour of `getExternalLayers`\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'getLegacyExternalLayers',\n value: function getLegacyExternalLayers() {\n return this._layers.external_vector;\n }\n\n /**\n * Return external layers added to map\n * @param {String} type 'vector' or 'wms' @since 3.11.0\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers(type) {\n return undefined === type ? this._layers.external : this._layers.external.filter(function (l) {\n return type === l._type;\n });\n }\n\n /**\n * Add an external layer to the map (eg. ZIP, KMZ, GPX, ...)\n *\n * @param { ol.layer.Vector | ol.layer.Image | unknown } externalLayer\n * @param { Object } options\n * @param { unknown } options.position\n * @param { number } options.opacity\n * @param { boolean } options.visible\n * @param { unknown } options.crs\n * @param { unknown } options.type\n * @param { unknown } options.download\n * @param { string } options.downloadUrl (since 3.8.3) an alternate external server url where to perfom download.\n * @param { boolean } options.persistent (since 3.11.0) whether to save layer into local storage (ie. web sessions).\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'addExternalLayer',\n value: function () {\n var _ref43 = _asyncToGenerator(function* (externalLayer) {\n var _this26 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // extract OL layer from a G3W layer\n var olLayer = externalLayer.getOLLayer ? externalLayer.getOLLayer() : externalLayer;\n if (olLayer !== externalLayer) {\n olLayer.set('id', externalLayer.getId());\n olLayer.set('name', externalLayer.getId());\n }\n externalLayer = olLayer;\n\n var vectorLayer = void 0;\n\n options.position = undefined === options.position ? 'top' : options.position;\n options.opacity = undefined === options.opacity ? 1 : options.opacity;\n options.visible = undefined === options.visible || options.visible;\n options.persistent = undefined === options.persistent || options.persistent;\n\n // vector layer\n if (externalLayer instanceof ol.layer.Vector) {\n\n externalLayer.set('id', externalLayer.get('id') || (0, _getUniqueDomId.getUniqueDomId)());\n\n vectorLayer = externalLayer;\n vectorLayer.filter = { // used by `selection` for query result purpose ?\n active: false // UNUSED - it means not yet implemented?\n };\n vectorLayer.selection = {\n active: false,\n features: []\n };\n\n if (options.color) {\n vectorLayer.setStyle(Object.assign(function (feat) {\n options.color = options.color.rgba ? 'rgba(' + [options.color.rgba.r, options.color.rgba.g, options.color.rgba.b, options.color.rgba.a].join() + ')' : options.color;\n var geometryType = feat.getGeometry().getType();\n var color = options.color;\n\n var style = void 0;\n if ((0, _isPointGeometryType.isPointGeometryType)(geometryType)) {\n // Point\n style = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: color }),\n stroke: new ol.style.Stroke({ color: color, width: 1 }),\n radius: 5\n })\n });\n } else if ((0, _isLineGeometryType.isLineGeometryType)(geometryType)) {\n // Line\n style = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else if ((0, _isPolygonGeometryType.isPolygonGeometryType)(geometryType)) {\n // Polygon\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255,255,255,0.5)' }),\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else {\n console.warn('invalid geometry type: ', geometryType);\n }\n if (options.field) {\n style.setText(new ol.style.Text({\n text: '' + feat.get(options.field),\n font: 'bold',\n scale: 2,\n offsetY: 15,\n fill: new ol.style.Fill({ color: options.color }),\n stroke: new ol.style.Stroke({ color: '#FFF', width: 2 })\n }));\n }\n return style;\n }, { _g3w_options: options }));\n }\n\n var color = void 0;\n try {\n var style = externalLayer.getStyle();\n color = style._g3w_options ? style._g3w_options.color : 'blue'; //setted by geo utils create style function\n } catch (e) {\n console.warn(e);\n }\n\n externalLayer = {\n id: externalLayer.get('id'),\n name: vectorLayer.get('name') || vectorLayer.get('id'),\n projectLayer: false,\n title: vectorLayer.get('name') || vectorLayer.get('id'),\n removable: true,\n external: true,\n crs: options.crs,\n type: options.type,\n _type: 'vector',\n visible: options.visible,\n checked: true,\n position: options.position,\n opacity: options.opacity,\n color: color || 'blue',\n filter: vectorLayer.filter,\n selection: vectorLayer.selection,\n /** @since 3.8.0 */\n tochighlightable: false,\n download: options.download || false,\n /**\n * An alternate (external) server url where to perfom download.\n *\n * @example\n *\n * ```js\n * GUI.getService('map').addExternalLayer(layer, {\n * type: 'geojson',\n * downloadUrl: __\n * });\n * ```\n *\n * @since 3.8.3\n */\n downloadUrl: options.downloadUrl\n };\n }\n\n // image layer\n if (externalLayer instanceof ol.layer.Image) {\n externalLayer.id = externalLayer.get('id');\n externalLayer.removable = true;\n externalLayer.projectLayer = false;\n externalLayer.name = externalLayer.get('name');\n externalLayer.title = externalLayer.get('name');\n externalLayer._type = 'wms';\n externalLayer.opacity = options.opacity;\n externalLayer.position = options.position;\n externalLayer.external = true;\n externalLayer.checked = options.visible;\n }\n\n // skip when another layer with the same name was already added\n if (this.getLayerByName(externalLayer.name)) {\n _gui2.default.notify.warning(\"layer_is_added\", false);\n }\n\n var type = (externalLayer._type || externalLayer.type || '').toLowerCase().trim('').trim();\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type];\n\n // skip if is not a valid layer\n if (!layer) {\n console.warn('layer type: ', type, externalLayer);\n return Promise.reject('not a valid layer');\n }\n\n var features = 'vector' === type && layer.getSource().getFeatures() || [];\n var extent = 'vector' === type && layer.getSource().getExtent() || [];\n\n // add id value\n features.forEach(function (f, i) {\n return f.setId(i);\n });\n\n if (features.length) {\n externalLayer.geometryType = features[0].getGeometry().getType();\n externalLayer.selected = false;\n }\n\n if (extent.length) {\n externalLayer.bbox = { minx: extent[0], miny: extent[1], maxx: extent[2], maxy: extent[3] };\n }\n\n layer.set('position', options.position);\n layer.setOpacity(options.opacity);\n layer.setVisible(options.visible);\n\n /** @TODO use a common parent class (project/external layers) */\n externalLayer.set = externalLayer.set || function (a, d) {\n return externalLayer[a] = d;\n };\n externalLayer.get = externalLayer.get || function (a) {\n return externalLayer[a];\n };\n externalLayer.getId = externalLayer.getId || function () {\n return externalLayer.id;\n };\n externalLayer.getName = externalLayer.getName || function () {\n return externalLayer.name;\n };\n externalLayer.getGeometryType = externalLayer.getGeometryType || function () {\n return externalLayer.geometryType;\n };\n externalLayer.setTocHighlightable = externalLayer.setTocHighlightable || function (h) {\n return externalLayer.tochighlightable = h;\n };\n externalLayer.getTocHighlightable = externalLayer.getTocHighlightable || function () {\n return externalLayer.tochighlightable;\n };\n externalLayer.isSelected = externalLayer.isSelected || function () {\n return externalLayer.selected;\n };\n externalLayer.setSelected = externalLayer.setSelected || function (s) {\n return externalLayer.selected = s;\n };\n externalLayer.isQueryable = externalLayer.isQueryable || function () {\n return !!vectorLayer;\n };\n externalLayer.isVisible = externalLayer.isVisible || function () {\n if (vectorLayer) {\n externalLayer.visible = vectorLayer.getVisible();\n }\n return externalLayer.visible;\n };\n externalLayer.setVisible = externalLayer.setVisible || function (v) {\n if (vectorLayer) {\n vectorLayer.setVisible(v);\n }\n externalLayer.visible = v;\n };\n\n this.viewer.map.addLayer(layer);\n\n this._layers.external.push(layer);\n\n if ('vector' === type) {\n this._layers.external_vector.push(externalLayer);\n }\n\n // register and dispatch layer add event\n if ('wms' === type) {\n this._layers.external_wms.push(externalLayer);\n this.registerMapLayerListeners(externalLayer, false);\n }\n\n if (vectorLayer && false !== options.persistent) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n _localforage2.default.setItem('externalLayers', _extends({}, externalLayers || {}, _defineProperty({}, vectorLayer.get('name'), {\n features: new ol.format.GeoJSON().writeFeatures(vectorLayer.getSource().getFeatures()),\n options: options\n })));\n });\n }\n\n _gui2.default.getService('queryresults').registerVectorLayer(layer);\n _gui2.default.getService('catalog').addExternalLayer({ layer: externalLayer, type: type });\n\n // invoke `onAddExternalLayer` on each map control\n if ('vector' === type) {\n this._keyEvents.unwatches[externalLayer.name] = [];\n Object.values(MAP.controls).forEach(function (c) {\n return c.onAddExternalLayer && c.onAddExternalLayer({ layer: externalLayer, unWatches: _this26._keyEvents.unwatches[externalLayer.name] });\n });\n }\n\n if (extent && options.zoomToExtent) {\n this.viewer.map.getView().fit(extent);\n }\n\n this.loadExternalLayer(layer);\n\n return layer;\n });\n\n function addExternalLayer(_x63) {\n return _ref43.apply(this, arguments);\n }\n\n return addExternalLayer;\n }()\n }, {\n key: 'getCookie',\n value: function getCookie(name) {\n Vue.cookie.get(name);\n }\n\n /**\n * @param { unknown | string | null } layer\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'selectLayer',\n value: function selectLayer(layer) {\n var id = 'string' === typeof layer ? layer : layer && layer.getId();\n\n // toggle previous selection\n if (MAP.selectedLayer && id === MAP.selectedLayer.getId()) {\n id = null;\n }\n\n layer = (0, _getCatalogLayerById.getCatalogLayerById)(id) || this.getLegacyExternalLayers().find(function (l) {\n return id === l.getId();\n });\n\n // select layer by id\n (0, _getCatalogLayers.getCatalogLayers)().concat(this.getLegacyExternalLayers()).forEach(function (l) {\n return l.setSelected(l.getId() === id);\n });\n\n MAP.selectedLayer = layer && layer.isSelected() ? layer : null;\n\n Object.values(MAP.controls).forEach(function (c) {\n return c.onSelectLayer && c.onSelectLayer(MAP.selectedLayer);\n });\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'getSelectedLayer',\n value: function getSelectedLayer() {\n return MAP.selectedLayer;\n }\n }]);\n\n return MapService;\n}(_g3wObject2.default);\n\n/** @since 3.8.0 */\n\n\n_application4.default.onbefore('offline', function () {\n return MAP.offlineids.forEach(function (c) {\n c.enable = MAP.controls[c.id].getEnable();MAP.controls[c.id].setEnable(false);\n });\n});\n\n/** @since 3.8.0 */\n_application4.default.onbefore('online', function () {\n return MAP.offlineids.forEach(function (_ref44) {\n var id = _ref44.id,\n enable = _ref44.enable;\n return MAP.controls[id].setEnable(enable);\n });\n});\n\nexports.default = {\n\n MapService: MapService,\n\n MapLayersStoresRegistry: MAP.layers\n};\n\n},{\"components/MapControlGeocoding.vue\":82,\"components/MapControlZoomHistory.vue\":83,\"g3w-object\":130,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":143,\"map/controls/interactioncontrol\":144,\"map/controls/measurecontrol\":145,\"map/controls/queryby\":146,\"map/controls/scalecontrol\":147,\"map/controls/screenshotcontrol\":148,\"map/controls/streetviewcontrol\":149,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/imagelayer\":155,\"map/layers/vectorlayer\":159,\"services/application\":171,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createFilterFromString\":192,\"utils/createSelectedStyle\":195,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getMapLayersByFilter\":210,\"utils/getProject\":212,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/getUniqueDomId\":217,\"utils/groupBy\":219,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/throttle\":241}],176:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _QueryResultsActionQueryPolygonCSVAttributes = require('components/QueryResultsActionQueryPolygonCSVAttributes.vue');\n\nvar _QueryResultsActionQueryPolygonCSVAttributes2 = _interopRequireDefault(_QueryResultsActionQueryPolygonCSVAttributes);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _intersects = require('utils/intersects');\n\nvar _within = require('utils/within');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _throttle = require('utils/throttle');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _copyUrl = require('utils/copyUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer4 = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nfunction _setRelationField(node) {\n if (node.nodes) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = node.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _node = _step.value;\n\n _setRelationField(_node);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (node.name) {\n node.relation = true;\n }\n}\n\nexports.default = new (function (_G3WObject) {\n _inherits(QueryResultsService, _G3WObject);\n\n function QueryResultsService() {\n _classCallCheck(this, QueryResultsService);\n\n /**\n * Core methods used from other classes to react before or after its call\n */\n var _this = _possibleConstructorReturn(this, (QueryResultsService.__proto__ || Object.getPrototypeOf(QueryResultsService)).call(this));\n\n _this.setters = {\n\n /**\n * Hook method called when response is handled by Data Provider\n *\n * @param { Object } queryResponse\n * @param { Array } queryResponse.data\n * @param { 'coordinates' | 'bbox' | 'polygon' } queryResponse.type\n * @param { Object } queryResponse.query\n * @param { Object } queryResponse.query.external\n * @param { boolean } queryResponse.query.external.add - whether add external layers to response\n * @param { Object } queryResponse.query.external.filter\n * @param { boolean } queryResponse.query.external.SELECTED\n * @param { Object } options\n * @param { boolean } options.add - whether is a new query request (add/remove query request)\n */\n setQueryResponse: function setQueryResponse(queryResponse) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n // set mandatory queryResponse fields\n if (!queryResponse.data) queryResponse.data = [];\n if (!queryResponse.query) queryResponse.query = { external: { add: false, filter: { SELECTED: false } } };\n if (!queryResponse.query.external) queryResponse.query.external = { add: false, filter: { SELECTED: false } };\n\n if (false === options.add && !!options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add && !options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.clearState();\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add external layers to response\n if (true === queryResponse.query.external.add && false === options.add) {\n var catalog = _gui2.default.getService('catalog');\n\n /** @type { boolean | undefined } */\n var FILTER_SELECTED = queryResponse.query.external.filter.SELECTED;\n\n // add visible layers to query response (vector layers)\n this._vectorLayers.forEach(function (layer) {\n var id = layer.get('id');\n // TODO: extract this into `layer.isSomething()` ?\n if (layer.getVisible() && [undefined, !!(catalog.state.external.vector.find(function (l) {\n return l.id === id;\n }) || {}).selected].includes(FILTER_SELECTED)) {\n queryResponse.data['__g3w_marker' === id // keep geocoding control \"marker\" layer at top\n ? 'unshift' : 'push'](_this2.getVectorLayerFeaturesFromQueryRequest(layer, queryResponse.query));\n }\n });\n }\n\n var geom = false === options.add && {\n 'coordinates': 2 === (this.state.query.coordinates || []).length && new ol.geom.Point(this.state.query.coordinates),\n 'bbox': 4 === (this.state.query.bbox || []).length && ol.geom.Polygon.fromExtent(this.state.query.bbox),\n 'polygon': this.state.query.geometry,\n 'drawpolygon': this.state.query.geometry,\n 'circle': this.state.query.geometry\n }[this.state.query.type];\n\n // show a query result on map\n if (geom) {\n var feature = new ol.Feature(geom);\n feature.setId(undefined);\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.getSource().addFeature(feature);\n _gui2.default.getService('map').getMap().addLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.setZIndex(_gui2.default.getService('map').getMap().getLayers().getLength()); // ensure layer is on top of others\n }\n\n // Convert response from DataProvider into a QueryResult component data structure\n // Skip when the layer has no features or rawdata is undefined (external wms)\n var layers = queryResponse.data.flatMap(function (d) {\n return [].concat(d);\n }).filter(function (d) {\n return d && (undefined !== d.rawdata || Array.isArray(d.features) && d.features.length > 0);\n }).map(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref.layer,\n features = _ref.features,\n rawdata = _ref.rawdata,\n error = _ref.error;\n\n var is_layer = layer instanceof _layer4.Layer;\n var is_vector = layer instanceof ol.layer.Vector; // instance of openlayers layer Vector Class\n var is_string = 'string' === typeof layer || layer instanceof String; // can be created by string\n\n var sourceType = void 0;\n\n if (is_string) {\n sourceType = _layer4.Layer.LayerTypes.VECTOR;\n } else if (is_layer) {\n try {\n sourceType = layer.getSourceType();\n } catch (error) {\n console.warn('uknown source type for layer:', error, layer);\n }\n }\n\n var name = is_string && layer.split('_');\n\n var id = (is_layer ? layer.getId() : undefined) || (is_vector ? layer.get('id') : undefined) || (is_string ? layer : undefined);\n\n var attributes = void 0;\n var layerAttrs = void 0;\n\n // sanity check (eg. external layers ?)\n if (!features || !features.length) {\n attributes = [];\n }\n\n // Sanitize OWS Layer attributes\n if (!attributes && layer instanceof _layer4.Layer) {\n layerAttrs = layer.getAttributes().map(function (attr) {\n return 'ows' === _this2.state.type ? _extends({}, attr, { name: attr.name.replace(/ /g, '_') }) : attr;\n });\n }\n\n if (!attributes && layer instanceof ol.layer.Vector) {\n layerAttrs = layer.getProperties();\n }\n\n if (!attributes && 'string' === typeof layer || layer instanceof String) {\n layerAttrs = features[0] ? features[0].getProperties() : [];\n }\n\n var specialAttrs = (!attributes && layer instanceof _layer4.Layer && layerAttrs || []).filter(function (attr) {\n try {\n return '_' === attr.name[0] || Number.isInteger(1 * attr.name[0]);\n } catch (e) {\n return false;\n }\n }).map(function (attr) {\n return { alias: attr.name.replace(/_/, ''), name: attr.name };\n });\n\n if (!attributes && specialAttrs.length) {\n features.forEach(function (f) {\n // get attributes special keys from feature properties received by server request\n var attrs = Object.keys(f.getProperties());\n specialAttrs.forEach(function (layerAttr) {\n attrs.find(function (attr) {\n if (attr === layerAttr.alias) {\n f.set(layerAttr.name, f.get(attr));\n return true;\n }\n });\n });\n });\n }\n\n // Parse attributes to show on a result based on field\n\n var attrs = !attributes && (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(Object.keys(features[0] instanceof ol.Feature ? features[0].getProperties() : features[0].properties));\n\n if (!attributes) {\n attributes = layerAttrs && layerAttrs.length > 0 ? layerAttrs.filter(function (attr) {\n return attrs.includes(attr.name);\n }) : attrs.map(function (featureAttr) {\n return {\n name: featureAttr,\n label: featureAttr,\n show: _g3wConstants.G3W_FID !== featureAttr && [undefined, 'gdal', 'wms', 'wcs', 'wmst', 'postgresraster'].includes(sourceType),\n type: 'varchar'\n };\n });\n }\n\n var external = is_vector || is_string;\n var structure = is_layer && layer.hasFormStructure() && layer.getLayerEditingFormStructure();\n\n if (structure && Array.isArray(_this2._relations[layer.getId()]) && _this2._relations[layer.getId()].length > 0) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = structure[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var node = _step2.value;\n\n _setRelationField(node);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n // layerObj\n return {\n id: id,\n attributes: attributes,\n external: external,\n features: (!rawdata && features || []).map(function (f) {\n return {\n id: external ? f.getId() : f instanceof ol.Feature ? f.getId() : f.id,\n attributes: f instanceof ol.Feature ? f.getProperties() : f.properties,\n geometry: f instanceof ol.Feature ? f.getGeometry() : f.geometry,\n selection: { selected: false },\n show: true\n };\n }),\n hasgeometry: Array.isArray(features) && !rawdata && features.some(function (f) {\n return f instanceof ol.Feature ? f.getGeometry() : f.geometry;\n }),\n hasImageField: Array.isArray(features) && !rawdata && features.length && attributes.some(function (attr) {\n return 'image' === attr.type;\n }),\n loading: false,\n show: true,\n expandable: true,\n addfeaturesresults: { active: false },\n downloadformats: { active: false },\n editable: is_layer ? layer.isEditable() && layer.config.editing.visible : false,\n inediting: is_layer ? layer.isInEditing() : false,\n source: is_layer ? layer.getSource() : undefined,\n infoformat: is_layer ? layer.getInfoFormat() : undefined,\n infoformats: is_layer ? layer.getInfoFormats() : [],\n downloads: is_layer ? layer.getDownloadableFormats() : [],\n formStructure: structure ? {\n structure: structure,\n // get field show\n fields: layer.getFields().filter(function (f) {\n return f.show;\n }).concat((Array.isArray(features) && !rawdata && features.length > 0 && attributes || []).filter(function (attr) {\n return layer.getFields().some(function (f) {\n return f.name === attr.name;\n });\n }))\n } : undefined,\n relationsattributes: is_layer || is_vector || is_string ? [] : undefined,\n filter: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) ? layer.state.filter : {},\n selection: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) && layer.state.selection || is_vector && layer.selection || {},\n title: is_layer && layer.getTitle() || is_vector && layer.get('name') || is_string && name && (name.length > 4 ? name.slice(0, name.length - 4).join(' ') : layer) || undefined,\n atlas: _this2._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === id;\n }),\n rawdata: rawdata || null,\n error: error || '',\n toc: external || layer.state.toc //@since v3.10.0\n };\n });\n this.setLayersData(layers, options);\n },\n\n\n /**\n * Setter method called when adding layer and feature for response\n *\n * @param layers\n * @param options\n */\n setLayersData: function setLayersData() {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (false === options.add) {\n // sort layers as Catalog project layers.\n //external layer always on bottom\n layers.sort(function (a, b) {\n return a.external ? 0 : _this3._projectLayerIds.indexOf(a.id) > _this3._projectLayerIds.indexOf(b.id) ? 1 : -1;\n });\n }\n // get features from added pick layer in case of a new request query\n layers.forEach(function (l, index) {\n //@since 3.11.0 check if a result comes from pagination\n l.filter.pagination = l.filter.pagination || !!(_this3.state.query.pagination && _this3.state.query.pagination.counts[index] > l.features.length);\n options.add || options.update ? _this3.updateLayerResultFeatures(l, options.update) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add, update: options.update });\n this.state.changed = true;\n },\n\n\n /**\n * Add custom component in query result\n *\n * @param component\n */\n addComponent: function addComponent(component) {\n this.state.components.push(component);\n },\n\n\n /**\n * @FIXME add description\n *\n * @param actions\n * @param layers\n */\n addActionsForLayers: function addActionsForLayers(actions, layers) {},\n\n\n /**\n * @FIXME add description\n *\n * @param element\n */\n postRender: function postRender(element) {},\n\n\n /**\n * @FIXME add description\n */\n closeComponent: function closeComponent() {},\n\n\n /**\n * Called when layer result features is changed\n *\n * @param layer\n */\n changeLayerResult: function changeLayerResult(layer) {\n var _this4 = this;\n\n this.state.layersactions[layer.id].forEach(function (action) {\n return action.change && action.change(layer);\n }); // call if present change method to action\n // reset layer current actions tools\n (layer.features || []).forEach(function (_, idx) {\n var tool = _this4.state.currentactiontools[layer.id];\n if (undefined === tool) {\n return;\n }\n if (undefined === tool[idx]) {\n Vue.set(tool, idx, null);\n }\n tool[idx] = null;\n });\n },\n\n\n /**\n * @FIXME add description\n */\n activeMapInteraction: function activeMapInteraction() {},\n\n\n /**\n * Setter method related to relation table\n */\n editFeature: function editFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n feature = _ref2.feature;\n },\n\n\n /**\n * Setter method called when opening/closing feature info data content.\n *\n * @param opts.open\n * @param opts.layer\n * @param opts.feature\n * @param opts.container\n */\n openCloseFeatureResult: function openCloseFeatureResult() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n open = _ref3.open,\n layer = _ref3.layer,\n feature = _ref3.feature,\n container = _ref3.container;\n },\n\n\n /**\n * Remove a feature from current layer result\n *\n * @param layer\n * @param feature\n * \n * @since 3.9.0\n */\n removeFeatureLayerFromResult: function removeFeatureLayerFromResult(layer, feature) {\n this.updateLayerResultFeatures({ id: layer.id, external: layer.external, features: [feature] });\n }\n };\n\n /**\n * @FIXME add description\n */\n _this.unlistenerlayeractionevents = [];\n\n /**\n * to store relations (key is referenceLayer of relation)\n */\n _this._relations = {};\n\n /**\n * @FIXME add description\n */\n _this._atlas = [];\n\n /**\n * @FIXME add description\n */\n _this.plotLayerIds = [];\n\n /**\n * Set reactive state\n */\n _this.state = {\n\n logged: undefined !== _application2.default.user.id,\n\n /**\n * @FIXME add description\n */\n components: [],\n\n /**\n * @FIXME add description\n */\n layers: [],\n\n /**\n * @FIXME add description\n */\n changed: false,\n\n /**\n * @FIXME add description\n */\n query: null,\n\n /**\n * 'ows' = default\n * 'api' = search\n */\n type: 'ows',\n\n /**\n * An action is an object that contains:\n *\n * ```\n * {\n * \"id\": (required) Unique action Id\n * \"download\": whether action is download or not\n * \"class\": (required) fontawsome classname to show icon\n * \"state\": need to be reactive. Used for example to toggled state of action icon\n * \"hint\": Tooltip text\n * \"init\": Method called when action is loaded\n * \"clear\": Method called before clear the service. Used for example to clear unwatch\n * \"change\": Method called when feature of layer is changed\n * \"cbk\": (required) Method called when action is cliccked\n * }\n * ```\n **/\n layersactions: {},\n\n /**\n * Add action tools (for features)\n */\n actiontools: {},\n\n /**\n * Current action tools contain component\n * of a specific action (eg. download)\n */\n currentactiontools: {},\n\n /**\n * Contains current action that expose vue component\n * (useful for comparing the id other action is\n * triggered and exposing the component)\n */\n currentactionfeaturelayer: {},\n\n /**\n * @FIXME add description\n */\n layeractiontool: {},\n\n /**\n * @FIXME add description\n */\n layersFeaturesBoxes: {},\n\n /**\n * Used to show a custom component for a layer\n */\n layerscustomcomponents: {}\n\n };\n\n /**\n * where are store vector layer add on runtime\n */\n _this._vectorLayers = [];\n\n /**\n * @FIXME add description\n */\n _this._addFeaturesLayerResultInteraction = {\n\n /**\n * Reference to current layer\n */\n id: null,\n\n /**\n * Interaction bind to layer,\n */\n interaction: null,\n\n /**\n * Add current toggled map control if toggled\n */\n mapcontrol: null,\n\n /**\n * Method that handles interaction when a mapcontrol is toggled\n */\n toggleeventhandler: null\n\n };\n\n /**\n * @FIXME add description\n */\n _this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n\n /**\n * Vector layer used by query result to show query\n * request as coordinates, bbox, polygon, etc ..\n *\n * @type {ol.layer.Vector}\n */\n _this.resultsQueryLayer = new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return new ol.style.Style('Point' === feat.getGeometry().getType() ? { text: new ol.style.Text({ fill: new ol.style.Stroke({ color: 'black' }), text: '\\uF3C5', font: '900 3em \"Font Awesome 5 Free\"', offsetY: -15 }) } : { stroke: new ol.style.Stroke({ color: 'black' }) });\n }\n });\n\n /**\n * Current project \n */\n _this._project = _application2.default.project;\n\n /**\n * Keep the right order for a query result based on TOC order layers\n */\n _this._projectLayerIds = function () {\n var layersId = [];\n var traverse = function traverse(tree) {\n (tree.nodes || [tree]).forEach(function (n) {\n if (n.id) {\n layersId.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n _this._project.state.layerstree.forEach(traverse);\n return layersId;\n }();\n\n /**\n * @FIXME add description\n */\n _this._setRelations(_this._project);\n\n /**\n * @FIXME add description\n */\n _this._atlas = _this._project.getPrint().filter(function (p) {\n return p.atlas;\n }) || [];\n\n /**\n * @FIXME add description\n */\n _gui2.default.onbefore('setContent', function (options) {\n if (100 === options.perc && _gui2.default.isMobile()) {\n _this._asyncFnc.zoomToLayerFeaturesExtent.async = true;\n _this._asyncFnc.highLightLayerFeatures.async = true;\n _this._asyncFnc.goToGeometry.async = true;\n }\n });\n\n return _this;\n }\n\n /**\n * @since 3.11.0\n * Load pagination data\n * @param index\n * @param page\n * @param page_size\n * @param query\n */\n\n\n _createClass(QueryResultsService, [{\n key: 'loadPaginationData',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (index, page, page_size, query) {\n var _this5 = this;\n\n //In the case of first autofilter request in pagination request, remove it from\n if (this.state.query.autofilter && this.state.query.pagination) {\n this.state.query.autofilter = false;\n this.state.query.pagination.getData.params.forEach(function (p) {\n return delete p.autofilter;\n });\n }\n if (page_size) {\n this.state.query.pagination.getData.params[index].page_size = page_size;\n this.state.query.pagination.pages[index] = Math.round(this.state.query.pagination.counts[index] / page_size);\n } //set page size\n //get config from getData object set by pagination method\n var _state$query$paginati = this.state.query.pagination.getData,\n _state$query$paginati2 = _state$query$paginati.layers,\n layers = _state$query$paginati2 === undefined ? [] : _state$query$paginati2,\n method = _state$query$paginati.method,\n params = _state$query$paginati.params;\n\n var layer = layers[index];\n //check if layer has filter\n var has_filtertoken = !!layer.getFilterToken();\n try {\n //get layer pagination data\n var data = yield layer[method](_extends({}, params[index], { page: page }));\n //set response data\n this.setQueryResponse(_extends({}, data, { query: query }), { add: false, update: true });\n //set the current page\n this.state.query.pagination.current[index] = page;\n //in the case of page size change\n var bool = layer.state.selection.active || has_filtertoken;\n //get selection action\n var action = this.state.layersactions[layer.getId()].find(function (_ref5) {\n var id = _ref5.id;\n return 'selection' === id;\n });\n this.state.layers[index].features.forEach(function (f, i) {\n if (bool && !f.selection.selected && layer.isGeoLayer() && f.geometry) {\n var fid = _this5._getFeatureId(f, _this5.state.layers[index].external);\n layer.addOlSelectionFeature({ id: fid, feature: f }).selected = true;\n layer.includeSelectionFid(fid, false);\n }\n f.selection.selected = bool;\n action.state.toggled[i] = bool;\n });\n layer.state.filter.active = bool;\n layer.state.selection.active = bool;\n\n this.state.layers[index].filter.pagination = this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n //in the case of layer with geometry, zoom to features\n if (this.state.layers[index].hasgeometry) {\n this.highLightLayerFeatures(this.state.layers[index]);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function loadPaginationData(_x7, _x8, _x9, _x10) {\n return _ref4.apply(this, arguments);\n }\n\n return loadPaginationData;\n }()\n\n /**\n * used by the following plugins: \"qplotly\"\n */\n\n }, {\n key: 'addLayersPlotIds',\n value: function addLayersPlotIds() {\n var layerIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.plotLayerIds = layerIds;\n }\n\n /**\n * used by the following plugins: \"br-service\"\n * \n * Register for plugin or other component of application to add\n * custom component on result for each layer feature or layer\n *\n * @param opts.id unique id identification\n * @param opts.layerId Layer id of layer\n * @param opts.component custom component\n * @param opts.type feature or layer\n * @param opts.position\n */\n\n }, {\n key: 'registerCustomComponent',\n value: function registerCustomComponent() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$id = _ref6.id,\n id = _ref6$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref6$id,\n layerId = _ref6.layerId,\n component = _ref6.component,\n _ref6$type = _ref6.type,\n type = _ref6$type === undefined ? 'feature' : _ref6$type,\n _ref6$position = _ref6.position,\n position = _ref6$position === undefined ? 'after' : _ref6$position;\n\n if (undefined === this.state.layerscustomcomponents[layerId]) {\n this.state.layerscustomcomponents[layerId] = {\n layer: { before: [], after: [] },\n feature: { before: [], after: [] }\n };\n }\n this.state.layerscustomcomponents[layerId][type][position].push({ id: id, component: component });\n return id;\n }\n\n /**\n * Loop over response features based on layer response and\n * check if features layer needs to be added or removed to\n * current `state.layers` results.\n *\n * @param responseLayer layer structure coming from request\n * @param replace @since 3.11.0 mean replace current state layer features\n *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this6 = this;\n\n var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }); // get layer from current `state.layers` showed on a result\n var responseFeatures = responseLayer.features || []; // extract features from responseLayer object\n var external = (this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }) || {}).external; // get id of external layer or not (`external` is a layer added by mapcontrol addexternlayer)\n var has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n if (has_features) {\n var features_ids = replace ? [] : layer.features.map(function (f) {\n return external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }); // get features id from current layer on a result\n //get action selection;\n var action = this.state.layersactions[layer.id].find(function (a) {\n return 'selection' === a.id;\n });\n if (replace) {\n layer.features.forEach(function (f) {\n return delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n });\n layer.features.splice(0);\n }\n responseFeatures.forEach(function (feat, index) {\n var feature_id = _this6._getFeatureId(feat, external);\n // If true, remove the feature because is already loaded\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n //@since 3.11.0\n if (action && feat.selection.selected) {\n (external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id)).excludeSelectionFid(feature_id, layer.filter.active);\n }\n //filter feature\n layer.features.splice(index, 1);\n delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, feat)];\n if (action) {\n delete action.state.toggled[index];\n //need to reset toggled state in reactive mode\n action.state.toggled = Vue.observable(layer.features.reduce(function (a, f, i) {\n a[i] = f.selection.selected;return a;\n }, {}));\n }\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (f) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n if (box) {\n setTimeout(function () {\n return box.collapsed = collapsed;\n }); // due to vue reactivity, wait a little bit before update layers\n }\n });\n }\n\n // no more features on layer → remove interaction pickcoordinate to get a result from a map\n if (layer && 0 === (layer.features || []).length) {\n // due to vue reactivity, wait a little bit before update layers\n setTimeout(function () {\n _this6.state.layers = _this6.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this6.clearHighlightGeometry(layer);\n _this6.removeAddFeaturesLayerResultInteraction(true);\n });\n }\n\n // highlight new feature\n if (1 === this.state.layers.length) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n\n this.changeLayerResult(layer);\n }\n\n /**\n * Generate a boxid identifier to query result html\n *\n * @param layer\n * @param feature\n * @param relation_index\n *\n * @returns {string}\n */\n\n }, {\n key: 'getBoxId',\n value: function getBoxId(layer, feature, relation_index) {\n return null !== relation_index && undefined !== relation_index ? layer.id + '_' + feature.id + '_' + relation_index : layer.id + '_' + feature.id;\n }\n\n /**\n * @FIXME add description\n *\n * @param layers\n * @param options\n */\n\n }, {\n key: 'setActionsForLayers',\n value: function setActionsForLayers(layers) {\n var _this7 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (options.add || options.update) {\n return;\n }\n\n // reset array\n this.unlistenerlayeractionevents = [];\n\n // loop results\n layers.forEach(function (layer) {\n var _state$layersactions$;\n\n var state = _this7.state;\n // eventually set layer action tool and need to be reactive\n _this7.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this7.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.layersactions[layer.id] = _this7.state.layersactions[layer.id] || [];\n\n var download_format = 1 === layer.downloads.length && (layer.downloads || []).at(0); // NB: format == layer.downloads[0]\n var relations = (_this7._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this7.plotLayerIds.find(function (id) {\n return id === r.referencingLayer;\n });\n }).filter(Boolean);\n\n if (download_format) {\n layer[download_format] = Vue.observable({ active: false });\n }\n\n // set actionstools configs\n if (layer.downloads.length > 1) {\n _this7.state.actiontools.downloadformats = _this7.state.actiontools.downloadformats || {};\n _this7.state.actiontools.downloadformats[layer.id] = {\n downloads: layer.downloads.map(function (format) {\n return {\n id: 'download_' + format + '_feature',\n download: true,\n format: format,\n class: _gui2.default.getFontClass(format),\n hint: 'sdk.tooltips.download_' + format,\n cbk: function cbk(layer, feature, action, index, html) {\n // un-toggle downloads action\n _this7.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this7.state.query.type) {\n var downloadsaction = _this7.state.layersactions[layer.id].find(function (a) {\n return 'downloads' === a.id;\n });\n downloadsaction.cbk(layer, feature, downloadsaction, index, html);\n }\n }\n };\n })\n };\n }\n\n (_state$layersactions$ = _this7.state.layersactions[layer.id]).push.apply(_state$layersactions$, _toConsumableArray([\n\n // zoom to geometry\n layer.hasgeometry && {\n id: 'gotogeometry',\n mouseover: true,\n class: _gui2.default.getFontClass('marker'),\n hint: 'sdk.mapcontrols.query.actions.zoom_to_feature.hint',\n cbk: (0, _throttle.throttle)(_this7.goToGeometry.bind(_this7))\n },\n\n // show relations (query)\n relations.length && {\n id: 'show-query-relations',\n class: _gui2.default.getFontClass('relation'),\n hint: 'sdk.mapcontrols.query.actions.relations.hint',\n cbk: function cbk(layer, feature, action) {\n _gui2.default.setCurrentContentOptions({ crumb: { text: true, title: layer.title } });\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n relations: action.relations,\n chartRelationIds: action.chartRelationIds,\n feature: feature,\n layer: layer\n })\n }),\n backonclose: true,\n title: 'info.list_of_relations',\n id: '__G3W_LIST_OF_RELATIONS_ID__',\n crumb: {\n title: 'info.list_of_relations',\n trigger: null\n },\n closable: false\n });\n },\n\n relations: relations,\n chartRelationIds: chartRelationIds\n },\n\n // show relations (plot)\n chartRelationIds.length && {\n id: 'show-plots-relations',\n opened: true,\n class: _gui2.default.getFontClass('chart'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n hint: 'sdk.mapcontrols.query.actions.relations_charts.hint',\n cbk: (0, _throttle.throttle)(function (layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.emit('show-chart', chartRelationIds, container, {\n relations: _this7._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this7.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this7._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n }).length && {\n id: 'printatlas',\n download: true,\n class: _gui2.default.getFontClass('print'),\n hint: 'sdk.tooltips.atlas',\n cbk: _this7.printAtlas.bind(_this7)\n },\n\n // download features (single)\n download_format && {\n id: 'download_' + download_format + '_feature',\n download: true,\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n class: _gui2.default.getFontClass('download'),\n hint: 'sdk.tooltips.download_' + download_format,\n cbk: function cbk(layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this7.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n }\n },\n\n // download features (multi)\n layer.downloads.length > 1 && {\n id: 'downloads',\n download: true,\n class: _gui2.default.getFontClass('download'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n toggleable: true,\n hint: 'Downloads',\n change: function change(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n\n features.forEach(function (_, i) {\n return undefined === _this8.state.toggled[i] ? _g3wEventbus.VM.$set(_this8.state.toggled, i, false) : _this8.state.toggled[i] = false;\n });\n },\n\n cbk: function cbk(layer, feature, action, index) {\n action.state.toggled[index] = !action.state.toggled[index];\n _this7.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature not in case of pagination @since 3.11.0\n ('__g3w_marker' === layer.id || !layer.external && 'wms' !== (layer.source || {}).type) && {\n id: 'removefeaturefromresult',\n mouseover: true,\n class: _gui2.default.getFontClass('minus-square'),\n style: { color: 'red' },\n // in case of pagination, disabled @since 3.11.0\n state: Vue.observable({ show: !state.query.pagination && !layer.filter.pagination }), //@since 3.11.0 show false in case of pagination\n hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this7.removeFeatureLayerFromResult.bind(_this7),\n /**\n * @since @3.11.0\n * Need to listen filter layer pagination change\n */\n init: function init() {\n var _this9 = this;\n\n this.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return _this9.state.show = !bool;\n });\n },\n\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n change: function change() {\n this.state.disabled = !state.query.pagination && !layer.filter.pagination;\n }\n },\n\n // select feature\n layer.toc && undefined !== layer.selection.active && {\n id: 'selection',\n class: _gui2.default.getFontClass('success'),\n hint: 'sdk.mapcontrols.query.actions.add_selection.hint',\n state: Vue.observable({\n toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}),\n // in case of pagination, show @since 3.11.0\n show: !state.query.pagination && !layer.filter.pagination\n }),\n // check feature selection\n init: function init() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref8.feature,\n index = _ref8.index,\n action = _ref8.action;\n\n if (layer.external && undefined !== layer.selection.active) {\n // external layer\n action.state.toggled[index] = feature.selection.selected;\n } else if (feature && undefined !== layer.selection.active) {\n // project layer\n var pLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var fid = _this7._getFeatureId(feature, layer.external);\n var is_selected_feature = feature ? pLayer.hasSelectionFid() : false;\n //force to add selection feature in case of no pagination and selection is due an autofilter search\n if (!_this7.state.query.pagination && pLayer.state.filter.active && !is_selected_feature) {\n is_selected_feature = true;\n pLayer.addOlSelectionFeature({ id: fid, feature: feature }).selected = true;\n pLayer.includeSelectionFid(fid, false);\n }\n feature.selection.selected = is_selected_feature;\n action.state.toggled[index] =\n //need to check if set active filter and no saved filter is set\n pLayer.state.filter.active && null == pLayer.state.filter.current ||\n //or if feature fid is in selected array\n is_selected_feature;\n action.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return action.state.show = !bool;\n });\n }\n },\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n\n /** @since 3.9.0 reactive `toggled` when adding new feature and then bind click on query result context (exclude existing features and add reactive array property) */\n change: function change(_ref9) {\n var _this10 = this;\n\n var features = _ref9.features;\n\n this.state.show = !state.query.pagination && !layer.filter.pagination;\n features.forEach(function (_, index) {\n return undefined === _this10.state.toggled[index] && _g3wEventbus.VM.$set(_this10.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this7.addToSelection.bind(_this7))\n },\n\n // permalink (click to copy)\n layer.hasgeometry && !layer.external && 'wms' !== (layer.source || {}).type && {\n id: 'link_zoom_to_fid',\n class: _gui2.default.getFontClass('share-alt'),\n hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint',\n hint_change: { hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change', duration: 1000 },\n cbk: function cbk(layer, feature, action) {\n var url = new URL(location.href);\n url.searchParams.set('zoom_to_fid', layer.id + '|' + feature.attributes[_g3wConstants.G3W_FID]);\n (0, _copyUrl.copyUrl)(url.toString());\n action.hint_changed = true;\n }\n },\n\n // edit\n layer.editable && false === layer.inediting && {\n id: 'editing',\n class: _gui2.default.getFontClass('pencil'),\n hint: 'sdk.tooltips.editing',\n cbk: function cbk(layer, feature) {\n return _this7.editFeature({ layer: layer, feature: feature });\n }\n }].filter(Boolean)));\n\n // In case of external layer don't listen to `selection` event\n if (layer.external && layer.toc && undefined !== layer.selection.active) {\n layer.features.forEach(function (f) {\n return f.selection = (layer.selection.features.find(function (s) {\n return f.id === s.getId();\n }) || { selection: { selected: false } }).selection;\n });\n } else if (!layer.external && layer.toc && undefined !== layer.selection.active) {\n var handler = function handler() {\n return layer.features.forEach(function (_, i) {\n return _this7.state.layersactions[layer.id].find(function (a) {\n return a.id === 'selection';\n }).state.toggled[i] = false;\n });\n };\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).on('unselectionall', handler);\n _this7.unlistenerlayeractionevents.push({ layer: (0, _getCatalogLayerById.getCatalogLayerById)(layer.id), event: 'unselectionall', handler: handler });\n }\n });\n\n this.addActionsForLayers(this.state.layersactions, this.state.layers);\n }\n\n /**\n * Get action referred to layer getting the action id\n *\n * @param opts.layer layer linked to action\n * @param opts.id action id\n * \n * @returns undefined when no action is found\n */\n\n }, {\n key: 'getActionLayerById',\n value: function getActionLayerById() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref10.layer,\n id = _ref10.id;\n\n if (this.state.layersactions[layer.id]) {\n return this.state.layersactions[layer.id].find(function (action) {\n return action.id === id;\n });\n }\n }\n\n /**\n * Set current layer action tool in feature\n *\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.index feature index\n * @param opts.action action\n * @param opts.component vue component\n */\n\n }, {\n key: 'setCurrentActionLayerFeatureTool',\n value: function setCurrentActionLayerFeatureTool() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n action = _ref11.action,\n index = _ref11.index,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component;\n\n var tools = this.state.currentactiontools[layer.id]; // get current action tools\n var feats = this.state.currentactionfeaturelayer[layer.id];\n feats[index] = component ? action : null;\n tools[index] = component; // set component\n\n // need to check if pass component and\n if (tools[index] && // if component is set\n action.id !== feats[index].id && // same action\n feats[index].toggleable // check if toggleable\n ) {\n feats[index].state.toggled[index] = false;\n }\n }\n\n /**\n * @TODO rename misleading method name: `addActionToolsLayer`\n * @param {Object } opts\n * @param opts.id action layer id\n * @param opts.layer layer\n * @param opts.config configuration object\n * @param opts.action (since 3.9.0) configuration object\n */\n\n }, {\n key: 'addCurrentActionToolsLayer',\n value: function addCurrentActionToolsLayer(_ref12) {\n var id = _ref12.id,\n layer = _ref12.layer,\n _ref12$config = _ref12.config,\n config = _ref12$config === undefined ? {} : _ref12$config,\n action = _ref12.action;\n\n if (!layer) {\n return;\n }\n this.state.actiontools[id] = _defineProperty({}, layer.id, config);\n if (action) {\n this.state.layersactions[layer.id] = this.state.layersactions[layer.id] || [];\n this.state.layersactions[layer.id].push(action);\n }\n }\n\n /**\n * @FIXME add description\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.component vue component\n * @param opts.config configuration Object\n */\n\n }, {\n key: 'setLayerActionTool',\n value: function setLayerActionTool() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref13.layer,\n _ref13$component = _ref13.component,\n component = _ref13$component === undefined ? null : _ref13$component,\n _ref13$config = _ref13.config,\n config = _ref13$config === undefined ? null : _ref13$config;\n\n this.state.layeractiontool[layer.id].component = component;\n this.state.layeractiontool[layer.id].config = config;\n }\n }, {\n key: 'clear',\n\n\n /**\n * Clear all\n */\n value: function clear() {\n this._asyncFnc.todo();\n // unlistener events actions\n this.unlistenerlayeractionevents.forEach(function (obj) {\n return obj.layer.off(obj.event, obj.handler);\n });\n this.unlistenerlayeractionevents = [];\n _gui2.default.getService('map').clearHighlightGeometry();\n this.resultsQueryLayer.getSource().clear();\n this.removeAddFeaturesLayerResultInteraction(true);\n this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n this.clearState();\n this.closeComponent();\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n }\n\n /**\n * Check if a one layer result\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isOneLayerResult',\n value: function isOneLayerResult() {\n return 1 === this.state.layers.length;\n }\n\n /**\n * @FIXME add description\n *\n * @param {boolean} toggle whether toggle mapcontrol\n */\n\n }, {\n key: 'removeAddFeaturesLayerResultInteraction',\n value: function removeAddFeaturesLayerResultInteraction(toggle) {\n var interaction = this._addFeaturesLayerResultInteraction;\n\n if (null !== interaction.toggleeventhandler) {\n _gui2.default.getService('map').off('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n\n // remove current interaction to get features from layer\n if (null !== interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // check if query map control is toggled and registered\n if (null !== interaction.mapcontrol) {\n interaction.mapcontrol.toggle(toggle);\n }\n\n // reset values\n Object.assign(interaction, {\n interaction: null,\n id: null,\n toggleeventhandler: null,\n mapcontrol: null\n });\n }\n\n /**\n * Adds feature to Features layer results\n *\n * @param layer\n */\n\n }, {\n key: 'addLayerFeaturesToResultsAction',\n value: function addLayerFeaturesToResultsAction(layer) {\n var _this11 = this;\n\n var interaction = this._addFeaturesLayerResultInteraction;\n\n var not_current = ![null, layer.id].includes(interaction.id);\n var new_layer = not_current && this.state.layers.find(function (l) {\n return l.id === interaction.id;\n });\n\n // disable previous layer\n if (not_current && new_layer) {\n new_layer.addfeaturesresults.active = false;\n }\n\n // remove previous interaction\n if (not_current && interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // set new layer\n interaction.id = layer.id;\n\n layer.addfeaturesresults.active = !layer.addfeaturesresults.active;\n\n if (false === layer.addfeaturesresults.active) {\n this.removeAddFeaturesLayerResultInteraction(true);\n } else {\n\n this.activeMapInteraction(); // useful to send an event\n\n var external_layer = (this.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external;\n\n interaction.mapcontrol = interaction.mapcontrol || _gui2.default.getService('map').getCurrentToggledMapControl() || null; //need to be set null when this.mapService.getCurrentToggledMapControl() is undefined\n interaction.interaction = new _pickcoordinatesinteraction2.default();\n\n _gui2.default.getService('map').addInteraction(interaction.interaction, { close: false });\n\n interaction.interaction.on('picked', function () {\n var _ref15 = _asyncToGenerator(function* (_ref14) {\n var coordinates = _ref14.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this11.setQueryResponse({\n data: [_this11.getVectorLayerFeaturesFromQueryRequest(_this11._vectorLayers.find(function (v) {\n return layer.id === v.get('id');\n }), { coordinates: coordinates })],\n query: { coordinates: coordinates }\n }, { add: true });\n } else {\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n query_point_tolerance: _this11._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x19) {\n return _ref15.apply(this, arguments);\n };\n }());\n\n interaction.toggleeventhandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n layer.addfeaturesresults.active = false;\n }\n };\n\n _gui2.default.getService('map').once('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n }\n\n /**\n * used by the following plugins: \"bforest\"\n */\n\n }, {\n key: 'deactiveQueryInteractions',\n value: function deactiveQueryInteractions() {\n this.state.layers.forEach(function (l) {\n if (l.addfeaturesresults) {\n l.addfeaturesresults.active = false;\n }\n });\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'zoomToLayerFeaturesExtent',\n value: function zoomToLayerFeaturesExtent(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.highlight = !this.isOneLayerResult();\n if (this._asyncFnc.zoomToLayerFeaturesExtent.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').zoomToFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').zoomToFeatures(layer.features || [], options);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'highLightLayerFeatures',\n value: function highLightLayerFeatures(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this._asyncFnc.highLightLayerFeatures.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').highlightFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').highlightFeatures(layer.features || [], options);\n }\n }\n\n /**\n * Reset internal state\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.layers.splice(0);\n this.state.query = null;\n this.state.querytitle = \"\";\n this.state.changed = false;\n // clear actions\n Object.values(this.state.layersactions).forEach(function (l) {\n return l.forEach(function (a) {\n return a.clear && a.clear();\n });\n });\n this.state.layersactions = {};\n this.state.actiontools = {};\n this.state.layeractiontool = {};\n this.state.currentactiontools = {};\n this.state.layersFeaturesBoxes = {};\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @FIXME add description\n *\n * @param state\n */\n\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state = state;\n }\n\n /**\n * @FIXME add description\n *\n * @param project\n */\n\n }, {\n key: '_setRelations',\n value: function _setRelations(project) {\n this._relations = (project.getRelations() || []).reduce(function (group, r) {\n group[r.referencedLayer] = group[r.referencedLayer] || [];\n group[r.referencedLayer].push(r);\n return group;\n }, {});\n }\n\n /**\n * @FIXME add description\n *\n * @param querytitle\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(querytitle) {\n this.state.querytitle = querytitle || \"\";\n }\n\n /**\n * @FIXME add description\n *\n * @param actionId\n * @param layer\n * @param feature\n * @param index\n * @param container\n */\n\n }, {\n key: 'trigger',\n value: function () {\n var _ref16 = _asyncToGenerator(function* (actionId, layer, feature, index, container) {\n if ('highlightgeometry' === actionId) {\n this.highlightGeometry(layer, feature, index);\n }\n if ('clearHighlightGeometry' === actionId) {\n this.clearHighlightGeometry(layer, feature, index);\n }\n if (layer && this.state.layersactions[layer.id]) {\n var action = this.state.layersactions[layer.id].find(function (layerAction) {\n return layerAction.id === actionId;\n });\n if (action && action.cbk) {\n yield action.cbk(layer, feature, action, index, container);\n }\n if (action && action.route) {\n var url = action.route.replace(/{(\\w*)}/g, function (m, key) {\n return feature.attributes.hasOwnProperty(key) ? feature.attributes[key] : \"\";\n });\n if (url && '' !== url) {\n _gui2.default.goto(url);\n }\n }\n }\n });\n\n function trigger(_x22, _x23, _x24, _x25, _x26) {\n return _ref16.apply(this, arguments);\n }\n\n return trigger;\n }()\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'registerVectorLayer',\n value: function registerVectorLayer(vectorLayer) {\n if (!this._vectorLayers.includes(vectorLayer)) {\n this._vectorLayers.push(vectorLayer);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'unregisterVectorLayer',\n value: function unregisterVectorLayer(vectorLayer) {\n var _this12 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this12.state.layers = _this12.state.layers.filter(function (l) {\n return l.id !== vectorLayer.get('id');\n });\n return vl !== vectorLayer;\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n * @param query\n *\n * @returns {Object|Boolean}\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromQueryRequest',\n value: function getVectorLayerFeaturesFromQueryRequest(vectorLayer) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var coordinates = query.coordinates,\n bbox = query.bbox,\n geometry = query.geometry,\n _query$filterConfig = query.filterConfig,\n filterConfig = _query$filterConfig === undefined ? {} : _query$filterConfig; // extract information about a query type\n\n var features = [];\n\n var has_coords = coordinates && Array.isArray(coordinates);\n var has_bbox = bbox && Array.isArray(bbox);\n\n // case query coordinates\n if (has_coords) {\n _gui2.default.getService('map').viewer.map.forEachFeatureAtPixel(_gui2.default.getService('map').viewer.map.getPixelFromCoordinate(coordinates), function (f) {\n features.push(f);\n }, { layerFilter: function layerFilter(l) {\n return l === vectorLayer;\n } });\n }\n\n // case query bbox\n if (has_bbox && !has_coords) {\n //set geometry has Polygon\n geometry = ol.geom.Polygon.fromExtent(bbox);\n }\n\n var is_poly = geometry instanceof ol.geom.Polygon || geometry instanceof ol.geom.MultiPolygon;\n\n // check query geometry (Polygon or MultiPolygon)\n if (is_poly && !has_coords && _vectorlayer.VectorLayer === vectorLayer.constructor) {\n features = vectorLayer.getIntersectedFeatures(geometry);\n } else if (is_poly && !has_coords && ol.layer.Vector === vectorLayer.constructor) {\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n var add = void 0;\n switch (filterConfig.spatialMethod) {\n case 'intersects':\n add = (0, _intersects.intersects)(geometry, f.getGeometry());break;\n case 'within':\n add = (0, _within.within)(geometry, f.getGeometry());break;\n default:\n add = geometry.intersectsExtent(f.getGeometry().getExtent());break;\n }\n if (true === add) {\n features.push(f);\n }\n });\n }\n\n return {\n features: features,\n layer: vectorLayer\n };\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: '_printSingleAtlas',\n value: function _printSingleAtlas() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$atlas = _ref17.atlas,\n atlas = _ref17$atlas === undefined ? {} : _ref17$atlas,\n _ref17$features = _ref17.features,\n features = _ref17$features === undefined ? [] : _ref17$features;\n\n var field = atlas.atlas && atlas.atlas.field_name ? atlas.atlas.field_name : '$id';\n return (0, _printAtlas.printAtlas)({\n field: field,\n values: features.map(function (feat) {\n return feat.attributes['$id' === field ? _g3wConstants.G3W_FID : field];\n }),\n template: atlas.name,\n download: true\n }).then(function (_ref18) {\n var url = _ref18.url;\n return _gui2.default.downloadWrapper(_downloadFile.downloadFile, { url: url, filename: atlas.name, mime_type: 'application/pdf' });\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param ids\n * @param container\n * @param relationData\n */\n\n }, {\n key: 'showChart',\n value: function showChart(ids, container, relationData) {\n this.emit('show-chart', ids, container, relationData);\n }\n\n /**\n * @FIXME add description\n * \n * @param container DOM element\n */\n\n }, {\n key: 'hideChart',\n value: function hideChart(container) {\n this.emit('hide-chart', container);\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'printAtlas',\n value: function printAtlas(layer, feature) {\n var _this13 = this;\n\n var features = feature ? [feature] : layer.features;\n var atlasLayer = this._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n });\n\n /** @FIXME add description */\n if (atlasLayer.length <= 1) {\n this._printSingleAtlas({ features: features, atlas: atlasLayer[0] });\n return;\n }\n\n var inputs = '';\n\n atlasLayer.forEach(function (atlas, index) {\n var id = (0, _getUniqueDomId.getUniqueDomId)();\n inputs += '';\n inputs += '';\n inputs += '
';\n });\n\n _gui2.default.showModalDialog({\n title: t('sdk.atlas.template_dialog.title'),\n message: inputs,\n buttons: {\n success: {\n label: \"OK\",\n className: \"skin-button\",\n callback: function callback() {\n var index = $('input[name=\"template\"]:checked').attr('g3w_atlas_index');\n if (undefined === index) {\n return false; // prevent default\n }\n _this13._printSingleAtlas({ features: features, atlas: atlasLayer[index] });\n }\n }\n }\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'showLayerDownloadFormats',\n value: function showLayerDownloadFormats(layer) {\n layer.downloadformats.active = !layer.downloadformats.active;\n this.setLayerActionTool({\n layer: layer,\n component: layer.downloadformats.active ? _QueryResultsActionDownloadFormats2.default : null,\n config: layer.downloadformats.active ? _extends({}, this.state.actiontools.downloadformats[layer.id], {\n //for download layer need to filter pdf format because it works only for a single feature\n downloads: this.state.actiontools.downloadformats[layer.id].downloads.filter(function (d) {\n return 'pdf' !== d.format;\n })\n }) : null\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param type\n * @param layer\n * @param features\n * @param action\n * @param index\n * @param html\n */\n\n }, {\n key: 'downloadFeatures',\n value: function () {\n var _ref19 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this14 = this;\n\n var index = arguments[4];\n var html = arguments[5];\n\n\n if (features && !Array.isArray(features)) {\n features = [features];\n }\n\n var _state$query = this.state.query,\n query = _state$query === undefined ? {} : _state$query;\n\n var data = {\n fids: features.map(function (f) {\n return f.attributes[_g3wConstants.G3W_FID];\n }).join(',')\n };\n\n //In the case of pdf type need to add html element\n if ('pdf' === type) {\n data.html = html;\n }\n\n /**\n * A function that che be called in case of querybypolygon\n *\n * @param active\n */\n var runDownload = function () {\n var _ref20 = _asyncToGenerator(function* () {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\n if (features.length > 1) {\n layer.downloadformats.active = active;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref21.layer,\n type = _ref21.type,\n data = _ref21.data;\n\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).getDownloadFilefromDownloadDataType(type, { data: data }) || Promise.resolve();\n }, {\n layer: layer,\n type: type,\n data: data\n });\n\n var downloadsactions = _this14.state.layersactions[layer.id].find(function (action) {\n return 'downloads' === action.id;\n });\n\n /** @FIXME add description */\n if (features.length > 1 && undefined === downloadsactions) {\n layer[type].active = false;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n /** @FIXME add description */\n if (features.length > 1 && undefined !== downloadsactions) {\n layer.downloadformats.active = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined === downloadsactions) {\n action.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined !== downloadsactions) {\n downloadsactions.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1) {\n _this14.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref20.apply(this, arguments);\n };\n }();\n\n /** @FIXME add description */\n if ('polygon' !== query.type) {\n yield runDownload();\n return;\n }\n\n // check if multi-download if present\n var downloadsactions = this.state.layersactions[layer.id].find(function (action) {\n return action.id === 'downloads';\n });\n\n var config = {\n choices: [{\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'feature',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature.label'\n }, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'polygon',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label'\n }],\n // choose between only feature attribute or also polygon attribute\n download: function download(type) {\n if ('polygon' === type) {\n // id type polygon add parameters to api download\n data.sbp_qgs_layer_id = layer.id;\n data.sbp_fid = query.fid;\n } else {\n // force to remove\n delete data.sbp_fid;\n delete data.sbp_qgs_layer_id;\n }\n runDownload(true);\n }\n };\n\n /** @FIXME add description */\n if (1 === features.length && undefined === downloadsactions) {\n action.state.toggled[index] = true;\n }\n\n /** @FIXME add description */\n if (1 === features.length) {\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name] = this.state.actiontools[layer.id] || {};\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name][layer.id] = config;\n this.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: _QueryResultsActionQueryPolygonCSVAttributes2.default\n });\n }\n\n /** @FIXME add description */\n if (undefined === downloadsactions && 1 !== features.length) {\n layer[type].active = !layer[type].active;\n }\n\n /** @FIXME add description */\n if (1 !== features.length) {\n var has_config = downloadsactions || layer[type].active && undefined === downloadsactions;\n this.setLayerActionTool({\n layer: layer,\n component: has_config ? _QueryResultsActionQueryPolygonCSVAttributes2.default : null,\n config: has_config ? config : null\n });\n }\n });\n\n function downloadFeatures(_x30, _x31) {\n return _ref19.apply(this, arguments);\n }\n\n return downloadFeatures;\n }()\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'goToGeometry',\n value: function goToGeometry(layer, feature) {\n var _this15 = this;\n\n if (!feature.geometry) {\n return;\n }\n if (this._asyncFnc.goToGeometry.async) {\n this._asyncFnc.todo = _gui2.default.getService('map')[this.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'].bind(_gui2.default.getService('map'), this.isOneLayerResult() ? [feature] : feature.geometry, this.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n } else {\n setTimeout(function () {\n return _gui2.default.getService('map')[_this15.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this15.isOneLayerResult() ? [feature] : feature.geometry, _this15.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'highlightGeometry',\n value: function highlightGeometry(layer, feature) {\n if (feature.geometry) {\n _gui2.default.getService('map').highlightGeometry(feature.geometry, { layerId: layer.id, zoom: false, duration: Infinity });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry(layer) {\n _gui2.default.getService('map').clearHighlightGeometry();\n if (!this.state.query.pagination && this.isOneLayerResult()) {\n _gui2.default.getService('map').highlightFeatures(layer.features, { duration: Infinity });\n }\n }\n\n /**\n * Handle show Relation on result\n * @param { Object } opts\n * @param opts.relation\n * @param opts.layerId current layer father id\n * @param opts.feature current feature father id\n */\n\n }, {\n key: 'showRelation',\n value: function showRelation() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref22.relation,\n layerId = _ref22.layerId,\n feature = _ref22.feature;\n\n var projectRelation = this._project.getRelationById(relation.name);\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n currentview: 'relation',\n relations: [projectRelation],\n chartRelationIds: this.plotLayerIds.find(function (pid) {\n return pid == projectRelation.referencingLayer;\n }) ? [projectRelation.referencingLayer] : [],\n nmRelation: this._project.getRelationById(relation.nmRelationId),\n layer: { id: layerId },\n feature: feature\n })\n }),\n crumb: {\n title: projectRelation.name,\n text: true\n },\n title: projectRelation.name,\n text: true,\n closable: false\n });\n }\n }, {\n key: '_getFeatureId',\n\n\n /**\n * Get id of the feature\n *\n * @since 3.9.0\n */\n value: function _getFeatureId(feature, external) {\n return external ? feature.id : feature.attributes[_g3wConstants.G3W_FID];\n }\n\n /**\n * @TODO make it simpler..\n * @TODO make it a Layers class function ? \n * \n * Add / Remove features from selection\n * \n * ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@3.8.12::addToSelection\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'addToSelection',\n value: function addToSelection(layer, feature, action, index) {\n\n var service = _gui2.default.getService('queryresults');\n var map = _gui2.default.getService('map');\n\n // TODO: avoid referencing this private stuff\n var getFeatureId = service._getFeatureId.bind(service);\n var getActionLayerById = service.getActionLayerById.bind(service);\n\n //is true when click on the selection icon on top of each layer result\n var layerSelection = undefined === feature && undefined === action && undefined === index;\n\n var _action = layerSelection ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = layerSelection && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = layerSelection ? layer.external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id) : (service.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external || false ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var features = layerSelection ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = layerSelection ? {\n fids: features.length > 0 ? features.map(function (f) {\n return _layer.external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }) : null,\n features: features,\n force: toggled ? 'remove' : 'add'\n } : {\n fids: [feature ? getFeatureId(feature, _layer.external) : null],\n features: features,\n index: index,\n force: undefined\n };\n\n //in case, switch selection for all features of a layer\n if (layerSelection) {\n layer.features.forEach(function (f, i) {\n _action.state.toggled[i] = !toggled;\n f.selection.selected = _action.state.toggled[i];\n });\n } else {\n //in the case of switch selection on single feature layer\n _action.state.toggled[index] = !_action.state.toggled[index];\n feature.selection.selected = _action.state.toggled[index];\n }\n\n //In case of pagination and toggled selection layer\n if (toggled && layerSelection) {\n _layer.clearSelectionFids();\n return;\n }\n\n /**\n * PROJECT LAYER\n */\n if (!layer.external && ![null, undefined].includes(params.fids)) {\n var _layer2 = _layer;\n var fids = params.fids,\n _features = params.features,\n force = params.force;\n\n\n fids = Array.isArray(fids) ? fids : [fids];\n _features = Array.isArray(_features) ? _features : [_features];\n\n var include = []; // fid of features to include\n var exclude = []; // fid of features to exclude\n\n fids.forEach(function (fid, idx) {\n var feature = _features[idx];\n var is_selected = _layer2.state.filter.active || _layer2.hasSelectionFid(fid);\n\n // if not already selected and feature is not added to OL selection layer on map --> add as feature of selected layer\n if (!is_selected && feature && feature.geometry && !_layer2.getOlSelectionFeature(fid)) {\n _layer2.addOlSelectionFeature({ id: fid, feature: feature });\n }\n\n // force action\n if (undefined === force) {\n _layer2[is_selected ? 'excludeSelectionFid' : 'includeSelectionFid'](fid);\n }\n\n // force add\n if ('add' === force && !is_selected) {\n include.push(fid);\n }\n\n // force remove\n if ('remove' === force) {\n exclude.push(fid);\n }\n });\n\n _layer2.includeSelectionFids(include, false);\n _layer2.excludeSelectionFids(exclude, false);\n\n (_layer2.state.filter.active ? _layer2.createFilterToken() : Promise.resolve()).then(function () {\n var _GUI$getService$getSt = _gui2.default.getService('queryresults').getState(),\n layers = _GUI$getService$getSt.layers;\n\n /** @TODO add description */\n\n\n fids.forEach(function (fid, idx) {\n var currentLayer = !_layer2.hasSelectionFid(fid) && _layer2.state.filter.active && _layer2.getSelectionFids().size > 0 && layers.find(function (l) {\n return l.id === _layer2.getId();\n });\n if (currentLayer) {\n currentLayer.features.splice(undefined === index ? idx : index, 1);\n }\n });\n\n map.clearHighlightGeometry();\n\n /** @TODO add description */\n if (1 === layers.length && !layers[0].features.length) {\n layers.splice(0);\n }\n });\n }\n\n /**\n * EXTERNAL LAYER\n */\n if (layer.external && ![null, undefined].includes(params.fids)) {\n\n var _layer3 = _layer;\n var _fids = params.fids,\n _features2 = params.features,\n _force = params.force;\n\n //Take in an account array or single fid\n\n _features2 = Array.isArray(_features2) ? _features2 : [_features2];\n\n //check if layer.selection.features is undefined\n if (undefined === _layer3.selection.features) {\n //set array\n _layer3.selection.features = [];\n }\n\n _fids.forEach(function (fid, i) {\n var feature = _features2[i];\n\n // Set feature used in selection tool action\n if (undefined === _layer3.selection.features.find(function (f) {\n return f.getId() === fid;\n })) {\n // create ol feature from an object\n var feat = feature;\n var attributes = feature.attributes;\n\n if (feature.geometry) {\n feat = new ol.Feature(feature.geometry);\n feat.setId(fid);\n }\n Object.keys(attributes).forEach(function (attr) {\n return feat.set(attr, attributes[attr]);\n });\n feat.__layerId = _layer3.id;\n feat.selection = feature.selection;\n _layer3.selection.features.push(feat);\n }\n\n //check if feature is already select or feature is already removed (no selected)\n /** If not, changes to apply return */\n if ('add' === _force && feature.selection.selected || 'remove' === _force && !feature.selection.selected) {\n return;\n }\n\n /** Need to add selection on map */\n map.setSelectionFeatures(feature.selection.selected ? 'add' : 'remove', {\n feature: _layer3.selection.features.find(function (selectionFeature) {\n return fid === selectionFeature.getId();\n })\n });\n });\n\n // Set selection layer active based on features selection selected properties.\n _layer3.selection.active = _layer3.selection.features.reduce(function (acc, feature) {\n return acc || feature.selection.selected;\n }, false);\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":95,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":97,\"components/RelationsPage.vue\":104,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"g3w-object\":130,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/copyUrl\":190,\"utils/downloadFile\":200,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/intersects\":221,\"utils/printAtlas\":231,\"utils/throttle\":241,\"utils/within\":244}],177:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file\n * @since v3.6\n */\n\n\nvar _XHR = require('utils/XHR');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SERVER\n * \"\"\"Returns the (possibly) new layer ID where the isochrone\n data has been added. If the task has not yet completed, a status message is returned\n\n Note: `project_id` is only used for permissions checking!\n\n Returns 500 in case of exception\n Returns 404 in case of a task didn't find\n Returns 200 ok for all other cases\n\n Response body:\n\n {\n \"status\": \"complete\", // or \"pending\" or \"error\", full list at\n // https://huey.readthedocs.io/en/latest/signals.html#signals\n \"exception\": \"Normally empty, error message in case of errors\",\n \"progress\": [\n 100, // Progress %\n ],\n \"task_result\": {\n \"qgis_ayer_id\": \"4f2a88a1-ca93-4859-9de3-75d9728cde0e\"\n }\n }\n\n **/\n\n/**\n * Singletone service to run async task\n */\nexports.default = new (function () {\n function TaskService() {\n _classCallCheck(this, TaskService);\n\n /**\n * Array contains all task id that are running. Each item is an object contain:\n * {\n * taskId: //taskId,\n * intervalId: interval to clear clearInterval()\n * }\n **/\n this.tasks = [];\n }\n\n /**\n *\n * @param opts: {\n * method: http method to run task GET/POST\n * url: api request url (that server start in background task)\n * taskUrl = url to ask the status og task\n * params: Object contain param to http/https request\n * interval: interval in milliseconds to do a request for ask status of task (default 10000 - 1 second)\n * listener: ()=>{} method to call\n *\n * }\n *\n * return a Promise that return a task id\n */\n\n\n _createClass(TaskService, [{\n key: 'runTask',\n value: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$method = opts.method,\n method = _opts$method === undefined ? 'GET' : _opts$method,\n _opts$params = opts.params,\n params = _opts$params === undefined ? {} : _opts$params,\n url = opts.url,\n taskUrl = opts.taskUrl,\n _opts$interval = opts.interval,\n interval = _opts$interval === undefined ? 1000 : _opts$interval,\n _opts$timeout = opts.timeout,\n timeout = _opts$timeout === undefined ? Infinity : _opts$timeout,\n _opts$listener = opts.listener,\n listener = _opts$listener === undefined ? function () {} : _opts$listener;\n\n try {\n var response = 'GET' === method ? yield _XHR.XHR.get({\n url: url,\n params: params\n }) : yield _XHR.XHR.post({\n url: url,\n data: params.data || {},\n contentType: params.contentType || \"application/json\"\n });\n var result = response.result,\n task_id = response.task_id;\n\n if (result) {\n var intervalId = setInterval(_asyncToGenerator(function* () {\n // check if timeout is defined\n timeout = timeout - interval;\n if (timeout > 0) {\n var _response = void 0;\n try {\n _response = yield _XHR.XHR.get({\n url: '' + taskUrl + task_id\n });\n } catch (e) {\n _response = e;\n console.warn(e);\n }\n listener({\n task_id: task_id,\n timeout: false,\n response: _response\n });\n } else {\n listener({\n timeout: true\n });\n _this.stopTask({\n task_id: task_id\n });\n }\n }), interval);\n\n // add current task to list of task\n this.tasks.push({\n task_id: task_id,\n intervalId: intervalId\n });\n\n // run first time listener function\n listener({\n task_id: task_id,\n response: response\n });\n } else {\n return Promise.reject(response);\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function runTask() {\n return _ref.apply(this, arguments);\n }\n\n return runTask;\n }()\n }, {\n key: 'stopTask',\n\n\n /**\n *\n * @param opts: {\n * taskId: taskId that is running\n * }\n */\n value: function stopTask() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var task = this.tasks.find(function (t) {\n return opts.task_id === t.task_id;\n });\n if (task) {\n clearInterval(task.intervalId);\n }\n }\n }, {\n key: 'clear',\n\n\n /**\n * clare all task\n */\n value: function clear() {\n var _this2 = this;\n\n this.tasks.forEach(function (_ref3) {\n var taskId = _ref3.taskId;\n return _this2.stopTask({ taskId: taskId });\n });\n //reset to empty tasks\n this.tasks.splice(0);\n }\n }]);\n\n return TaskService;\n}())();\n\n},{\"utils/XHR\":181}],178:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * State of application reactive\n * @type {object}\n */\nvar STATE = Vue.observable({\n\n /**\n * true = application is ready\n */\n ready: false,\n\n /**\n * true = application is loaded inside an iframe\n */\n iframe: window.top !== window.self,\n\n /**\n * true = application is connected\n */\n online: navigator.onLine,\n\n /**\n * true = application is loaded on a mobile device\n */\n ismobile: isMobile.any,\n\n /**\n * true = there is a pending download \n */\n download: false,\n\n /**\n * true = there is a pending upload\n */\n upload: false,\n\n /**\n * Store current map base layer id\n */\n baseLayerId: null,\n\n /**\n * en = default language\n */\n language: 'en',\n\n /**\n * @deprecated Since v3.8. Will be deleted in v4.x. Use ApplicationState.language instead\n */\n lng: 'en',\n\n /**\n * Store Array of loading plugins (by name)\n * Every time a plugin is loaded, plugin name is removed from Array\n * It used in v-plugins directive\n */\n plugins: [],\n\n /** @since 3.11.0 - plugin configs filtered by gid */\n pluginsConfigs: {},\n\n /** @since 3.11.0 - array of initConfig.plugins names */\n configurationPlugins: [],\n\n /**\n * Store application current user\n */\n user: null,\n\n /**\n * Store info of the application map\n */\n map: {\n epsg: '',\n unit: 'metric'\n },\n\n /**\n * Store info of the elements of GUI of the application\n */\n gui: {\n\n app: {\n /**\n * true = application is disabled and unclickable (waiting)\n */\n disabled: false\n },\n\n sidebar: {\n /**\n * true = sidebar is disabled (not responsive)\n */\n disabled: false,\n /**\n * @since v3.11.0\n * true open, false hide - icons only\n */\n open: true\n },\n\n layout: {\n /**\n * store the current layout owner (\"app\" = default)\n */\n __current: 'app',\n\n /**\n * Store application layout info (rightpanel)\n */\n app: {}\n\n }\n\n },\n\n /**\n * Sore vendor keys need it by application third part script\n */\n keys: {\n vendorkeys: {\n google: undefined,\n bing: undefined\n }\n },\n\n /**\n * Store tokens, used by server, for example, to filter features\n */\n tokens: {\n filtertoken: undefined\n },\n\n /**\n * @since 3.10.0\n */\n querybuilder: {\n cache: {},\n searches: JSON.parse(window.localStorage.getItem('QUERYBUILDERSEARCHES') || \"{}\")\n },\n\n /**\n * @since 3.11.0\n */\n navbaritems: [],\n\n /**\n * @since 3.11.0\n */\n sidebar: {\n title: '',\n components: [],\n /** DOM element where insert the component/panel */\n parent: null,\n /** barstack state. It stores the panel array */\n contentsdata: [] // Array<{ content, options }> \n },\n\n contentsdata: [],\n\n /**\n * @since 3.11.0\n */\n viewport: {\n primaryView: 'map', // primary view (default)\n // percentage of secondary view\n secondaryPerc: 0, // setted to 0 at beginning (not visible)\n // used to store if content vertical or horizontal is changed by resised\n resized: {\n start: false,\n 'h': false,\n 'v': false\n },\n // splitting orientation (h = horizontal, v = vertical)\n split: 'h',\n //map\n map: {\n sizes: {\n width: 0,\n height: 0\n },\n aside: false\n },\n //content\n content: {\n loading: false,\n disabled: false,\n sizes: {\n width: 0,\n height: 0\n },\n // store the resize vertical or horizontal\n resize: {\n 'h': { perc: 0 },\n 'v': { perc: 0 }\n },\n aside: true,\n showgoback: true,\n stack: [], // array elements of stack contents\n closable: true, // (x) is closable\n backonclose: false, // back on prevoius content\n contentsdata: [] // content data array\n },\n usermessage: {\n id: null, // unique identify\n show: false,\n title: null,\n message: null,\n position: null,\n type: null,\n draggable: null,\n cloasable: null,\n autoclose: null,\n textMessage: false,\n hooks: {\n header: null,\n body: null,\n footer: null\n }\n },\n // content of viewport (map and content)\n components: {\n map: null,\n content: null\n }\n },\n\n sizes: {\n sidebar: {\n width: 0\n }\n },\n\n /** @since 3.11.0 */\n i18n: {\n plugins: {} // plugins configs\n },\n\n /** @since 3.11.0 */\n project: new _g3wObject2.default(),\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false\n\n}); /**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nexports.default = STATE;\n\n},{\"g3w-object\":130}],179:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nvar PLUGINS = {}; /**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nexports.default = Object.assign(new _g3wObject2.default(), { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin: function registerPlugin(plugin) {\n PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin;\n }\n },\n /** @returns Plugin instance */\n getPlugin: function getPlugin(name) {\n return PLUGINS[name];\n }\n});\n\n},{\"g3w-object\":130}],180:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n *\n * @since 3.11.0\n */\n\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projection.js@v3.10.1\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projections.js@v3.10.1\n */\nexports.default = {\n get: function get() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n var proj = {\n code: crs.epsg,\n extent: crs.extent,\n axisOrientation: crs.axisinverted ? 'neu' : 'enu',\n units: crs.geographic ? 'degrees' : 'm'\n };\n p = new ol.proj.Projection(proj);\n p.getAxisOrientation = function () {\n return proj.axisOrientation;\n };\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\n\n\n /**\n * Check and register epsg\n * \n * @param epsg : \"EPSG:\" Ex. \"EPSG:4326\"\n * \n * @returns { Promise }\n * \n * @since v3.8\n */\n registerProjection: function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n var p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n var _ref2 = yield (yield fetch('/crs/' + epsg.split(':')[1] + '/')).json(),\n result = _ref2.result,\n data = _ref2.data;\n\n if (result) {\n data.epsg = (0, _normalizeEpsg.normalizeEpsg)(data.epsg);\n p = this.get(data);\n ol.proj.proj4.register(proj4);\n return p;\n }\n }\n\n return p;\n });\n\n function registerProjection(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return registerProjection;\n }()\n};\n\n},{\"utils/normalizeEpsg\":228}],181:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.XHR = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _downloadFile = require('utils/downloadFile');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar XHR = exports.XHR = {\n\n /**\n *\n * @param url\n * @param params\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();) * @return {Promise}\n */\n get: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref2.url,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n signal = _ref2.signal;\n\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n var response = yield (yield fetch(url + (params ? '?' : '') + params, { signal: signal })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function get() {\n return _ref.apply(this, arguments);\n }\n\n return get;\n }(),\n\n\n /**\n *\n * @param url\n * @param data\n * @param formdata\n * @param contentType\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();)\n * @return {Promise}\n */\n post: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n data = _ref4.data,\n _ref4$formdata = _ref4.formdata,\n formdata = _ref4$formdata === undefined ? false : _ref4$formdata,\n contentType = _ref4.contentType,\n signal = _ref4.signal;\n\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n return formdata.append(key, value);\n });\n } else if (!contentType) {\n formdata = new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString();\n } else {\n formdata = 'string' === typeof data ? data : JSON.stringify(data || {});\n }\n\n var response = yield (yield fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal: signal\n })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function post() {\n return _ref3.apply(this, arguments);\n }\n\n return post;\n }(),\n fileDownload: function fileDownload() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref7.url,\n data = _ref7.data,\n _ref7$httpMethod = _ref7.httpMethod,\n httpMethod = _ref7$httpMethod === undefined ? \"POST\" : _ref7$httpMethod,\n signal = _ref7.signal;\n\n var timeout = void 0;\n return new Promise(function () {\n var _ref8 = _asyncToGenerator(function* (resolve, reject) {\n try {\n timeout = setTimeout(function () {\n reject('Timeout');\n }, _g3wConstants.TIMEOUT);\n\n (0, _downloadFile.downloadFile)({\n url: 'GET' === httpMethod ? '' + url + (data ? '?' + new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString() : '') : url,\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Expose-Headers': 'Content-Disposition' //need to get filename from server\n },\n method: httpMethod,\n data: data && JSON.stringify(data),\n signal: signal\n });\n return resolve();\n } catch (e) {\n return reject(e);\n } finally {\n clearTimeout(timeout);\n }\n });\n\n return function (_x4, _x5) {\n return _ref8.apply(this, arguments);\n };\n }());\n },\n\n\n /**\n * Delete request\n *\n * @param url\n * @param data\n * @param signal\n * \n * @returns {Promise}\n * \n * @since 3.10.0\n */\n delete: function () {\n var _ref10 = _asyncToGenerator(function* (_ref9) {\n var url = _ref9.url,\n _ref9$data = _ref9.data,\n data = _ref9$data === undefined ? {} : _ref9$data,\n signal = _ref9.signal;\n\n return (yield fetch(url, {\n method: 'DELETE',\n body: JSON.stringify(data),\n signal: signal\n })).json();\n });\n\n function _delete(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return _delete;\n }()\n};\n\n},{\"g3w-constants\":126,\"utils/downloadFile\":200}],182:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addZValueToOLFeatureGeometry = addZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\n/**\n * @since 3.10.0 Add a 3d coordinate eventually, if coordinates are 2 (x, y)\n * @param coords\n * @return {*}\n */\nfunction add3DCoordinate(coords) {\n if (2 === coords.length) {\n coords.push(0);\n }\n return coords;\n}\n\n/**\n * core/geometry/geometry::addZValueToOLFeatureGeometry@v3.4\n */\nfunction addZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n geometryType = _ref.geometryType;\n\n if (!(0, _is3DGeometry.is3DGeometry)(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n var geometry = feature.getGeometry();\n var coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n coords.forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(function (l) {\n return l.forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGOZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('invalid geometry type:', geometryType || geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126,\"utils/is3DGeometry\":222}],183:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * @param { Array } coordinates1\n * @param { Array } coordinates2\n * \n * @returns { boolean }\n */\nfunction areCoordinatesEqual() {\n var coordinates1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var coordinates2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return coordinates1[0] === coordinates2[0] && coordinates1[1] === coordinates2[1];\n}\n\n},{}],184:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.base = base;\n/**\n * google closure library implementation\n */\nfunction base(me, opt_methodName, var_args) {\n // who call base\n // noinspection JSAnnotator\n var caller = arguments.callee.caller;\n if (caller.superClass_) {\n // This function constructor (that inherits from superClass_).\n // Call the superclass constructor.\n //It is an easy way to cal superclass in binding to this\n return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1));\n }\n var args = Array.prototype.slice.call(arguments, 2);\n var foundCaller = false;\n //constructor is the constructor function of the object\n for (var ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) {\n if (ctor.prototype[opt_methodName] === caller) {\n foundCaller = true;\n } else if (foundCaller) {\n return ctor.prototype[opt_methodName].apply(me, args);\n }\n }\n // If we did not find the caller in the prototype chain,\n // then one of two things happened:\n // 1) The caller is an instance method.\n // 2) This method was not called by the right caller.\n if (me[opt_methodName] === caller) {\n // call the function from a prototype object\n return me.constructor.prototype[opt_methodName].apply(me, args);\n } else {\n throw Error('base called from a method of one name ' + 'to a method of a different name');\n }\n}\n\n},{}],185:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.colorHEXToRGB = colorHEXToRGB;\n/**\n * Convert Hex value color to RGB array\n * \n * @param color\n * \n * @returns {number[]}\n */\nfunction colorHEXToRGB() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#FFFFFF';\n\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16)];\n}\n\n},{}],186:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertFeatureToGEOJSON = convertFeatureToGEOJSON;\n/**\n * Convert Feature to GeoJSON Format\n * \n * @param feature\n */\nfunction convertFeatureToGEOJSON(feature) {\n return new ol.format.GeoJSON().writeFeatureObject(feature);\n}\n\n},{}],187:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertQGISDateTimeFormatToMoment = convertQGISDateTimeFormatToMoment;\n/**\n * Covert datetime format from Qgis format to Moment\n * \n * @param datetimeformat\n * \n * @returns {*}\n */\nfunction convertQGISDateTimeFormatToMoment(datetimeformat) {\n datetimeformat = datetimeformat.replace(/y/g, 'Y');\n var matchDayInDate = datetimeformat.match(/d/g);\n if (matchDayInDate && matchDayInDate.length < 3) {\n datetimeformat = datetimeformat.replace(/d/g, 'D');\n }\n return datetimeformat;\n}\n\n},{}],188:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertSingleMultiGeometry = convertSingleMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\n/**\n * Convert geometry to geometryType (from Single to Multi or viceversa)\n * \n * @param { ol.geom } geometry current OL geometry\n * @param { string } toGeometryType \n */\nfunction convertSingleMultiGeometry(geometry, toGeometryType) {\n var from_type = geometry.getType();\n\n if (!toGeometryType || toGeometryType === from_type) {\n return geometry;\n }\n\n var from_multi = (0, _isMultiGeometry.isMultiGeometry)(from_type);\n var to_multi = (0, _isMultiGeometry.isMultiGeometry)(toGeometryType);\n\n if (from_multi && !to_multi) {\n switch (geometry.getType()) {\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n return geometry.getPolygons();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n return geometry.getPoints();\n default:\n console.warn('invalid geometry type', geometry.getType());\n }\n return [];\n }\n\n if (!from_multi && to_multi) {\n return new ol.geom['Multi' + from_type]([geometry.getCoordinates()]);\n }\n\n return geometry;\n}\n\n},{\"g3w-constants\":126,\"utils/isMultiGeometry\":224}],189:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.coordinatesToGeometry = coordinatesToGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction coordinatesToGeometry(geometryType, coordinates) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return new ol.geom.Polygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return new ol.geom.MultiPolygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return new ol.geom.LineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n return new ol.geom.MultiLineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return new ol.geom.Point(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return new ol.geom.MultiPoint(coordinates);\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return new ol.geom.Point(coordinates);\n\n }\n}\n\n},{\"g3w-constants\":126}],190:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copyUrl = copyUrl;\nfunction copyUrl(url) {\n var tempinput = document.createElement('input');\n document.body.appendChild(tempinput);\n tempinput.value = url;\n tempinput.select();\n document.execCommand('copy');\n document.body.removeChild(tempinput);\n};\n\n},{}],191:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFilterFormInputs = createFilterFormInputs;\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\n/**\n * @param layer single layer or an array of layers\n * @param inputs\n * \n * @returns {*}\n */\nfunction createFilterFormInputs(_ref) {\n var layer = _ref.layer,\n _ref$inputs = _ref.inputs,\n inputs = _ref$inputs === undefined ? [] : _ref$inputs;\n\n\n var filters = void 0;\n\n var fields = inputs.map(function (_ref2, i) {\n var attribute = _ref2.attribute,\n value = _ref2.value,\n operator = _ref2.operator,\n logicop = _ref2.logicop;\n\n // multi key relation fields\n if (Array.isArray(attribute)) {\n return attribute.map(function (attr, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attr, value: value[j], operator: operator, logicop: null });\n }).join('|AND,') || '';\n }\n // input logic operator \n return '' + (i > 0 ? '|' + inputs[i - 1].logicop + ',' : '') + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attribute, value: value, operator: operator, logicop: logicop });\n });\n\n var filter = fields.join('') || undefined; // NB: comma separator is already added before\n\n filters = [].concat(layer).map(function () {\n return filter;\n });\n\n // check if is a single layer of an array of layers\n return Array.isArray(layer) ? filters : filters[0];\n}\n\n},{\"utils/createSingleFieldParameter\":196}],192:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.createFilterFromString = createFilterFromString;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar operators = Object.entries(_g3wConstants.FILTER_EXPRESSION_OPERATORS);\n\nfunction createFilterFromString(_ref) {\n var _ref$filter = _ref.filter,\n filter = _ref$filter === undefined ? '' : _ref$filter;\n\n filter = operators.reduce(function (acc, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n op = _ref3[1];\n\n return acc.replace(new RegExp('\\\\s+' + op + '\\\\s+', 'g'), '' + op) // remove all blank space between operators\n .replace(new RegExp('\\'' + op, 'g'), '' + op) // leading single quote\n .replace(new RegExp(op + '\\'', 'g'), '' + op);\n } // trailing single quote\n , filter).replace(/'$/g, '').replace(/\"/g, '');\n filter = operators.reduce(function (acc, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n k = _ref5[0],\n op = _ref5[1];\n\n return acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? '|' + k + ',' : '|' + k + '|');\n }, filter)\n // encode value\n .split('|').map(function (v, i) {\n return 0 === (i + 1) % 3 ? encodeURIComponent(v) : v;\n }).join('|');\n\n return filter;\n}\n\n},{\"g3w-constants\":126}],193:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMeasureTooltip = createMeasureTooltip;\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _isLineGeometryType = require(\"utils/isLineGeometryType\");\n\nvar _isPolygonGeometryType = require(\"utils/isPolygonGeometryType\");\n\nvar _isMultiGeometry = require(\"utils/isMultiGeometry\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * create and add measure tooltip \n */\nfunction createMeasureTooltip() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref.map,\n feature = _ref.feature;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var element = document.createElement('div');\n element.className = 'mtooltip mtooltip-measure';\n\n var tooltip = new ol.Overlay({\n element: element,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n\n map.addOverlay(tooltip);\n\n return {\n tooltip: tooltip,\n unbyKey: feature.getGeometry().on('change', function (e) {\n var coords = void 0;\n var geom = e.target;\n\n if (geom instanceof ol.geom.Polygon) {\n coords = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof ol.geom.MultiPolygon) {\n coords = geom.getInteriorPoints().getCoordinates()[0];\n } else if (geom instanceof ol.geom.LineString || geom instanceof ol.geom.MultiLineString) {\n coords = geom.getLastCoordinate();\n }\n\n var projection = map.getView().getProjection();\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geom.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geom.getType());\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geom.getType());\n var is_sphere = 'EPSG:3857' === projection.getCode() || 'degrees' === projection.getUnits();\n var segments = [];\n\n if (is_poly && is_multi) {\n (geom.getPolygons() || []).forEach(function (p) {\n return p.getLinearRing().getCoordinates().forEach(function (coords) {\n return segments.push(coords);\n });\n });\n }\n\n if (is_poly && !is_multi) {\n segments = geom.getLinearRing().getCoordinates();\n }\n\n var _geom = is_poly && segments.length > 2 ? new ol.geom.LineString(segments) : geom;\n\n var length = is_line || is_poly && segments.length > 2 ? is_sphere ? ol.sphere.getLength(_geom, { projection: projection.getCode() }) : (0, _isMultiGeometry.isMultiGeometry)(_geom.getType()) ? _geom.getLineStrings().reduce(function (totalLength, lineGeometry) {\n return totalLength += lineGeometry.getLength();\n }, 0) : _geom.getLength() : undefined;\n\n var area = is_poly ? Math.round(is_sphere ? ol.sphere.getArea(geom, { projection: projection.getCode() }) : geom.getArea()) : undefined;\n\n if (undefined !== length) {\n length = 'nautical' === _application2.default.map.unit ? length * 0.0005399568 + \" nm\" : length > 1000 ? (Math.round(length / 1000 * 100) / 100).toFixed(3) + \" km\" : (Math.round(length * 100) / 100).toFixed(2) + \" m\";\n }\n\n if (undefined !== area) {\n area = 'nautical' === _application2.default.map.unit ? area * 0.000000291553349598122862913947445759414840765222583489217190918463024037990567 + \" \\u2009nmi\\xB2\" : area > 1000000 ? (Math.round(area / 1000000 * 100) / 100).toFixed(6) + \" km2\" : (Math.round(area * 100) / 100).toFixed(3) + \" m2\";\n }\n\n element.innerHTML = (undefined !== area ? \"Area: \" + area + \"
\" : '') + (undefined !== area && undefined !== length ? \"
\" : '') + (undefined !== length ? length : '');\n tooltip.setPosition(coords);\n })\n };\n}\n\n},{\"store/application\":178,\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],194:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createRelationsUrl = createRelationsUrl;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/services/relations.js@v3.10.2\n */\nfunction createRelationsUrl(_ref) {\n var _ref$layer = _ref.layer,\n layer = _ref$layer === undefined ? {} : _ref$layer,\n _ref$relation = _ref.relation,\n relation = _ref$relation === undefined ? {} : _ref$relation,\n fid = _ref.fid,\n _ref$type = _ref.type,\n type = _ref$type === undefined ? 'data' : _ref$type,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === undefined ? 1 : _ref$formatter;\n\n return _application2.default.project.getLayerById(undefined === relation.father ? layer.id === relation.referencedLayer ? relation.referencingLayer : relation.referencedLayer : layer.id === relation.father ? relation.child : relation.father).getUrl(type) + '?relationonetomany=' + relation.id + '|' + (0, _sanitizeFidFeature.sanitizeFidFeature)(fid) + '&formatter=' + formatter;\n}\n\n},{\"store/application\":178,\"utils/sanitizeFidFeature\":238}],195:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelectedStyle = createSelectedStyle;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } style \n * @param style.geometryType\n * @param style.color\n * @param style.fill\n * \n * @returns { ol.style.Style | null } style \n */\nfunction createSelectedStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n geometryType = _ref.geometryType,\n _ref$color = _ref.color,\n color = _ref$color === undefined ? 'rgb(255,255,0)' : _ref$color,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? true : _ref$fill;\n\n switch (geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 })\n });\n\n case 'Point':\n case 'MultiPoint':\n return new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: fill && new ol.style.Fill({ color: color }),\n stroke: !fill && new ol.style.Stroke({ color: color, width: 4 })\n }),\n zIndex: Infinity\n });\n\n case 'MultiPolygon':\n case 'Polygon':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([].concat(_toConsumableArray(ol.color.asArray(color))).splice(0, 3).concat(.25)) }) // force rgba color transparency (alpha = .25)\n });\n\n default:\n console.warn('invalid geometry type', geometryType);\n return null;\n\n }\n}\n\n},{}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSingleFieldParameter = createSingleFieldParameter;\n/**\n * @param { Object } opts\n * @param opts.layer\n * @param opts.field\n * @param opts.value\n * @param { string } [opts.operator='eq'] 'eq' as default\n * @param { string } [opts.logicop='OR'] 'OR' as default\n * \n * @returns { string } filter\n * \n * @since 3.8.7\n */\nfunction createSingleFieldParameter(_ref) {\n var field = _ref.field,\n value = _ref.value,\n _ref$operator = _ref.operator,\n operator = _ref$operator === undefined ? 'eq' : _ref$operator,\n _ref$logicop = _ref.logicop,\n logicop = _ref$logicop === undefined ? 'OR' : _ref$logicop;\n\n return [].concat(value).map(function (v) {\n return field + '|' + operator.toLowerCase() + '|' + encodeURIComponent(v);\n }).join('|' + logicop + ',');\n}\n\n},{}],197:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\n/**\n * @param { Object } file\n * @param { string } file.name\n * @param file.type\n * @param file.crs\n * @param file.mapCrs\n * @param file.data\n * @param file.style\n * \n * @returns { Promise } layer\n */\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref2.name,\n type = _ref2.type,\n crs = _ref2.crs,\n mapCrs = _ref2.mapCrs,\n data = _ref2.data,\n style = _ref2.style;\n\n var errors = [];\n var epsg = ['zip', 'kml', 'kmz'].includes(type) ? 'EPSG:4326' : crs;\n var features = [];\n\n // SHAPE FILE\n if ('zip' === type) {\n data = JSON.stringify((yield shp((yield data.arrayBuffer(data))))); // un-zip folder data \n }\n\n // KMZ FILE\n if ('kmz' === type) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n data = zip.file(/.kml$/i).at(-1).asText(); // get last kml file within folder\n }\n\n // CSV FILE\n if ('csv' === type) {\n data.values.forEach(function (row, i) {\n var props = {};\n var cols = row.split(data.separator);\n if (cols.length !== data.headers.length) {\n return errors.push({ row: i + 1, value: data.values[i] });\n }\n var coords = [];\n cols.forEach(function (value, i) {\n if (data.headers[i] === data.x) {\n coords[0] = 1 * value;\n }\n if (data.headers[i] === data.y) {\n coords[1] = 1 * value;\n }\n props[data.headers[i]] = value;\n });\n // check if all coordinates are right\n if (coords.every(function (d) {\n return !Number.isNaN(d);\n })) {\n var feat = new ol.Feature(new ol.geom.Point(coords).transform(crs, mapCrs));\n feat.setId(i); // incremental id\n feat.setProperties(props);\n features.push(feat);\n }\n });\n }\n\n if ('csv' !== type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[type].readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (['kml', 'kmz'].includes(type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (errors.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: /* html */\n '',\n data: function data() {\n return { errors: errors };\n }\n }\n },\n autoclose: false\n });\n }\n\n if (features.length) {\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: 'csv' === type ? data.headers : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n }),\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n }\n\n return Promise.reject();\n });\n\n return function createVectorLayerFromFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],198:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n\n/**\n * build debounce function\n */\nfunction debounce(func) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var timeout = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n return func.apply(undefined, args);\n }, delay);\n };\n}\n\n},{}],199:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.distance = distance;\n/**\n * core/geometry/geom::distance@v3.4\n * core/geometry/geom::squaredDistance@v3.4\n */\nfunction distance(c1, c2) {\n return Math.sqrt(Math.pow(c2[0] - c1[0], 2) + Math.pow(c2[1] - c1[1], 2));\n}\n\n},{}],200:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @param { Object } file\n * @param { string } file.filename\n * @param file.content\n * @param { string } file.url\n * @param { string } file.mime_type\n * @param file.signal\n */\nvar downloadFile = exports.downloadFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filename = _ref2.filename,\n content = _ref2.content,\n url = _ref2.url,\n _ref2$headers = _ref2.headers,\n headers = _ref2$headers === undefined ? {} : _ref2$headers,\n _ref2$method = _ref2.method,\n method = _ref2$method === undefined ? 'GET' : _ref2$method,\n data = _ref2.data,\n _ref2$mime_type = _ref2.mime_type,\n mime_type = _ref2$mime_type === undefined ? 'text/plain' : _ref2$mime_type,\n signal = _ref2.signal;\n\n var blob = content && new Blob([content], { type: mime_type });\n\n var d = !content && url && (yield fetch(url, {\n type: mime_type,\n headers: headers,\n body: data,\n method: method,\n signal: signal\n })) || {};\n\n if (!content && (400 === d.status || 500 === d.status)) {\n throw (yield d.json()).message;\n }\n\n if (content || 200 === d.status) {\n var a = document.createElement('a');\n a.setAttribute('href', window.URL.createObjectURL(blob || (yield d.blob())));\n a.setAttribute('download', filename || (d.headers.get('content-disposition') || 'filename=g3w_download_file').split('filename=').at(1));\n a.dataset.downloadurl = [mime_type || d.headers.get('content-type'), a.download, a.href].join(':');\n a.click();\n a = null;\n }\n });\n\n return function downloadFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{}],201:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.flattenObject = flattenObject;\n/**\n * ORIGINAL SOURCE: https://stackoverflow.com/a/56253298\n * \n * @example \n * \n * ### Sample Input\n * \n * ```\n * const obj = {\n * name: \"test\",\n * address: {\n * personal: \"abc\",\n * office: {\n * building: 'random',\n * street: 'some street'\n * }\n * }\n * }\n * ```\n * \n * ### Expected Output\n * \n * ```\n * {\n * name : \"test\",\n * address_personal: \"abc\"\n * address_office_building: \"random\"\n * address_office_street: \"some street\"\n * }\n * ```\n * \n * @since 3.9.0\n */\nfunction flattenObject(obj, parent) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n for (var key in obj) {\n var propName = parent ? parent + '_' + key : key;\n if ('object' === _typeof(obj[key])) {\n flattenObject(obj[key], propName, res);\n } else {\n res[propName] = obj[key];\n }\n }\n return res;\n}\n\n},{}],202:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAlphanumericPropertiesFromFeature = getAlphanumericPropertiesFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nfunction getAlphanumericPropertiesFromFeature() {\n var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(function (p) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(p);\n });\n}\n\n},{\"g3w-constants\":126}],203:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayerById = getCatalogLayerById;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayerById(id) {\n return Object.values(_application2.default.catalog).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n}\n\n},{\"store/application\":178}],204:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayers = getCatalogLayers;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayers(filter) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(_application2.default.catalog).flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"store/application\":178}],205:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataForSearchInput = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * @returns { Array } of unique values from field\n */\nvar getDataForSearchInput = exports.getDataForSearchInput = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var state = _ref.state,\n field = _ref.field,\n suggest = _ref.suggest;\n\n\n try {\n // get unique value from each layers\n return (yield Promise.allSettled(state.search_layers.map(function (l) {\n return l.getFilterData({\n suggest: suggest,\n fformatter: field,\n ordering: field,\n field: getDataForSearchInput.field({\n state: state,\n //in the case of suggested parameter set (case autocomplete field), need to use current field\n field: suggest ? field : (state.forminputs.find(function (i) {\n return i.attribute === field;\n }) || {}).dependance || field,\n fields: []\n })\n });\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).reduce(function (acc, d) {\n return acc.concat(d.value.data || []);\n }, []) // uniques by fformatter\n .map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n value = _ref4[0],\n key = _ref4[1];\n\n return { key: key, value: value };\n });\n } catch (e) {\n console.warn(e);\n }\n\n return [];\n });\n\n return function getDataForSearchInput(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n/**\n * Traverse field dependecies\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\ngetDataForSearchInput.field = function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n state = _ref5.state,\n field = _ref5.field,\n _ref5$fields = _ref5.fields,\n fields = _ref5$fields === undefined ? [] : _ref5$fields;\n\n field = state.forminputs.find(function (i) {\n return i.attribute === field;\n }); // current input\n var parent = state.forminputs.find(function (i) {\n return i.attribute === field.dependance;\n }); // current input dependance (parent field)\n\n // get all values (un-filtered)\n if (!parent || _g3wConstants.SEARCH_ALLVALUE === parent.value) {\n return (fields || []).join() || undefined;\n }\n\n // filter by parent field\n if (undefined !== parent.value) {\n fields.unshift(parent.attribute + '|' + parent.operator.toLowerCase() + '|' + encodeURI(parent.value) + (fields.length ? '|' + parent.logicop : ''));\n }\n\n // recursion step\n return getDataForSearchInput.field({ state: state, fields: fields, field: parent.attribute });\n};\n\n},{\"g3w-constants\":126}],206:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getDefaultExpression = exports.getDefaultExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n default_expression = _field$input$options.default_expression,\n loading = _field$input$options.loading,\n default_value = _field$input$options.default;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!default_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n // Call `expression:expression_eval` to get value from expression and set it to field\n try {\n\n var value = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id, //\n qgs_layer_id: qgs_layer_id, //layer id owner of the data\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n formatter: 0,\n expression: default_expression.expression,\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n }\n },\n outputs: false\n });\n\n field.value = value;\n\n return value;\n } catch (e) {\n if (undefined !== default_value) {\n field.value = default_value;\n }\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getDefaultExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],207:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilterExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getFilterExpression = exports.getFilterExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n key = _field$input$options.key,\n value = _field$input$options.value,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n filter_expression = _field$input$options.filter_expression,\n loading = _field$input$options.loading,\n orderbyvalue = _field$input$options.orderbyvalue;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!filter_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n try {\n\n var features = yield _data2.default.getData('expression:expression', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id,\n qgs_layer_id: qgs_layer_id,\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n },\n formatter: 0,\n expression: filter_expression.expression,\n ordering: [undefined, false].includes(orderbyvalue) ? key : value //@since 3.11.0\n },\n outputs: false\n });\n\n if ('select_autocomplete' === field.input.type) {\n field.input.options.values = [];\n // temporary array to sort the keys\n var values = [];\n for (var i = 0; i < features.length; i++) {\n values.push({\n key: features[i].properties[value],\n value: features[i].properties[key]\n });\n }\n\n field.input.options.values = values;\n }\n\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getFilterExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],208:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormDataExpressionRequestFromFeature = getFormDataExpressionRequestFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\n/**\n * Convert feature to form Data for expression/expression_eval request\n * \n * @param feature\n */\nfunction getFormDataExpressionRequestFromFeature(feature) {\n delete feature.attributes.geometry;\n\n var _feature = new ol.Feature(feature.geometry);\n var properties = {};\n\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(feature.attributes).filter(function (p) {\n return _g3wConstants.G3W_FID !== p;\n }).forEach(function (p) {\n return properties[p] = feature.attributes[p];\n });\n\n _feature.setProperties(properties);\n _feature.setId(feature.attributes[_g3wConstants.G3W_FID]);\n\n return (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(_feature);\n}\n\n},{\"g3w-constants\":126,\"utils/convertFeatureToGEOJSON\":186,\"utils/getAlphanumericPropertiesFromFeature\":202}],209:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getListableProjects = getListableProjects;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getListableProjects() {\n window.initConfig.projects;\n return window.initConfig.projects.filter(function (p) {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (p.id === _application2.default.project.getId() || window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject) {\n return false;\n }\n return p;\n }).sort(function (a, b) {\n return (a.title || '').localeCompare(b.title);\n });\n}\n\n},{\"store/application\":178}],210:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.getMapLayersByFilter = getMapLayersByFilter;\n/**\n * @param filter defaults `GEOLAYER: true`\n * @param options\n * \n * @returns { Array } map layers based on filtered properties of layer (eg. `GEOLAYER : true`)\n */\nfunction getMapLayersByFilter() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n filter = _extends({\n GEOLAYER: true\n }, filter);\n\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n return MapLayersStoresRegistry.getQuerableLayersStores().flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"services/map\":175}],211:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOLGeometry = getOLGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::getOLGeometry@v3.4\n */\nfunction getOLGeometry(geometryType) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return 'LineString';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n return 'MultiLineString';\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return 'Point';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return 'MultiPoint';\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return 'Polygon';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return 'MultiPolygon';\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return geometryType;\n }\n}\n\n},{\"g3w-constants\":126}],212:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProject = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * ORIGINAL SOURCE: src/app/core/project/project.js@v3.10.2\n * \n * Get project configuration\n *\n * @param { string } gid project gid\n * @param options\n * @param { string } options.map_theme\n */\nvar getProject = exports.getProject = function () {\n var _ref3 = _asyncToGenerator(function* (gid) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var pendingProject = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n\n // skip if a project doesn't exist\n if (!pendingProject) {\n console.log(\"Project doesn't exist\", gid);\n return Promise.reject(\"Project doesn't exist\");\n }\n\n // fetch project configuration from remote server\n\n // { Array } config.layers - The order of layers follows layer rendering order set on QGIS project.Can be different to TOC layer order\n var config = !PROJECTS[gid] && (yield _XHR.XHR.get({ url: '' + window.initConfig.urls.baseurl + window.initConfig.urls.config + '/' + window.initConfig.id + '/' + pendingProject.type + '/' + pendingProject.id + '?_t=' + pendingProject.modified\n }));\n var map_theme = config && options.map_theme && Object.values(config.map_themes).flat().find(function (_ref4) {\n var theme = _ref4.theme;\n return theme === options.map_theme;\n });\n\n /** In the case of url param set map_theme, need to get map theme configuration from server */\n if (map_theme) {\n var _ref5 = yield _XHR.XHR.get({ url: '/' + pendingProject.type + '/api/prjtheme/' + pendingProject.id + '/' + options.map_theme }),\n result = _ref5.result,\n data = _ref5.data;\n\n if (result) {\n config.layerstree = data;\n map_theme.layetstree = data;\n map_theme.default = true;\n }\n }\n\n PROJECTS[gid] = Object.assign(PROJECTS[gid] || {}, Object.assign(pendingProject, config));\n PROJECTS[gid] = Object.assign(PROJECTS[gid], {\n WMSUrl: '' + window.initConfig.urls.baseurl + window.initConfig.urls.ows + '/' + window.initConfig.id + '/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n /** @since 3.8.0 */\n relations: (PROJECTS[gid].relations || []).map(function (r) {\n if (\"ONE\" === r.type) {\n PROJECTS[gid].layers.find(function (l) {\n if (l.id === r.referencingLayer) {\n r.name = l.name;\n r.origname = l.origname;\n return true;\n }\n });\n }\n return r;\n }),\n /** actived catalog tab */\n catalog_tab: PROJECTS[gid].toc_tab_default || PROJECTS[gid]._catalog_tab || 'layers',\n ows_method: PROJECTS[gid].ows_method || 'GET',\n toc_layers_init_status: PROJECTS[gid].toc_layers_init_status || 'not_collapsed',\n toc_themes_init_status: PROJECTS[gid].toc_themes_init_status || 'collapsed',\n query_point_tolerance: PROJECTS[gid].query_point_tolerance || _g3wConstants.QUERY_POINT_TOLERANCE,\n crs: crsToCrsObject(PROJECTS[gid].crs),\n baselayers: PROJECTS[gid].baselayers\n // Remove bing base layer when no vendor API Key is provided\n .filter(function (l) {\n return 'Bing' === l.servertype ? _application2.default.keys.vendorkeys.bing : true;\n }).map(function (l) {\n return Object.assign(l, {\n visible: l.id && l.id === (null !== _application2.default.baseLayerId ? _application2.default.baseLayerId : PROJECTS[gid].initbaselayer) || !!l.fixed,\n baselayer: true\n });\n })\n });\n\n var project = Object.assign(new _g3wObject2.default(), {\n setters: {\n setBaseLayer: function setBaseLayer(id) {\n var _this = this;\n\n window.initConfig.baselayers.forEach(function (l) {\n _this._layersStore.getLayerById(l.id).setVisible(id === l.id);\n l.visible = id === l.id;\n });\n }\n },\n state: PROJECTS[gid],\n /** project APIs */\n urls: {\n map_themes: '/' + PROJECTS[gid].type + '/api/prjtheme/' + PROJECTS[gid].id + '/',\n vector_data: PROJECTS[gid].vectorurl + 'data/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n featurecount: PROJECTS[gid].vectorurl + 'featurecount/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/'\n },\n _projection: _projections2.default.get(crsToCrsObject(PROJECTS[gid].crs)),\n _layersStore: new _layersstore.LayersStore(),\n getQueryPointTolerance: function getQueryPointTolerance() {\n return project.state.query_point_tolerance;\n },\n getRelations: function getRelations() {\n return project.state.relations;\n },\n getRelationById: function getRelationById(id) {\n return project.state.relations.find(function (r) {\n return id === r.id;\n });\n },\n getLayerById: function getLayerById(id) {\n return project._layersStore.getLayerById(id);\n },\n getLayers: function getLayers() {\n return [].concat(_toConsumableArray(project.state.layers), _toConsumableArray(project.state.baselayers));\n },\n getState: function getState() {\n return project.state;\n },\n getPrint: function getPrint() {\n return project.state.print || [];\n },\n getId: function getId() {\n return project.state.id;\n },\n getType: function getType() {\n return project.state.type;\n },\n getGid: function getGid() {\n return project.state.gid;\n },\n getName: function getName() {\n return project.state.name;\n },\n getCrs: function getCrs() {\n return project._projection.getCode();\n },\n getProjection: function getProjection() {\n return project._projection;\n },\n getLayersStore: function getLayersStore() {\n return project._layersStore;\n },\n getUrl: function getUrl(type) {\n return project.urls[type];\n },\n /**\n * @param filter property layer config to filter\n * \n * @returns { Array } configuration layers (from server config)\n */\n getConfigLayers: function getConfigLayers() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n key = _ref6.key;\n\n return key ? project.state.layers.filter(function (l) {\n return undefined !== l[key];\n }) : project.state.layers;\n }\n });\n\n // Process layerstree and baselayers of the project (useful info for catalog)\n var traverse = function traverse(nodes) {\n var _loop = function _loop(i) {\n var node = nodes[i];\n //check if layer (node) of folder\n if (undefined !== node.id) {\n project.state.layers.forEach(function (l) {\n if (node.id === l.id) {\n node.name = l.name;\n l.wmsUrl = project.state.WMSUrl;\n l.project = project;\n node[i] = Object.assign(l, node);\n return false;\n }\n });\n }\n if (Array.isArray(node.nodes)) {\n //add title to tree\n node.title = node.name;\n traverse(node.nodes);\n }\n };\n\n for (var i = 0; i < nodes.length; i++) {\n _loop(i);\n }\n };\n\n traverse(project.state.layerstree);\n\n // Build layersstore \n project._layersStore.setOptions({\n id: project.state.gid,\n projection: project._projection,\n extent: project.state.extent,\n initextent: project.state.initextent,\n wmsUrl: project.state.WMSUrl,\n catalog: window.initConfig.overviewproject !== project.state.gid\n });\n\n /** ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2 */\n\n // Layer factory: instance each layer and add to layersstore\n project._layersStore.addLayers(project.getLayers().flatMap(function (l) {\n var config = Object.assign(l, {\n crs: crsToCrsObject(l.crs),\n projection: l.crs ? _projections2.default.get(l.crs) : project._projection,\n ows_method: project.state.ows_method,\n wms_use_layer_ids: project.state.wms_use_layer_ids\n });\n\n // Check Layer Type\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // TABLE LAYERS\n if ('NoGeometry' === config.geometrytype && [\"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _tablelayer.TableLayer(config, { project: project });\n }\n\n // VECTOR LAYERS\n if (['OGC wfs', 'G3WSUITE geojson'].includes(layerType) || [\"Local\", \"G3WSUITE\"].includes(config.servertype)) {\n return new _vectorlayer.VectorLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (config.geometrytype && 'NoGeometry' !== config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (!config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS wmst\", \"QGIS wcs\", \"QGIS wms\", \"QGIS gdal\", \"QGIS vectortile\", \"QGIS vector-tile\", \"QGIS mdal\", \"QGIS arcgismapserver\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // BASE LAYERS\n if (['OSM', 'Bing', 'TMS', 'ARCGISMAPSERVER', 'WMTS', 'WMS'].includes(config.servertype)) {\n return new _imagelayer.ImageLayer(config, { project: project, _BASE_LAYER: config.servertype });\n }\n\n console.warn('Uknown layer type', config);\n return [];\n }));\n\n // create layerstree from layerstore\n project._layersStore.createLayersTree(project.state.name, {\n layerstree: project.state.layerstree,\n expanded: 'not_collapsed' === project.state.toc_layers_init_status // config to show layerstrees toc expanded or not\n });\n\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n (project.state.search || []).forEach(function (s) {\n return s.search_endpoint = 'api';\n });\n\n // add to project\n return project;\n });\n\n return function getProject(_x2) {\n return _ref3.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _XHR = require('utils/XHR');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nvar _layersstore = require('map/layers/layersstore');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n TableLayer: _tablelayer.TableLayer,\n VectorLayer: _vectorlayer.VectorLayer,\n ImageLayer: _imagelayer.ImageLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\n// (lazy loading)\nvar PROJECTS = {};\n\n/**\n * @param { number | string | null | undefined } crs\n * \n * @returns { { epsg: string, proj4: string, axisinverted: boolean, geographic: boolean } | null | undefined } crs object\n */\nfunction crsToCrsObject(crs) {\n\n /** @FIXME add description */\n if ([undefined, null].includes(crs)) {\n return crs;\n }\n\n /** @FIXME add description */\n if (crs && crs.epsg) {\n crs.epsg = (0, _normalizeEpsg.normalizeEpsg)(crs.epsg);\n return crs;\n }\n\n return {\n epsg: (0, _normalizeEpsg.normalizeEpsg)(crs),\n proj4: \"\",\n axisinverted: false,\n geographic: false\n };\n}\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/imagelayer\":155,\"map/layers/layersstore\":157,\"map/layers/tablelayer\":158,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/normalizeEpsg\":228}],213:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectConfigByGid = getProjectConfigByGid;\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getProjectConfigByGid(gid) {\n return window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n}\n\n},{}],214:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectUrl = getProjectUrl;\n/**\n * @param gid\n * \n * @returns {string}\n */\nfunction getProjectUrl(gid) {\n var project = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n try {\n return \"\" + new URL(window.initConfig.urls.baseurl) + project.url;\n } catch (e) {\n console.warn(e);\n return \"\" + location.origin + window.initConfig.urls.baseurl + project.url;\n }\n}\n\n},{}],215:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getResolutionFromScale = getResolutionFromScale;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getResolutionFromScale(scale) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / ((scale >= 1.0 ? 1.0 / scale : scale) * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScaleFromResolution = getScaleFromResolution;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getScaleFromResolution(resolution) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n return Math.round(resolution * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],217:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return ++_uid + \"_\" + Date.now();\n}\n\n},{}],218:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get_legend_params = get_legend_params;\n/**\n * @param layer\n * \n * @returns {{ LEGEND_ON: undefined | string, LEGEND_OFF: undefined | string }} \n */\nfunction get_legend_params(layer) {\n var LEGEND_ON = void 0,\n LEGEND_OFF = void 0;\n (layer.getCategories() || []).forEach(function (_ref) {\n var checked = _ref.checked,\n _checked = _ref._checked,\n ruleKey = _ref.ruleKey;\n\n // skip when there's no difference from original `checked` status (_checked) and current changed by toc categories (checked)\n if (checked === _checked) {\n return;\n }\n if (checked) {\n LEGEND_ON = (undefined === LEGEND_ON ? layer.getWMSLayerName() + \":\" : LEGEND_ON + \",\") + ruleKey;\n } else {\n LEGEND_OFF = (undefined === LEGEND_OFF ? layer.getWMSLayerName() + \":\" : LEGEND_OFF + \",\") + ruleKey;\n }\n });\n return {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF\n };\n}\n\n},{}],219:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.groupBy = groupBy;\n/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nfunction groupBy(array, keyFn) {\n return array.reduce(function (result, item) {\n var key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}\n\n},{}],220:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.inherit = inherit;\n/**\n * google closure library impememtation\n */\nfunction inherit(childCtor, parentCtor) {\n function tempCtor() {}\n tempCtor.prototype = parentCtor.prototype;\n childCtor.superClass_ = parentCtor.prototype;\n childCtor.prototype = new tempCtor();\n childCtor.prototype.constructor = childCtor;\n}\n\n},{}],221:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.intersects = intersects;\n/**\n * Check if `geometryCheck` intersects with `geometry`\n * \n * @param {ol.geometry} geometry\n * @param {ol.geometry} geometryToCheck\n * \n * @returns {boolean} whether `geometryToCheck` interesects `geometry`\n * \n * @since 3.8.0\n */\nfunction intersects(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometry).intersects(olFromJsts.read(geometryToCheck));\n}\n\n},{}],222:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.is3DGeometry = is3DGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction is3DGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].find(function (type3D) {\n return type3D === geometryType;\n });\n}\n\n},{\"g3w-constants\":126}],223:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isLineGeometryType = isLineGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nfunction isLineGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.LINESTRING, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINE, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],224:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMultiGeometry = isMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nfunction isMultiGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],225:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointGeometryType = isPointGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nfunction isPointGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINT, _g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPolygonGeometryType = isPolygonGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nfunction isPolygonGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],227:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],228:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeEpsg = normalizeEpsg;\n/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nfunction normalizeEpsg(epsg) {\n if ('number' === typeof epsg) {\n return 'EPSG:' + epsg;\n }\n epsg = epsg.replace(/[^\\d\\.\\-]/g, \"\");\n if ('' !== epsg) {\n return 'EPSG:' + parseInt(epsg);\n }\n}\n\n},{}],229:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAttributes = parseAttributes;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param layerAttributes\n * @param featureAttributes\n * \n * @returns { Array }\n */\nfunction parseAttributes() {\n var layerAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var featureAttributes = arguments[1];\n\n /** @FIXME add description */\n if (layerAttributes && layerAttributes.length > 0) {\n return layerAttributes.filter(function (attr) {\n return Object.keys(featureAttributes).indexOf(attr.name) > -1;\n });\n }\n return Object.keys(featureAttributes).filter(function (name) {\n return -1 === _g3wConstants.GEOMETRY_FIELDS.indexOf(name);\n }).map(function (featureAttributesName) {\n return { name: featureAttributesName, label: featureAttributesName };\n });\n}\n\n},{\"g3w-constants\":126}],230:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponseParser = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /**\n * @file\n * \n * ORIGINAL SOURCE: src/app/core/utils/parsers.js@3.8\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n * \n * @since 3.9.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\nvar _removeZValueToOLFeatureGeometry = require('utils/removeZValueToOLFeatureGeometry');\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nvar _reverseGeometry = require('utils/reverseGeometry');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nObject.entries({\n G3W_FID: _g3wConstants.G3W_FID,\n GUI: _gui2.default,\n Feature: _feature.Feature,\n t: t,\n is3DGeometry: _is3DGeometry.is3DGeometry,\n removeZValueToOLFeatureGeometry: _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry,\n sanitizeFidFeature: _sanitizeFidFeature.sanitizeFidFeature,\n reverseGeometry: _reverseGeometry.reverseGeometry\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nvar NUMERIC_FIELD = 'GIS3W_ESCAPE_NUMERIC_FIELD_';\n\n/**\n * @example ResponseParser.get('application/vnd.ogc.gml')({ layers, response });\n */\nvar ResponseParser = exports.ResponseParser = {\n\n /** Response parser (content types) */\n get: function get(type) {\n switch (type) {\n\n case 'g3w-error':\n return function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var error = opts.error;\n\n return {\n parse: function parse() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$type = _ref3.type,\n type = _ref3$type === undefined ? 'responseJSON' : _ref3$type;\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.responseJSON && error.responseJSON.error.message) {\n return error.responseJSON.error.message;\n }\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.errors) {\n return _traverseErrorMessage(error.errors);\n }\n\n /** @FIXME add description */\n if ('String' === type && 'string' === typeof error) {\n return error;\n }\n\n /** @FIXME add description */\n if ('String' === type) {\n return _traverseErrorMessage(error);\n }\n\n /** @FIXME add description */\n return t(\"server_saver_error\");\n }\n };\n };\n\n case 'g3w-table/json':\n return function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (data.features || []).map(function (f) {\n var feature = new _feature.Feature();\n feature.setProperties(f.properties);\n feature.setId(f.id);\n return feature;\n });\n };\n\n case 'g3w-vector/gml':\n return function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n data = _ref4.data,\n layer = _ref4.layer;\n\n try {\n return new ol.format.WMSGetFeatureInfo({ layers: layer.getQueryLayerOrigName() }).readFeatures(\n // extract gml from multiple (Tuscany region)\n '--' === data.substr(0, 2) ? data.split(/\\r\\n--/).filter(function (part) {\n return (/<([^ ]*)FeatureCollection/.test(part) || /<([^ ]*)msGMLOutput/.test(part)\n );\n }).map(function (part) {\n return part.substr(part.indexOf(' 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref5.response,\n projections = _ref5.projections,\n _ref5$layers = _ref5.layers,\n layers = _ref5$layers === undefined ? [] : _ref5$layers,\n _ref5$wms = _ref5.wms,\n wms = _ref5$wms === undefined ? true : _ref5$wms,\n filtertoken = _ref5.filtertoken;\n\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [], filtertoken: filtertoken };\n });\n var layersId = layers.map(function (l) {\n return wms ? l.getWMSLayerName() : l.getWFSLayerName();\n });\n // features\n (response ? new ol.format.GeoJSON({\n geometryName: 'geometry',\n defaultDataProjection: projections.layer || projections.map\n }).readFeatures(response) : []).filter(function (feature) {\n var featureId = feature.getId();\n var g3w_fid = (0, _sanitizeFidFeature.sanitizeFidFeature)(featureId);\n // in the case of wms getfeature without a filter return string contain layerName or layerid\n var index = featureId == g3w_fid ? 0 : layersId.indexOf(featureId);\n // skip when ..\n if (-1 === index) {\n return false;\n }\n var props = feature.getProperties();\n feature.set(_g3wConstants.G3W_FID, g3w_fid);\n // fields\n layersFeatures[index].layer.getFields().filter(function (f) {\n return f.show && undefined === props[f.name] && undefined !== props[f.label];\n }).forEach(function (f) {\n return feature.set(f.name, props[f.label]);\n });\n // features\n layersFeatures[index].features.push(feature);\n });\n return layersFeatures;\n };\n\n case 'application/geojson':\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref6.layers,\n response = _ref6.response;\n\n return response ? layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/geojson')(response, {})\n };\n }) : [];\n };\n\n case 'text/plain':\n case 'text/html':\n return function () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref7.layers,\n response = _ref7.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n rawdata: response\n };\n });\n };\n\n case 'text/gml':\n return function (_ref8) {\n var layers = _ref8.layers,\n response = _ref8.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/gml')({ data: response, layer: layers[0] })\n };\n });\n };\n\n case 'application/vnd.ogc.gml':\n return function () {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref9.response,\n projections = _ref9.projections,\n layers = _ref9.layers,\n _ref9$wms = _ref9.wms,\n wms = _ref9$wms === undefined ? true : _ref9$wms,\n _ref9$id = _ref9.id,\n id = _ref9$id === undefined ? false : _ref9$id;\n\n // convert XML response to string\n if (response && 'string' !== typeof response && !(response instanceof String)) {\n response = new XMLSerializer().serializeToString(response);\n }\n\n // sanitize layer name (removes: whitespaces, quotes, parenthesis, slashes)\n if (response) {\n response = layers.reduce(function (acc, layer, i) {\n var id = (wms && layer.isWmsUseLayerIds() ? layer.getId() : layer.getName()).replace(/[\\s'()/]+/g, function (s) {\n return (/\\s/g.test(s) && !wms ? '_' : ''\n );\n });\n if (!wms) {\n id = id.replace(/[/\\\\]+/g, '').replaceAll(':', '-');\n }\n return acc.replace(new RegExp('qgs:' + id, 'g'), 'qgs:layer' + i);\n }, response);\n }\n\n // fields starting with an invalid key\n var invalids = response && Array.from(response.matchAll(/qgs:(\\d+(?:\\.\\d+)?)(\\w+)|qgs:(\\w+):(\\w+)/g)).filter(function (_, i) {\n return 0 === i % 2;\n });\n\n // add match numeric value (integer or float)\n if (invalids) {\n response = invalids.reduce(function (acc, find) {\n return acc.replace(new RegExp(find[0], 'g'), 'qgs:' + NUMERIC_FIELD + find[1] + find[2]);\n }, response);\n }\n\n // PATCH id strange char\n if (response) {\n response = response.replace(new RegExp(String.fromCharCode(0), 'g'), '0');\n }\n\n // convert XML string response to JSON\n var x2js = new X2JS();\n var json = x2js.xml_str2json(response); // json response\n\n // in the case of parser return null\n if (!json) {\n return [{\n layer: layers[0],\n features: []\n }];\n }\n\n /** @since 3.9.1 ServiceExceptionReport is a json attribute returned by server in case of error */\n if (json.ServiceExceptionReport && json.ServiceExceptionReport.ServiceException) {\n _gui2.default.showUserMessage({\n type: 'warning',\n textMessage: true,\n message: layers[0].getName() + ' - ' + json.ServiceExceptionReport.ServiceException\n });\n }\n\n // skip when json response hasn't FeatureCollection array (no features)\n if (!json.FeatureCollection || !json.FeatureCollection.featureMember) {\n return [];\n }\n\n // handled responses\n var parsed = []; //Array contains item object ({layer, features})\n var originalFeatureMember = [].concat(json.FeatureCollection.featureMember);\n //Loop on each layer\n layers.forEach(function (layer, i /*, originalFeatureMember*/) {\n var name = id ? layer.getId() : 'layer' + i; // layer name\n\n json.FeatureCollection.featureMember = originalFeatureMember.filter(function (f) {\n return f[name];\n }).map(function (f) {\n var fm = f[name];\n var prefix = f.__prefix;\n //set fid of each feature\n [].concat(fm).forEach(function (_fm) {\n //need to get fid number removing \n _fm._fid = _fm._fid && _fm._fid.split('.')[1];\n _fm[_g3wConstants.G3W_FID] = {\n __prefix: prefix,\n __text: _fm._fid\n };\n });\n //in case of wms multi layer\n if (Array.isArray(fm)) {\n var grouped = (0, _groupBy.groupBy)(fm, function (f) {\n return Object.keys(f);\n });\n // check if features have the same fields. If not, group the features with the same fields\n //check if features have different fields (multilayers)\n // If its is a multilayers. Each feature has different fields\n return Object.keys(grouped).length > 1 ? Object.keys(grouped).map(function (key, index) {\n return grouped[key].map(function (feature, sub_index) {\n var _ref10;\n\n return _ref10 = {}, _defineProperty(_ref10, 'layer' + index + '_' + sub_index, feature), _defineProperty(_ref10, '__prefix', prefix), _ref10;\n });\n }).flat() : //for Each element have to add and object contain layerName and information, and __prefix\n fm.map(function (f) {\n var _ref11;\n\n return _ref11 = {}, _defineProperty(_ref11, name, f), _defineProperty(_ref11, '__prefix', prefix), _ref11;\n });\n } else {\n return f;\n }\n }).flat();\n // parse layer feature collection\n var xml = x2js.json2xml_str(json); // layer Feature Collection XML\n var olfeatures = new ol.format.WMSGetFeatureInfo().readFeatures(xml);\n\n //Check if you need to re-project features because layers are in different projection of the map\n var is_reprojected = olfeatures.length > 0 //has features\n && !!olfeatures[0].getGeometry() // has a geometry\n && projections.layer //has a layer projection\n && projections.layer.getCode() !== projections.map.getCode() //the layer has the same projection of the map\n ;\n\n /** @FIXME add description */\n if (olfeatures.length > 0 && invalids) {\n var fields = Object.keys(olfeatures[0].getProperties()).filter(function (p) {\n return -1 !== p.indexOf(NUMERIC_FIELD);\n });\n olfeatures.forEach(function (f) {\n fields.forEach(function (_field) {\n var invalid = invalids.find(function (find) {\n return '' + find[1] + find[2] === _field.replace(NUMERIC_FIELD, '');\n });\n f.set(invalid[0].replace('qgs:', ''), [].concat(f.get(_field))[0]);\n f.unset(_field);\n });\n });\n }\n\n // transform features\n if (is_reprojected) {\n olfeatures.forEach(function (f) {\n return f.setGeometry(f.getGeometry().transform(projections.layer.getCode(), projections.map.getCode()));\n });\n }\n\n // inverted axis --> reverse features coordinates\n if (is_reprojected && 'ne' === (projections.layer ? projections.layer : projections.map).getAxisOrientation().substr(0, 2)) {\n olfeatures.forEach(function (f) {\n return f.setGeometry((0, _reverseGeometry.reverseGeometry)(f.getGeometry()));\n });\n }\n\n // Remove Z values due an incorrect addition when using\n // ol.format.WMSGetFeatureInfo readFeatures method from XML\n // (ex. WMS getFeatureInfo);\n if (layer.isGeoLayer() && !(0, _is3DGeometry.is3DGeometry)(layer.getGeometryType())) {\n olfeatures.forEach(function (f) {\n return (0, _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry)({ feature: f });\n });\n }\n\n parsed.unshift({ layer: layer, features: olfeatures });\n });\n\n return parsed;\n };\n\n default:\n return function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$layers = _ref12.layers,\n layers = _ref12$layers === undefined ? [] : _ref12$layers;\n\n return layers.map(function (layer) {\n return { layer: layer, rawdata: t('warning.not_supported_format') };\n });\n };\n\n }\n }\n};\n\n/**\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n */\nfunction _traverseErrorMessage(errorObject) {\n var error_message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"server_saver_error\";\n\n try {\n var entries = Object.entries(errorObject);\n var entry = entries.find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n key = _ref14[0],\n _ = _ref14[1];\n\n return 'fields' === key;\n });\n\n var _ref15 = entry || entries[0],\n _ref16 = _slicedToArray(_ref15, 2),\n value = _ref16[1];\n\n /** @FIXME add description */\n\n\n if (!entry && !Array.isArray(value) && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n return _traverseErrorMessage(value, error_message);\n }\n\n /** @FIXME add description */\n if (entry && 'string' === typeof value) {\n error_message = '[' + entries.find(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n\n return 'fields' !== key;\n })[0] + '] ' + value;\n }\n\n /** @FIXME add description */\n if (entry && 'string' !== typeof value) {\n error_message = Object.entries(value).reduce(function (message, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n field = _ref20[0],\n error = _ref20[1];\n\n return '' + message + field + ' ' + (Array.isArray(error) ? error[0] : error) + '\\n';\n }, '');\n }\n\n /** @FIXME add description */\n if (entry) {\n return error_message.replace(/\\:|\\./g, '');\n }\n } catch (e) {\n console.warn(e);\n }\n}\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"map/layers/feature\":152,\"services/gui\":173,\"utils/groupBy\":219,\"utils/is3DGeometry\":222,\"utils/removeZValueToOLFeatureGeometry\":235,\"utils/reverseGeometry\":236,\"utils/sanitizeFidFeature\":238}],231:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.printAtlas = printAtlas;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/*\n http://localhost/fcgi-bin/qgis_mapserver/qgis_mapserv.fcgi\n ?MAP=/home/marco/geodaten/projekte/composertest.qgs\n &SERVICE=WMS&VERSION=1.3.0\n &REQUEST=GetPrint\n &TEMPLATE=Composer 1\n &map0:extent=693457.466131,227122.338236,700476.845177,230609.807051\n &BBOX=693457.466131,227122.338236,700476.845177,230609.807051\n &CRS=EPSG:21781\n &WIDTH=1467\n &HEIGHT=729\n &LAYERS=layer0,layer1\n &STYLES=,\n &FORMAT=pdf\n &DPI=300\n &TRANSPARENT=true\n\n In detail, the following parameters can be used to set properties for composer maps:\n\n :EXTENT= //mandatory\n :ROTATION= //optional, defaults to 0\n :SCALE= //optional. Forces scale denominator as server and client may have different scale calculations\n :LAYERS= //optional. Defaults to all layer in the WMS request\n :STYLES= //optional\n :GRID_INTERVAL_X= //set the grid interval in x-direction for composer grids\n :GRID_INTERVAL_Y= //set the grid interval in x-direction for composer grids\n */\n\n/**\n * ORIGINAL SOURCE: src\\app\\core\\print\\printservice.js@3.9.0\n * \n * @param { Object } opts\n * @param opts.field\n * @param opts.values\n * @param opts.template\n * @param opts.download\n * @param { 'GET' | 'POST' } method\n */\nfunction printAtlas() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n var store = _application2.default.project.getLayersStore();\n var multi = opts.values.length > 1;\n return FETCH[method]({\n url: store.getWmsUrl(),\n mime_type: 'application/pdf',\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrintAtlas',\n EXP_FILTER: opts.field + (multi ? ' IN (' : '=') + opts.values.map(function (v) {\n return '\\'' + v + '\\'';\n }).join() + (multi ? ')' : ''),\n TEMPLATE: opts.template,\n filtertoken: _application2.default.tokens.filtertoken,\n DOWNLOAD: opts.download ? 1 : undefined\n }\n });\n}\n\nvar FETCH = {\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise<{mime_type, layers: boolean, url: string}>}\n */\n POST: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var url = _ref.url,\n _ref$params = _ref.params,\n params = _ref$params === undefined ? {} : _ref$params,\n mime_type = _ref.mime_type;\n\n var response = yield fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: new URLSearchParams(params || {}).toString()\n });\n if (!response.ok) {\n //@TODO Need to translate\n throw new Error(500 === response.status ? 'Internal Server Error' : 'Request Failed');\n }\n return {\n mime_type: mime_type,\n layers: true,\n url: URL.createObjectURL((yield response.blob()))\n };\n });\n\n function POST(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return POST;\n }(),\n\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise}\n */\n GET: function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var url = _ref3.url,\n _ref3$params = _ref3.params,\n params = _ref3$params === undefined ? {} : _ref3$params,\n mime_type = _ref3.mime_type;\n\n return {\n url: url + '?' + new URLSearchParams(params || {}).toString(),\n layers: true,\n mime_type: mime_type\n };\n });\n\n function GET(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return GET;\n }()\n};\n\n},{\"store/application\":178}],232:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.promisify = promisify;\nexports.$promisify = $promisify;\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Covert a jQuery promise into an ES6 Promise\n * \n * @param promise jquery promise\n */\nfunction promisify(promise) {\n if (promise instanceof Promise) {\n return promise;\n }\n if (!promise || !promise.then) {\n console.trace(promise);\n return Promise.reject('not a promise');\n }\n return new Promise(function (resolve, reject) {\n promise.then(resolve).fail(reject);\n });\n}\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Convert ES6 Promise into jQuery\n * \n * @param promise async function or ES6 promise \n */\nfunction $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(function (d) {\n return d.reject('not a promise');\n }).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n d.resolve((yield promise instanceof Promise ? promise : promise()));\n } catch (e) {\n console.trace(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],233:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prompt = undefined;\n\n/**\n * @TODO make it simpler (native HTML dialogs, Vue SFC components, ..)\n * \n * Similar to `window.prompt`\n * \n * @since 3.9.0\n */\nvar prompt = exports.prompt = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var value = _ref.value,\n label = _ref.label,\n callback = _ref.callback;\n\n\n // Reactive vue object (input instance)\n var _data = {\n value: value,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n var vueInput = new Vue({\n template: '\\n
\\n \\n \\n
',\n data: function data() {\n return _data;\n }\n });\n\n var prompt = void 0; // store dialog modal window\n\n new Promise(function (resolve, reject) {\n // modal window with input name\n prompt = _gui2.default.showModalDialog({\n message: vueInput.$mount().$el,\n closeButton: false,\n buttons: {\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n return resolve(_data.value);\n } },\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n return reject();\n } }\n }\n });\n // conditionally disable confirm button (based on input value)\n var okBtn = prompt.find('button.btn-success');\n okBtn.prop('disabled', 0 === _data.value.trim().length);\n vueInput.$watch('value', function (value) {\n okBtn.prop('disabled', 0 === value.trim().length);\n });\n }).then(callback).catch(function (e) {\n return console.warn(e);\n }).finally(function () {\n vueInput.$destroy();\n vueInput = null;\n _data = null;\n prompt = null;\n });\n });\n\n return function prompt(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/gui\":173,\"utils/getUniqueDomId\":217}],234:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeMeasureTooltip = removeMeasureTooltip;\n/**\n * Remove mesure tootltip\n * \n * @param { Object } opts\n * @param opts.map\n * @param opts.tooltip\n * @param opts.unByKey \n */\nfunction removeMeasureTooltip(_ref) {\n var map = _ref.map,\n tooltip = _ref.tooltip,\n unbyKey = _ref.unbyKey;\n\n map.removeOverlay(tooltip);\n ol.Observable.unByKey(unbyKey);\n}\n\n},{}],235:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeZValueToOLFeatureGeometry = removeZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * Remove Z values from geometry coordinates\n */\nfunction removeZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature;\n\n var geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n var coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n if (3 === coords.length) {\n coords.splice(2);\n feature.getGeometry().setCoordinates(coords);\n }\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n coords.forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n coords.forEach(function (line) {\n return line.forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126}],236:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.reverseGeometry = reverseGeometry;\n/**\n * @param geometry \n */\nfunction reverseGeometry(geometry) {\n geometry.setCoordinates(_reverseCoords(geometry.getCoordinates()));\n return geometry;\n}\n\nfunction _reverseCoords(coords) {\n coords.find(function (c) {\n if (!Array.isArray(c)) {\n var _coords = _slicedToArray(coords, 2),\n y = _coords[0],\n x = _coords[1];\n\n coords[0] = x;coords[1] = y;\n return true;\n }\n _reverseCoords(c);\n });\n return coords;\n}\n\n},{}],237:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sameOrigin = sameOrigin;\n/**\n * @param {string} url1\n * @param {string} url2\n *\n * @returns {boolean} whether URLs have same origin.\n *\n * @since 3.8.0\n */\nfunction sameOrigin(url1, url2) {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch (e) {\n console.warn(e);\n return false;\n }\n}\n\n},{}],238:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeFidFeature = sanitizeFidFeature;\nfunction sanitizeFidFeature(fid) {\n if ('string' === typeof fid && Number.isNaN(1 * fid)) {\n fid = fid.split('.');\n fid = fid.at(2 === fid.length ? 1 : 0);\n }\n return fid;\n}\n\n},{}],239:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setProjectAliasUrl = setProjectAliasUrl;\n/** used by the following plugins: \"archiweb\" */\nfunction setProjectAliasUrl(alias) {\n var project = window.initConfig.projects.find(function (p) {\n return alias.gid === p.gid;\n });\n if (project) {\n project.url = '' + (alias.host || '') + alias.url;\n }\n}\n\n},{}],240:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.splitFeature = splitFeature;\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } opts\n * @param opts.feature\n * @param opts.splitfeature\n * \n * @returns { Array } splitted feature geometries\n */\nfunction splitFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n splitfeature = _ref.splitfeature;\n\n var geometries = {\n feature: feature.getGeometry(), //geometry of the feature to split\n split: splitfeature.getGeometry() // geometry of split feature\n };\n\n if ('LineString' !== geometries.split.getType()) {\n return [];\n }\n\n // array of split geometries\n var splittedFeatureGeometries = [];\n var parser = new jsts.io.OL3Parser();\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geometries.feature.getType());\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geometries.feature.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geometries.feature.getType());\n var polygonFeature = is_poly && (is_multi ? geometries.feature.getPolygons() : geometries.feature);\n var lineFeatureGeometry = is_line && (is_multi ? geometries.feature.getLineStrings() : geometries.feature);\n\n // MultiPolygon or MultiLineString\n if (is_multi && (is_line || is_poly)) {\n var geomClass = is_poly ? ol.geom.MultiPolygon : ol.geom.MultiLineString;\n (is_poly ? polygonFeature : lineFeatureGeometry).forEach(function (geometry) {\n var splitFeatures = splitFeature({ splitfeature: splitfeature, feature: new ol.Feature({ geometry: geometry }) });\n if (splitFeatures.length > 0) {\n splitFeatures.forEach(function (geometry) {\n return geometry && splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n });\n } else {\n splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n }\n });\n }\n\n // Polygon\n if (is_poly && !is_multi) {\n var isZType = polygonFeature.getCoordinates()[0][0][2] !== undefined;\n var polygonFeatureGeometry = parser.read(polygonFeature);\n var externalPolygonFeatureGeometry = parser.read(polygonFeature.getLinearRing(0));\n var splitGeometry = parser.read(geometries.split); // create a line split feature in jsts\n var holePolygons = void 0; // holes geometries\n\n if (polygonFeature.getLinearRingCount() > 1) {\n var holeFeaturesGeometry = void 0;\n for (var index = 1; index < polygonFeature.getLinearRingCount(); index++) {\n var holeRing = parser.read(polygonFeature.getLinearRing(index));\n holeFeaturesGeometry = undefined === holeFeaturesGeometry ? holeRing : holeFeaturesGeometry.union(holeRing);\n }\n\n holePolygons = new jsts.operation.polygonize.Polygonizer();\n\n holePolygons.add(holeFeaturesGeometry);\n\n var holyPolygonUnion = void 0;\n\n holePolygons.getPolygons().toArray().forEach(function (polygon) {\n return holyPolygonUnion = undefined === holyPolygonUnion ? polygon : holyPolygonUnion.union(polygon);\n });\n\n holePolygons = holyPolygonUnion;\n }\n\n if (isZType) {\n\n polygonFeature.getCoordinates()[0].forEach(function (c, i) {\n return externalPolygonFeatureGeometry.getCoordinates()[i].z = c[2];\n });\n\n splitGeometry.getCoordinates().forEach(function (coordinate) {\n return coordinate.z = 0;\n });\n }\n\n var union = externalPolygonFeatureGeometry.union(splitGeometry);\n var polygonizer = new jsts.operation.polygonize.Polygonizer();\n\n polygonizer.add(union);\n\n var polygons = polygonizer.getPolygons().toArray();\n\n if (polygons.length > 1) {\n polygons.forEach(function (polygon) {\n if (holePolygons) {\n polygon = polygon.difference(holePolygons);\n }\n\n if (polygonFeatureGeometry.intersects(polygon.getInteriorPoint())) {\n var geometry = parser.write(polygon);\n var polygonCoordinates = polygon.getCoordinates();\n\n if (isZType) {\n polygonCoordinates.forEach(function (c, i) {\n return c.z = c.z === undefined ? polygonCoordinates[i === 0 ? i + 1 : i - 1].z : c.z;\n });\n var zCoordinates = [];\n geometry.getCoordinates()[0].forEach(function (c, i) {\n c.push(polygonCoordinates[i].z);\n zCoordinates.push(c);\n });\n geometry.setCoordinates([zCoordinates]);\n }\n\n var is_single = !(0, _isMultiGeometry.isMultiGeometry)(geometry.getType());\n\n if (is_multi) {\n splittedFeatureGeometries.push(new ol.geom.MultiPolygon(is_single ? [geometry.getCoordinates()] : geometry.getCoordinates()));\n } else {\n if (is_single) {\n splittedFeatureGeometries.push(geometry);\n } else {\n geometry.getCoordinates().forEach(function (c) {\n return splittedFeatureGeometries.push(new ol.geom.Polygon(c));\n });\n }\n }\n }\n });\n }\n }\n\n // LineString or MultiLineString\n if (is_line && !is_multi) {\n var _ret = function () {\n var splitGeometry = geometries.split;\n var lineGeometry = geometries.feature;\n var isZType = undefined !== lineGeometry.getCoordinates()[0][2];\n var splitted = false;\n var splittedSegments = [];\n var jstsFromWkt = new jsts.io.WKTReader();\n var wktFromOl = new ol.format.WKT();\n var olFromJsts = new jsts.io.OL3Parser();\n var splitLine = jstsFromWkt.read(wktFromOl.writeGeometry(splitGeometry));\n var wktLineString = wktFromOl.writeGeometry(lineGeometry);\n\n if (isZType) {\n wktLineString = wktLineString.replace(' Z', '');\n }\n\n var targetLine = jstsFromWkt.read(wktLineString);\n var targetCoordinates = targetLine.getCoordinates();\n var geometryFactory = new jsts.geom.GeometryFactory();\n var pointsNotSplitted = [];\n\n var endPoint = void 0;\n var startPoint = void 0;\n\n for (var i = 0; i < targetCoordinates.length - 1; i++) {\n startPoint = targetCoordinates[i];\n endPoint = targetCoordinates[i + 1];\n\n if (isZType) {\n startPoint.z = lineGeometry.getCoordinates()[i][2];\n endPoint.z = lineGeometry.getCoordinates()[i + 1][2];\n }\n\n // create a segment of two vertex\n var segment = geometryFactory.createLineString([startPoint, endPoint]);\n var intersectCoordinates = segment.intersection(splitLine).getCoordinates();\n\n splitted = splitted || intersectCoordinates.length > 0;\n\n intersectCoordinates.forEach(function (splitPoint) {\n if (isZType) {\n splitPoint.z = startPoint.z;\n }\n\n var lineNewSegment = olFromJsts.write(geometryFactory.createLineString((pointsNotSplitted.length ? pointsNotSplitted : []).concat([startPoint, splitPoint])));\n\n if (isZType) {\n var coordinates = lineNewSegment.getCoordinates();\n lineNewSegment.setCoordinates([[].concat(_toConsumableArray(coordinates[0]), [startPoint.z]), [].concat(_toConsumableArray(coordinates[1]), [splitPoint.z])]);\n }\n\n if (pointsNotSplitted.length) {\n pointsNotSplitted = [];\n }\n\n splittedSegments.push(lineNewSegment);\n\n startPoint = splitPoint;\n });\n\n pointsNotSplitted = pointsNotSplitted.concat([startPoint, endPoint]);\n }\n\n var restOfLine = olFromJsts.write(geometryFactory.createLineString(pointsNotSplitted));\n\n if (isZType) {\n restOfLine.setCoordinates(pointsNotSplitted.map(function (pointNotSplitted, index) {\n var coordinate = restOfLine.getCoordinates()[index];\n coordinate.push(pointNotSplitted.z);\n return coordinate; // z coordinates\n }));\n }\n\n splittedSegments.push(restOfLine);\n\n return {\n v: splitted ? splittedSegments : []\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n\n return splittedFeatureGeometries;\n}\n\n},{\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],241:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\n/**\n * build throttle function\n */\nfunction throttle(fnc) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var lastCall = void 0;\n return function () {\n var previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || lastCall - previousCall > delay) {\n // throttle time has elapsed\n fnc.apply(undefined, arguments);\n }\n };\n}\n\n},{}],242:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRawType = toRawType;\nfunction toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\n},{}],243:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.waitFor = waitFor;\n/**\n * Function to wait for predicates.\n * \n * @param { () => Boolean } predicate - A function that returns a bool\n * @param { number } [timeout] - Optional maximum waiting time in ms after rejected\n * \n * @see https://gist.github.com/chrisjhoughton/7890239?permalink_comment_id=4411125#gistcomment-4411125\n */\nfunction waitFor(predicate, timeout) {\n return new Promise(function (resolve, reject) {\n var check = function check() {\n if (!predicate()) {\n return;\n }\n clearInterval(interval);\n resolve();\n };\n var interval = setInterval(check, 100);\n check();\n if (timeout) {\n setTimeout(function () {\n clearInterval(interval);reject();\n }, timeout);\n }\n });\n}\n\n},{}],244:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.within = within;\n/**\n * Check if `geometryToCheck` is within `geometry`\n * \n * @param { ol.geometry } geometry\n * @param { ol.geometry } geometryToCheck\n * @returns { boolean } whether `geometryToCheck` is within `geometry`\n * \n * @since 3.8.0\n */\nfunction within(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometryToCheck).within(olFromJsts.read(geometry));\n}\n\n},{}],245:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* Generated by gulpfile.js, do not edit manually */\n\nexports.default = '3.11.0-alpha.1';\n\n},{}]},{},[133]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","this","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","runClearTimeout","marker","Item","array","noop","nextTick","args","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","2","inserted","cache","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","3","_FieldText2","_interopRequireDefault","_FieldLink2","_FieldImage2","_FieldGeo2","_FieldMedia2","_FieldVue2","obj","__esModule","default","simple_field","text_field","link_field","image_field","geo_field","photo_field","media_field","vue_field","components/FieldGeo.vue","components/FieldImage.vue","components/FieldLink.vue","components/FieldMedia.vue","components/FieldText.vue","components/FieldVue.vue","4","_typeof","Symbol","iterator","constructor","_toRawType","Fields","getType","field","type","value","fieldValue","toRawType","coordinates","vue","isArray","photo","toString","toLowerCase","match","isSimple","isLink","isImage","isPhoto","isVue","add","_ref","remove","./fields","utils/toRawType","5","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","Constructor","validatorOptions","values","state","input","options","map","v","self","__proto__","Object","getPrototypeOf","ReferenceError","create","enumerable","writable","configurable","setPrototypeOf","gui/inputs/service","6","vueComponentOptions","newObj","key","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_createClass","protoProps","staticProps","defineProperties","target","props","descriptor","defineProperty","_convertQGISDateTimeFormatToMoment2","DateTimePickerService","_this","window","initConfig","user","i18n","datetimeformat","convertQGISDateTimeFormatToMoment","utils/convertQGISDateTimeFormatToMoment","9","DateTimePickerInput","components/InputDateTimePicker.vue","10","FloatService","11","FloatInput","components/InputFloat.vue","12","_application2","_InputBase2","_mixins","_asyncToGenerator","fn","gen","Promise","resolve","reject","step","arg","info","error","done","then","err","InputServices","Input","mixins","baseInputMixin","components","baseinput","watch","notvalid","_notvalid","service","setErrorMessage","state.value","default_expression","change","created","_this2","$watch","language","visible","yield","$nextTick","editable","validate","required","$emit","value_from_default_value","destroyed","./services","components/InputBase.vue","store/application","13","IntegerService","14","IntegerInput","components/InputInteger.vue","15","_slicedToArray","arr","sliceIterator","_arr","_n","_d","_e","_s","_i","next","_gui","_gui2","LonLatService","coordinatebutton","mapService","getService","mapEpsg","getCrs","mapControlToggleEventHandler","evt","isToggled","isClickMap","active","toggleGetCoordinate","getMap","outputEpsg","epsg","eventMapKey","lon","lat","valid","Number","isNaN","startToGetCoordinates","stopToGetCoordinates","deactiveMapControls","originalEvent","stopPropagation","preventDefault","coordinate","ol","proj","transform","_coordinate","Observable","unByKey","services/gui","16","LatLontInput","components/InputLonLat.vue","17","MediaService","18","MediaInput","components/InputMedia.vue","19","_data2","_pickfeatureinteraction2","_pickcoordinatesinteraction2","PickLayerService","pick_type","ispicked","fields","layerId","layer_id","interaction","layers","getLayerById","keyCode","owner","data","unpick","$","unbind","escKeyUpHandler","bindEscKeyUp","afterPick","feature","attributes","getProperties","filter","forEach","setModal","addInteraction","layer","getProjectLayer","getQueryLayersPromisesByCoordinates","feature_count","response","_response$0$data","features","fail","removeInteraction","unbindEscKeyUp","isPicked","map/interactions/pickcoordinatesinteraction","map/interactions/pickfeatureinteraction","services/data","20","PickLayerInput","components/InputPickLayer.vue","21","RadioService","22","RadioInput","components/InputRadio.vue","23","RangeService","min","max","_opts$state$input$opt","setValidator","24","RangeInput","components/InputRange.vue","25","_getCatalogLayerById","_createSingleFieldParameter","_defineProperty","SelectService","getCatalogLayerById","orderbyvalue","sort","b","val1","val2","search","_state$input$options","getData","_ref2","$value","addValue","text","sortValues","catch","_this3","_ref3","_ref3$layer_id","_ref3$key","_ref3$value","_this3$_layer$getData","_layer","_getLayerById","getDataTable","_","j","createSingleFieldParameter","operator","logicop","join","trim","properties","id","utils/createSingleFieldParameter","utils/getCatalogLayerById","26","SelectInput","components/InputSelect.vue","27","Validators","validators","float","bigint","MAX_SAFE_INTEGER","integer","isSafeInteger","checkbox","includes","datetimepicker","moment","fielddatetimeformat","isValid","char","varchar","string","radio","range","get","setValue","setEmpty","_validator","default_value","get_default_value","unshift","validator","empty","isEmpty","unique","exclude_values","size","has","message","mutually","mutually_valid","max_field","min_field","_state","_value","update","toUpperCase","g3w-i18n","28","InputsServices","textarea","texthtml","check","select","media","select_autocomplete","picklayer","color","slider","lonlat","./checkbox/service","./datetimepicker/service","./float/service","./integer/service","./lonlat/service","./media/service","./radio/service","./range/service","./select/service","./service","./sliderrange/service","./unique/service","29","SliderRangeService","30","components/InputSliderRange.vue","31","components/InputText.vue","32","TextAreaInput","components/InputTextArea.vue","33","TextHtmlInput","components/InputTextHtml.vue","34","UniqueService","35","UniqueInput","components/InputUnique.vue","36","_vueCookieLaw2","_vue2Teleport2","_g3wConstants","_g3wPanel2","_g3wComponent2","_getUniqueDomId","_promisify","_sameOrigin","_UserMessage2","_CatalogContextMenu2","_ModalLogin2","_ModalAddLayer2","_ModalChangeMap2","_ModalMetadata2","_ref7","_ref5","_ref4","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","ModalLogin","ModalAddlayer","ModalChangemap","ModalMetadata","Teleport","computed","languages","appconfig","dropdownParent","innerWidth","isIframe","top","urls","logo_url","project","thumbnail","mediaurl","header_logo_img","project_title","getState","username","login_url","has_iframe_login","sameOrigin","location","href","hasRelatedMaps","macrogroups","groups","projects","main_title","main_map_title","group_name","slug","breadcrumb","content","contentsdata","crumb","showresize","currentPerc","gui","layout","__current","rightpanel","split","secondaryPerc","showresizeicon","usermessage","showtitle","styles","width","sizes","height","zIndex","minHeight","VIEWPORT","resize","paddingTop","paddingBottom","contentTitle","_state$content$conten2","_state$content$conten","post_title","backOrBackTo","showgoback","previousTitle","sidebar","disabled","panels","showmainpanel","componentname","slice","getTitle","panelname","methods","templateResultLanguages","staticurl","element","oncCustomItemClick","querySelector","modal","click","append","showEmbedModal","url","URL","searchParams","set","getMapExtent","$t","initDialogMessages","messages","pid","getId","_loop","items","localStorage","getItem","LOCAL_ITEM_IDS","MESSAGES","JSON","parse","find","doNotShowAgainVueComponent","checked","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","$refs","openChangeMapMenu","isNotLastCrumb","index","closeContent","gotoPreviousContent","popContent","closeUserMessage","wrapMoveFnc","moveFnc","resizeStart","addEventListener","resizeStop","removeEventListener","resizeFull","toggleFullViewContent","sidebarSize","SIDEBARWIDTH","viewPortSize","mapSize","pageX","pageY","_VIEWPORT$resize","resized","Math","round","_layout","closePanel","closeAllPanels","_ref6","allSettled","d","promisify","unmount","parent","_x","splice","toggleSidebar","toggleSidebarItem","mini","classList","contains","collapsed","li","showSidebar","closest","component","comp","open","getOpen","menu","collapsible","_language","cl","i18next","changeLanguage","lng","pathArray","pathname","history","replaceState","mounted","iframe","toggle","isMobile","__vue__options__","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","ref","staticStyle","display","justify-content","role","padding","header_logo_link","frontendurl","alt","src","_v","autocomplete","hidden","for","class","$fa","margin-left","text-align","white-space","list-style","margin","_l","style","order","position","modifiers","data-placement","data-toggle","data-container","$event","img","img_title","domProps","innerHTML","first_name","last_name","data-target","admin_url","logout_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","g3w-disabled","justifyContent","font-weight","align-items","z-index","duration","enter","leave","subtitle","draggable","closable","autoclose","textMessage","icon-class","iconClass","close-usermessage","hooks","slot","tag","footer","mousedown","g3w-hide","online","font-size","show","loading","plugins","fontWeight","aside","mobile","tool","align-self","marginRight","margin-right","theme","buttonText","to","tabindex","data-backdrop","data-keyboard","aria-labelledby","aria-hidden","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ModalAddLayer.vue","components/ModalChangeMap.vue","components/ModalLogin.vue","components/ModalMetadata.vue","components/UserMessage.vue","g3w-component","g3w-constants","g3w-panel","utils/getUniqueDomId","utils/promisify","utils/sameOrigin","vue-cookie-law","vue2-teleport","vueify/lib/insert-css","37","_ref10","_ref9","_ref8","_g3wEventbus","_XHR","_CatalogChangeMapThemes2","__","_CatalogTristateTree2","$options","legend_position","showlegend","currentBaseLayer","CatalogChangeMapThemes","CatalogTristateTree","baselayers","hasBaseLayers","hasLayers","external","vector","layerstrees","reduce","l","tree","layersgroups","onLegendError","legendurl","onLegendLoad","getLegendSrc","_traverseVisibleLayers","legendurls","some","legend","context_base_legend","_getLegendSrc","_x2","_layers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","geolayer","exclude_from_legend","nodes","return","visiblelayers","method","http","GET","POST","source","ows_method","catalogLayer","getLegendUrl","all","format","categories","prefix","layerName","current","legend_on","replace","legend_off","params","LAYERS","STYLES","LEGEND_ON","LEGEND_OFF","url_params","tokens","filtertoken","createObjectURL","fetch","headers","Content-Type","encodeURIComponent","blob","_x4","getMapThemeFromThemeName","config","map_themes","flat","layerstree","XHR","result","_x5","setLayersTreePropertiesFromMapTheme","map_theme","changes","promises","traverse","mapThemeLayersTree","node","group","visibility","promise","setCurrentStyleAndResolvePromise","setCurrentStyle","getLayersStore","_ref6$node","expanded","_x6","changeMapTheme","rootNode","keys","clearCategories","VM","_x7","onTabClick","setBaseLayer","baseLayerId","getSrcBaseLayerImage","baseLayer","image","servertype","subtype","getResourcesUrl","onUnSelectionLayer","storeid","action","getActionLayerById","catalog","clearSelectionFids","selection","toggled","setSelectionFeatures","onActiveFilterTokenLayer","toggleFilterToken","_x8","_x9","onTreeNodeVisible","onTreeNodeSelected","selectLayer","state.external.wms","newlayers","oldlayers","catalog_tab","handler","_x10","immediate","_activeTab","oldTab","parentElement","$on","beforeMount","initbaselayer","!click","aria-controls","data-i18n","wms","gid","change-map-theme","root","parentFolder","legendplace","parent_mutually_exclusive","externallayers","gridTemplateColumns","base","fixed","opacity","load","bottom","background-color","line-height","border-top","margin-top","components/CatalogChangeMapThemes.vue","components/CatalogTristateTree.vue","g3w-eventbus","utils/XHR","38","_InputText2","LAYERSTREES_ATTRIBUTES","InputText","custom","mt","active_theme","toc_themes_init_status","custom_theme","i18nLabel","show_form","getElementById","_getMapThemeParams","treeItem","acc","attr","s","saveTheme","post","contentType","showUserMessage","updateTheme","c_theme","deleteTheme","dialog","confirm","bool","delete","custom_theme.value","add_map_theme_input","children","child","_x3","logged","padding-top","menu-open","_q","./InputText.vue","39","_vueColor","_downloadFile","shpwrite","ApplicationState","layer_style","left","project_menu","layer_menu","edit_url","layers_url","chrome-picker","Chrome","click-outside","bind","el","vnode","event","context","onShowContextMenu","closeMenu","x","x2","y2","x1","y1","mouseUp","mouseMove","clientX","clientY","marginLeft","parseInt","marginTop","offsetTop","offsetLeft","getBoundingClientRect","clientHeight","tooltip","download_menu","ogc_menu","_drag","onChangeColor","val","layer_color","backgroundColor","hex","getLayerByName","getStyle","_g3w_options","setStyle","canShowWmsUrl","isType","getFullWmsUrl","canShowWfsUrl","isWfsActive","canDownload","getWmsUrl","getCatalogWmsUrl","getWfsUrl","getCatalogWfsUrl","getWfs3Url","getCatalogWfs3Url","copyUrl","execCommand","copywmsurltooltip","download","map_extent","notify","downloadExternal","downloadFile","setLayerPosition","setZIndex","layersCount","zoomToLayer","goToBBox","bbox","minx","miny","maxx","maxy","canEdit","isEditable","editing","g3wsdk","core","plugin","PluginsRegistry","getPlugin","startEditing","showPanel","toolboxes","canZoom","coord","getGeometryType","geometryType","geometrytype","downloadExternalShapefile","getSource","getFeatures","crs","feat","clone","getGeometry","GeoJSON","writeFeaturesObject","featureProjection","folder","types","point","mulipoint","polygon","multipolygon","line","polyline","multiline","showAttributeTable","openAttributeTable","showMetadata","setLayerStyle","changed","setLayerFilter","fid","applyFilter","deleteFilterToken","deleteFilter","showMenu","overflowY","ul","offsetHeight","offsetWidth","maxHeight","_x11","canOpenAttributeTable","openattributetable","isExternalLayer","projectLayer","isExternalWMSLayer","_type","isExternalVectorLayer","canShowStylesMenu","canShowFiltersMenu","filters","hasMetadata","metadata","canShowOpacityPicker","onLayerOpacity","setOpacity","mouseover","getName","abstract","border-radius","right","defaultstyle","list","__r","$set","_m","hook:beforeDestroy","color_picker","$off","model","$$v","justify-self","padding-left","border-left","downloadUrl","vertical-align","fill","xmlns","xml:space","viewBox","shp-write","utils/downloadFile","vue-color","40","_click2","String","currentstyle","showfeaturecount","featurecount","externallegend","onCategoryClick","handleClick","showCategoryMenu","getWmsSourceLayerLegendUrl","isDisabled","showHideLayerCategory","mapReady","setLayerCategories","setError","urlLoaded","onChangeLayerLegendStyle","getStyleFeatureCount","dynamic","_ref4$nodes","getCategories","getLegendGraphic","_setAllLayerCategories","_updateLayerCategories","_ref5$symbols","symbols","ruleKey","symbol","_checked","setCategories","_ref6$symbols","category","findSymbol","onChangeMapLegendParams","runInitLayerVisibleAction","initialize","layer.visible","enabled","beforeDestroy","contextmenu","padding-right","stylesfeaturecount","mixins/click","41","_setAllLayersVisible","parentGroup","setVisible","_CatalogLayerLegend2","CatalogLayerLegend","isGroupChecked","controltoggled","n_childs","filtered","showLegendLayer","showLayerTocLegend","isGroup","legendlayerposition","showscalevisibilityclass","scalebasedvisibility","showScaleVisibilityToolip","isTable","isHidden","isHighLight","highlightlayers","isVisible","getTocHighlightable","isInGrey","getFeatureCount","total","categoryFeatureCount","layerstree.checked","handleGroupChecked","handleLayerChecked","removeCurrentFilter","mutually_exclusive","g","groupId","qlayer","saveFilter","toggleFilterLayer","clearSelection","expandCollapse","maybeZoomToLayer","onTreeItemClick","triClass","g3wtemplate","getFontClass","downloadExternalLayer","file","removeExternalLayer","showContextMenu","uncheckable","toc","itemmarginbottom","bold","removable","currentTarget","toc-added-external-layer","paddingLeft","highlightlayer","scalevisibility","current-tooltip","indexOf","_k","pagination","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","_t","word-wrap","43","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","44","geoMixin","Date","now","font","showLayer","45","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","max-height","data-interval","data-slide","components/Field.vue","46","_Field","openLink","link_url","47","mediaMixin","getMediaType","filename","48","49","vueoptions","50","_FormHeader2","_FormFooter2","switchcomponent","before","after","g3wformheader","G3wFormFooter","transitions","addremovetransition","isRootComponent","backToRoot","setRootComponent","handleRelation","relationId","disableComponent","_ref$disabled","resizeForm","perc","setCurrentFormPercentage","switchComponent","setCurrentComponentById","changeInput","addToValidate","removeToValidate","reloadLayout","bodyFromDOM","footerHeight","footerDOM","g3w_form_footer","g3wform_body","bodyHeight","updated","getEventBus","setValidComponent","setReady","clearAll","currentid","currentheaderid","resize-form","clickheader","hook:activated","addtovalidate","removetovalidate","changeinput","components/FormFooter.vue","components/FormHeader.vue","51","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","52","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","53","flex-direction","item_selected","fontSize","54","border","55","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","56","57","58","progress","borderRadius","59","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","60","_GlobalTabsNode2","_getFormDataExpressionRequestFromFeature","_convertFeatureToGEOJSON","_noop","showRelationByField","relation","showRelation","ids","required_fields","setVisibility","tab","inputs","qgs_layer_id","form_data","convertFeatureToGEOJSON","getFormDataExpressionRequestFromFeature","visibility_expression","formatter","outputs","setEditingRequireTab","field_name","getField","fieldName","toggleGroup","Node","unwatch","referenced_columns","root_tabs","tab_node","root_tab","group-title","in active","showTitle","components/GlobalTabsNode.vue","utils/convertFeatureToGEOJSON","utils/getFormDataExpressionRequestFromFeature","utils/noop","61","_InputG3W2","G3wInput","editing_required","filterNodes","getNodeType","nodesLength","rows","rowCount","columnNumber","floor","columnCount","columncount","showGroupTile","showlabel","groupbox","loadingRelation","getRelationById","isRelationDisabled","getRelationName","isRelationChildLayerNotEditable","projectRelation","relationLayer","referencingLayer","getNodes","row","startIndex","getNode","column","alias","getComponent","query","_b","$props","text-transform","components/InputG3W.vue","62","showHideHelp","loadingState","help","63","stateValueChanged","getValuesItem","convertValueToChecked","option","changeCheckBox","_getValuesItem","_getValuesItem2","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","64","placeholder","composing","65","resizeMixin","uniqueValue","widget_container","idinputdatetimepiker","domeDataPicker","hide","timeOnly","formats","onDatePickerChange","newDate","datetimedisplayformat","datetimefieldformat","onDatePickerShow","container","datetimepicker_body","datimewidget_container","abs","onDatePickerHide","_state$input$options$","_state$input$options$2","vertical","_formats$","fieldformat","disabledDates","displayformat","setValidatorOptions","toDate","ignoreReadonly","widgetParent","getLocale","readonly","66","67","Inputs","text_input","texthtml_input","textarea_input","integer_input","string_input","float_input","radio_input","check_input","range_input","datetimepicker_input","unique_input","select_input","media_input","select_autocomplete_input","picklayer_input","color_input","slider_input","lonlat_input","description","gui/inputs/checkbox/vue/checkbox","gui/inputs/color/vue/color","gui/inputs/datetimepicker/vue/datetimepicker","gui/inputs/float/vue/float","gui/inputs/integer/vue/integer","gui/inputs/lonlat/vue/lonlat","gui/inputs/media/vue/media","gui/inputs/picklayer/vue/picklayer","gui/inputs/radio/vue/radio","gui/inputs/range/vue/range","gui/inputs/select/vue/select","gui/inputs/sliderrange/vue/sliderrange","gui/inputs/text/vue/text","gui/inputs/textarea/vue/textarea","gui/inputs/texthtml/vue/texthtml","gui/inputs/unique/vue/unique","68","_InputG3W","show_required_field_message","69","70","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","trigger","clear","margin-bottom","labels","71","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","72","pickLayer","pickservice","pick","gui/inputs/picklayer/service","73","radio_value","74","Step","checkValue","getValidator","keydown","75","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","_toConsumableArray","InputMixin","selectMixin","select2Mixin","showPickLayer","picked","filterFields","isFilterFieldsReady","showNullOption","nullOption","select2NullValue","pickLayerValue","pickLayerInputService","getMultiValues","changeSelect","select2","Set","setAndListenSelect2Change","state.input.options.values","is_empty","_this4","filterFieldsUnwatches","relation_id","filter_fields","relation_reference","_state$input$options$3","chain_filters","_state$input$options$4","allowmulti","setLoading","_ApplicationState$pro","referencedLayer","_ApplicationState$pro2","fieldRef","referencingField","referencedField","relationLayerFields","getFields","_ref6$data","getFilterData","fformatter","ffield","_f","ordering","status","_ref11","_ref12","filterReferencedFieldValues","_ref13$data","rdata","_ref14","_ref15","dependencyLayerId","_state$input$options2","dependencyLayer","getEditingLayer","LayerTypes","TABLE","isStarted","_this5","selectElement","getLanguage","minimumInputLength","allowClear","ajax","delay","transport","success","failure","term","siblings","processResults","page","results","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","76","state.input.options.min","changeInfoMessage","state.input.options.max","77","keyup","mobileChange","78","max-width","min-width","79","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","background","handlers","html","firstChild","innerText","querySelectorAll","qlformat","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","column-left","insertColumnLeft","column-right","insertColumnRight","column-remove","deleteColumn","row-above","insertRowAbove","row-below","insertRowBelow","row-remove","deleteRow","getModule","novalid","80","tags","81","_copyUrl","hidemaps","map_info","mouse","switch_icon","epsg_4326","urlCopied","mapunit","showmapunits","mapunits","showHideControls","getMapControls","control","showHide","createCopyMapExtentUrl","switchMapsCoordinateTo4326","getMapControlByType","dispatchEvent","getEpsg","changeScaleLineUnit","onafter","ratio","_ref3$layers","_ref3$mainview","mainview","_ref3$switchable","switchable","_addHideMap","hidemap","_obj","utils/copyUrl","82","_QueryResultsActionChooseLayer2","_plugins2","_projections2","_flattenObject","_addZValueToOLFeatureGeometry","_isPointGeometryType","_convertSingleMultiGeometry","_getCatalogLayers","PROVIDERS","LAYER","is_clearing","mapcontrols","geocoding","providers","script","async","head","Vector","Style","Text","offsetY","stroke","Stroke","Fill","Icon","scale","RegularShape","points","radius","angle","PI","results_panel_open","is_layer_visible","getVisible","has_providers","extent","getProject","transformExtent","initextent","_hideMarker","toggleLayerVisibility","clearResults","getFeatureById","removeFeature","clearMarkers","__selected","removeFeatureLayerFromResult","q","isNumber","_split","_split2","y","projection","registerProjection","getCode","Feature","geometry","geom","Point","setId","addFeature","zoomToGeometry","reset","_ref3$","limit","__heading","provider","flattenObject","__uid","__icon","__no_results","onQuery","which","onValue","onReset","focus","_removeItem","uid","showMarkerResults","onItemClick","_item","parseFloat","zoomToFeatures","getCurrentContent","showQueryResults","_editItem","_feature","addZValueToOLFeatureGeometry","convertSingleMultiGeometry","getApi","addLayerFeature","queryresults","addLayer","zindex","registerVectorLayer","actions","editablePointLayers","getCatalogLayers","EDITABLE","GEOLAYER","isPointGeometryType","inediting","isInEditing","addCurrentActionToolsLayer","observable","toggleable","hint","setCurrentActionLayerFeatureTool","nolayers","unregisterVectorLayer","address_name","address_road","address_building","address_house_number","address_city","address_town","address_village","address_postcode","address_state","address_country","components/QueryResultsActionChooseLayer.vue","store/plugins","store/projections","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","83","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","84","_imagelayer","RasterLayer","layer_type","file_type","layer_name","layer_crs","getProjection","rgba","wms_config","wms_urls","wms_layers","olLayer","map_crs","persistent","csv_x","csv_y","csv_wkt","csv_separator","csv_loading","projections","error_message","parse_errors","wms_projections","at","crss","oldtype","unloadFile","unloadWMS","parseFile","input_file","accept","files","layer_data","zip","X","Y","wkt","JSZip","arrayBuffer","asText","shp","separator","pattern","RegExp","matches","shift","findIndex","WKT","readGeometry","dataProjection","gpx","GPX","gml","WMSGetFeatureInfo","geojson","kml","KML","extractStyles","kmz","readFeatures","unset","prop","GEOMETRY_FIELDS","getLocalWMSData","every","fetchWMS","updateLocalWMSData","_addExternalWMSLayer","deleteWMS","addExternalLayer","modal_addlayer","addWmsURL","_this6","found","deleteWmsUrl","_ref9$epsg","_ref9$position","_ref9$visible","res","rej","wmslayer","getOLLayer","interfaceowsurl","wmsurl","GetMap","w","changeLayerData","alldata","_this7","isReady","_ref13","$data","data-dismiss","$forceUpdate","font-family","border-bottom","padding-bottom","flex-grow","outline","user-select","h","map/layers/imagelayer","85","get_macro","get_group","_getListableProjects","LOGO_GIS3W","encodeURI","steps","curr_group","back","last_step","pop","has_steps","macrogroup_id","showMacroGroups","showGroups","showRoot","addStep","mg","m","showProjects","getListableProjects","setItemImageSrc","changeMapProject","base_url","baseurl","srid","map_url","origin","addMapExtentUrlParameterToUrl","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","utils/getListableProjects","86","onIframeLoaded","login_iframe","contentWindow","reload","grid-template-areas","place-items","inset","grid-area","87","_application4","customcredits","powered_by","docs_url","general","spatial","g3wsdk_info","showHideInfo","box","sanitizeValue","copy_g3wsdk_info","createRange","selectNode","getSelection","removeAllRanges","addRange","alert","credits","$script","complete","platform","pluginsConfigs","os","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","overflow","gap","rel","_process","services/application","88","_getScaleFromResolution","_getResolutionFromScale","_printAtlas","_resize2","vueComp","init","atlas_values","has_maps","maps","has_autocomplete","atlas","_init","_moveKey","_page","_resolutions","print","getPrint","PRINT_FORMATS","downloading","rotation","inner","scales","dpis","dpi","print_extent","changeTemplate","has_previous","_clearPrint","initSelect2Field","showPrintArea","_setPrintArea","changeScale","changeDpi","changeRotation","setInnerGreyCoverBBox","isAxisOrientationInverted","getAxisOrientation","getOverviewExtent","xmin","xmax","ymin","ymax","getPrintExtent","viewer","_map$getCoordinateFro","getCoordinateFromPixel","_map$getCoordinateFro2","_map$getCoordinateFro3","_map$getCoordinateFro4","has_theme","store","has_atlas","disableSideBar","printAtlas","vueComponentObject","setContent","preset_theme","getLayers","PRINTABLE","SERVERTYPE","reverse","getPrintLayerName","pdf","jpg","svg","URLSearchParams","SERVICE","VERSION","REQUEST","TEMPLATE","DPI","FORMAT","png","geopdf","FORMAT_OPTIONS","CRS","overview","_extends2","ok","getInternalComponent","_initPrintConfig","startDrawGreyCover","renderSync","w2","h2","resolution","getResolution","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","print_atlas","ko","suggest","matcher","noResults","errorLoading","searching","inputTooShort","minimum","vals","_this8","_skip_atlas_check","isInteger","_values","state.url","_this9","TIMEOUT","statusText","marginBottom","createTag","components/PrintPage.vue","mixins/resize","utils/getResolutionFromScale","utils/getScaleFromResolution","utils/printAtlas","89","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","onload","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","90","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","91","_createFilterFromString","currentlayer","test","manual","manualvalue","select.field","addToExpression","CACHE","querybuilder","getUrl","filterElement","previous","search_fields","selectedIndex","search_values","createFilterFromString","save","projectId","edit_id","searches","prompt","querybuildersearches","ITEMS","baselayer","exclude","relations","customPrefix","operators","FILTER_OPERATORS","skin-border-color","utils/createFilterFromString","92","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","Select2","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","showInPagination","getLayerDownloads","layerHasFeatures","rawdata","getLayerCustomComponents","layerscustomcomponents","getLayerField","layerField","getQueryFields","formStructure","_field","getFieldType","getColSpan","attributesSubsetLength","hasLayerOneFeature","addLayerFeaturesToResults","addLayerFeaturesToResultsAction","showLayerDownloadFormats","saveLayerResult","downloadFeatures","addRemoveFilter","getContainerFromFeatureLayer","hasOneLayerAndOneFeature","addToSelection","extractAttributesFromFirstTabOfFormStructureLayers","structure","traverseStructure","attributesSubset","_attributes","attribute","end","getLayerFormStructure","structuredClone","getLayerFeatureBox","relation_index","boxid","getBoxId","layersFeaturesBoxes","openCloseFeatureResult","collapsedFeatureBox","showFeatureInfo","toggleFeatureBox","toggleFeatureBoxAndZoom","opened","_x12","_x13","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","showPagination","counts","loadPaginationData","page_size","_x15","_x16","_x17","getCurrentPagSize","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","page_sizes","skin-background-color","pages","infoformat","colspan","layersactions","boxLayerFeature","currentactiontools","featureIndex","actiontools","noAttributes","feature-html-content","k","v2","k2","showresults","showResults","flex","components/QueryResultsActionInfoFormats.vue","components/QueryResultsHeaderFeatureActionsBody.vue","components/QueryResultsHeaderFeatureBody.vue","components/QueryResultsTableAttributeFieldValue.vue","utils/getMapLayersByFilter","utils/throttle","93","clickAction","originalDataTitle","hint_change","condition","94","has_layers","95","download_format","_download","96","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","97","choices","g3w_select_feature_featurepolygon","choice","98","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","99","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","100","101","g3w-link","g3w-vue","102","_FieldG3W2","_QueryResultsActionDownloadFormats2","previousview","showChartButton","cardinality","inject","chart","headercomponent","downloadButton","downloadLayer","showTools","isGeoLayer","showrelationslist","relationnoback","one","createTable","getDownloadableFormats","saveRelation","getDownloadUrl","showChart","chartContainer","G3W_FID","what","relationDataTable","relationtable","DataTable","autoWidth","bLengthChange","dom","columnDefs","orderable","targets","pageLength","responsive","scrollResize","scrollCollapse","scrollX","tableHeaderHeight","query_relation","parentNode","outerHeight","showFormStructureRow","showContent","internalComponent","editFeature","getRowFields","columns","adjust","$parent","setRelationsList","fieldIs","is","sidebarHeaderSize","tablecontent","chartcontent","relationwrapper","beforeCreate","delayType","destroy","toggled-white","minWidth","rows_fid","rowFormStructure","components/FieldG3W.vue","components/QueryResultsActionDownloadFormats.vue","103","featureInfo","noback","104","_buildRelationTable","cols","getTableHeaders","getLayerEditingFormStructure","_Relations2","_Relation2","_createRelationsUrl","_options","_$options","_$options$table","_$options$relation","_$options$relations","nmRelation","_$options$feature","_$options$currentview","currentview","_$options$chartRelati","chartRelationIds","provide","saveRelations","fileDownload","createRelationsUrl","httpMethod","relationData","hideChart","getRelationsNM","_ref3$features","_nmRelation$fieldRef","relationsNM","accumulator","property","relationLayerId","setCurrentContentOptions","relationName1","relationName2","save-relation","show-chart","hide-chart","components/Relation.vue","components/Relations.vue","utils/createRelationsUrl","105","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","106","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","autofilter","allvalue","SEARCH_ALLVALUE","is_staff","forminputs","filterlayers","search_layers","getFilterToken","clearFilters","paginate","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","reloadSelect2Inputs","setInputs","widget_type","opt","time","utils/getDataForSearchInput","107","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","108","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","109","_coordinatesToGeometry","_ref20","_createFeatureForSelection","coordinatesToGeometry","allfeatures","selectAll","nofilteredrow","show_tools","in_bbox","getRelations","getArray","getFather","father","father_fields","getFatherField","getChildField","has_map","async_highlight","getAll","firstCall","map_bbox","cb","disableSelectAll","has_features","current_layout","selectionFids","selectAllRows","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","PAGELENGTHS","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","_state$features","count","featurescount","getOlSelectionFeature","hasSelectionFid","unSelectAll","onGUIContent","filterChangeHandler","onbefore","closeSideBar","hideSidebar","_ref17","_ref18","pResolve","last_map_control","setContentKey","filterColumns","disableContent","bSortCellsTop","searchable","deferLoading","lengthMenu","processing","serverSide","sSearch","fragment","changeColumn","draw","createDocumentFragment","table_toolbar","un","height_100","mouseleave","utils/coordinatesToGeometry","110","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","warning","111","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","112","FormService","FormComponent","_get","object","receiver","desc","getOwnPropertyDescriptor","getter","_g3wObject2","_FormBody2","_getDefaultExpression","_getFilterExpression","_classCallCheck","_possibleConstructorReturn","addComponents","addComponent","getFormPercentage","headerComponent","setComponent","_setInitForm","parentData","_options$title","formId","_options$buttons","context_inputs","isnew","_options$footer","disabledcomponents","isNew","tovalidate","componentstovalidate","filter_expression_fields_dependencies","default_expression_fields_dependencies","default_expression_fields_on_update","listenChangeInput","setFormFields","setFormStructure","evaluateFilterExpressionFields","evaluateDefaultExpressionFields","isUpdated","_options$force","dependency_field","getDefaultExpression","_getField","getFilterExpression","filter_expression","referencing_fields","dependency_fields","_filter_expression$re","_filter_expression$re2","_default_expression$r","_default_expression$r2","apply_on_update","_default_expression$a","_field$input$options","_handleFieldWithFilterExpression","_handleFieldWithDefaultExpression","setFormPercentage","_input_name","_valid","inputname","filled","input_name","_component$header","eventBus","disableId","setIdHeader","getRootComponent","addedcomponentto","session","requested_expressions","pending_expressions","dFs","setters","setInitForm","handleFieldsWithExpression","setupFields","setFormData","setField","setState","_setState","addActionsForForm","components/Form.vue","components/FormBody.vue","g3w-object","utils/getDefaultExpression","utils/getFilterExpression","113","_ref3$feature_count","queryUrl","queryurl","parsed","_createFilterFormInputs","createFilterFormInputs","raw","autozoom_query","_relation$fieldRef","search_1n","search_1n_relationid","outputDataPlace","SearchPanel","search_endpoint","querylayerid","otherquerylayerids","op","_len","_key","_GUI$getService$getMa","_GUI$getService$getMa2","panel","createFilter","vueSearchComp","components/SearchPanel.vue","utils/createFilterFormInputs","114","VueColor","Proxy","fromEntries","Reflect","overviewproject","VueCookie","vue-cookie","115","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","116","removeAttribute","117","118","_utils","directives/utils","119","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","_ref$clear","g3w_observer","120","oldValue","121","tPlugin","122","_require","123","_el","_ref$el","componentUpdated","oldVnode","124","handleInnerHTML","__currentBinding","__innerHTML","125","çç","_cloneDeep","deprecate","merge","destination","Component","_G3WObject","iconConfig","_this$events$open$whe","_setOpen","_setVisible","setDisabled","_reload","_firstLayout","_components","random","resizable","closewhenshowviewportcontent","setService","setInternalComponent","events","_this$events$open","when","_this$events$open$cb","vueComponent","_service","propsData","internalComponentClass","$promisify","localize","$destroy","overwriteServiceMethods","extendInternalComponent","extendInternalComponentMethods","extendInternalComponentComponents","lodash.clonedeep","util-deprecate","126","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","DEFAULT_EDITING_CAPABILITIES","APP_VERSION","_version","_version2","gte","lte","NOT","eq","gt","lt","IN","LIKE","ILIKE","AND","OR","ltgt","ilike","like","POINT","POINTZ","POINTM","POINTZM","POINT25D","MULTIPOINT","MULTIPOINTZ","MULTIPOINTM","MULTIPOINTZM","MULTIPOINT25D","LINESTRING","LINESTRINGZ","LINESTRINGM","LINESTRINGZM","LINESTRING25D","LINE","LINEZ","LINEM","LINEZM","LINE25D","MULTILINESTRING","MULTILINESTRINGZ","MULTILINESTRINGM","MULTILINESTRINGZM","MULTILINESTRING25D","MULTILINE","MULTILINEZ","MULTILINEM","MULTILINEZM","MULTILINE25D","POLYGON","POLYGONZ","POLYGONM","POLYGONZM","POLYGON25D","MULTIPOLYGON","MULTIPOLYGONZ","MULTIPOLYGONM","MULTIPOLYGONZM","MULTIPOLYGON25D","GEOMETRYCOLLECTION","GEOMETRYCOLLECTIONZ","GEOMETRYCOLLECTIONM","GEOMETRYCOLLECTIONZM","GEOMETRYCOLLECTION25D","change-map","info-circle","globe","mail","fax","bars","uncheck","checkmark","filluncheck","trash","trash-o","pencil","ellips-h","ellips-v","arrow-up","arrow-down","arrow-left","arrow-right","resize-h","resize-v","resize-default","caret-up","caret-down","caret-left","caret-right","empty-circle","cloud-upload","spinner","minus","minus-square","plus","plus-circle","plus-square","grid","home","sign-out","calendar","link","unlink","eye","eye-close","video","unknow","excel","xls","gpkg","shapefile","csv","geotiff","ppt","circle","calculator","picture","keyboard","file-download","copy","chart-line","chart-area","chart-pie","crosshairs","file-upload","wifi","copy-paste","vector-square","invert","palette","sign-in","pin","square","move","moon","sun","refresh","pause","step-backward","fast-backward","step-forward","fast-forward","crop","exit","reply","share","share-alt","external-link","pointer","camera","measure","tint","copyright","forward","backward","EXCLUDE","./version","127","128","_g3wConstants2","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_createVectorLayerFromFile","_createSelectedStyle","_areCoordinatesEqual","_splitFeature","_within","_intersects","_distance","_getProjectUrl","_setProjectAliasUrl","_getProjectConfigByGid","_getProject","_tasks2","_measurecontrol","_mixins2","_createMeasureTooltip","_removeMeasureTooltip","_layersstore","_tablelayer","_vectorlayer","_featuresstore","_inherit","_base","_colorHEXToRGB","Plugin","PluginService","MapLayersStoresRegistry","FieldsService","constant","G3WObject","utils","inherit","uniqueId","colorHEXToRGB","geoutils","createVectorLayerFromFile","createSelectedStyle","areCoordinatesEqual","splitFeature","within","intersects","distance","Geometry","GeometryTypes","removeZValueToOLFeatureGeometry","getOLGeometry","isMultiGeometry","isLineGeometryType","isPolygonGeometryType","is3DGeometry","ApplicationService","task","TaskService","DataRouterService","errors","parsers","Server","ProjectsRegistry","setCurrentProject","getProjectUrl","setProjectAliasUrl","getProjectConfigByGid","getCurrentProject","MapLayersStoreRegistry","CatalogLayersStoresRegistry","LayersStore","TableLayer","VectorLayer","FeaturesStore","PickCoordinatesInteraction","PickFeatureInteraction","inputService","handleFilterExpressionFormInput","handleDefaultExpressionFormInput","GUI","Panel","ComponentsFactory","build","G3WInput","InputsComponents","Mixins","services","interactions","controls","createMeasureTooltip","removeMeasureTooltip","finally","console","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","./g3w-plugin","components/g3w-form","components/g3w-search","map/controls/measurecontrol","map/layers/feature","map/layers/featuresstore","map/layers/layersstore","map/layers/tablelayer","map/layers/vectorlayer","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","utils/createVectorLayerFromFile","utils/distance","utils/getOLGeometry","utils/getProject","utils/getProjectConfigByGid","utils/getProjectUrl","utils/inherit","utils/intersects","utils/is3DGeometry","utils/isLineGeometryType","utils/isMultiGeometry","utils/isPolygonGeometryType","utils/removeMeasureTooltip","utils/removeZValueToOLFeatureGeometry","utils/setProjectAliasUrl","utils/splitFeature","utils/within","129","getAppLanguage","addI18n","i18nObject","addResource","addI18nPlugin","_lang","130","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","131","onShow","onClose","132","setPlugin","dependencies","api","_api","getConfig","hook","_hook","hookservices","default_config","width_100","_ready","setLayout","_timeout","iscompatible","isCurrentProjectCompatible","registerPlugin","pluginsName","getDependencyPlugin","getDependencyPlugins","pluginName","_ref3$hook","_ref3$loading","getHookService","_ref4$hook","addToolGroup","removeToolGroup","setHookService","configs","addTools","_ref6$state","toolsGroups","removeTools","sidebarOptions","removeComponent","clearAllEvents","dependency","addFontClass","fc","_ref$name","_ref$config","_ref$service","_ref$dependencies","_ref$i18n","_ref$fontClasses","fontClasses","_ref$api","setName","setConfig","setLocale","setDependencies","addFontClasses","setApi","currentLayout","own","_pluginEvents","_ref10$once","_ref11$params","removeEvent","unsubscribeAllEvents","_appEvents","layoutName","133","_locales2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","ACTIONS","directive","use","install","_isMobile","added","mixin","any","inheritAttrs","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","views","i18nextXHRBackend","ns","fallbackLng","resources","jqueryI18next","tName","i18nName","handleName","selectorAttr","targetAttr","optionsAttr","useOptionsAttr","parseDefaultValueFromContent","ajaxSetup","beforeSend","xhr","setRequestHeader","minscale","maxscale","initproject","addLayersStore","addClass","search_title","localeCompare","addTool","tt","stop","removeTool","_t2","groupName","G3wTool","state.toolsGroups","getLayersTree","_ref5$type","_ref6$type","createLayersGroup","_ref7$title","_ref7$layers","addLayersGroup","getExternalLayers","_ref8$type","getComponentById","gidProject","enabledPlugins","otherPluginsConfig","configurationPlugins","law","baseUrl","jsscripts","responseJSON","compile","./deprecated","./g3w-globals","components/App.vue","components/Catalog.vue","components/GlobalBarLoader.vue","components/GlobalDateTime.vue","components/GlobalDivider.vue","components/GlobalHelpDiv.vue","components/GlobalProgressBar.vue","components/GlobalRange.vue","components/GlobalTabs.vue","components/Map.vue","components/Print.vue","components/QueryResults.vue","components/Search.vue","components/SidebarItem.vue","components/SpatialBookMarks.vue","directives/v-checked","directives/v-disabled","directives/v-download","directives/v-select2","directives/v-t","directives/v-t-html","directives/v-t-plugin","directives/v-t-title","directives/v-t-tooltip","locales","services/iframe","services/queryresults","134","translation","error_page","at_moment","f5","cookie_law","sign_in","layer_selection_filter","nofilter","show_features_on_map","savefilter","filterName","not_supported_format","layer_position","sdk","template_dialog","spatialbookmarks","helptext","sections","no_results","error_loading","layer_not_searchable","layer_not_querable","inputshort","pre","help_filter","no_layers","download_image","fids_instruction","fids_example","number_of_features","error_run","error_test","additem","unsupported_format","add_external_layer","fees","accessconstraints","contactinformation","subfields","contactorganization","ContactOrganization","contactposition","ContactPosition","contactperson","ContactPerson","wms_url","attribution","tooltips","form_to_row","row_to_form","zoomtogeometry","copy_map_extent_url","download_shapefile","download_gpx","download_gpkg","download_csv","download_xls","download_pdf","show_chart","add_selection","zoom_to_features_extent","add_features_to_results","remove_feature_from_results","zoom_to_feature","relations_charts","download_features_shapefile","download_features_gpx","download_features_gpkg","download_features_csv","download_features_xls","copy_zoom_to_fid_url","queryby","none","new","querybypolygon","querybydrawpolygon","querybbox","querybycircle","choiches","feature_polygon","no_geometry","nolayers_visible","addlayer","geolocation","measures","area","no_valid_scale","scaleline","metric","nautical","zoomhistory","zoom_last","zoom_next","relation_data","no_relations_found","back_to_relations","list_of_relations_feature","error_missing_father_field","form","input_validation_mutually_exclusive","input_validation_error","input_validation_error_type","input_validation_min_field","input_validation_max_field","input_validation_exclude_values","qgis_input_widget_relation","current_map_theme_prefix","choose_map_theme","choose_map_theme_input_label","project_map_theme","user_map_theme","question_delete_map_theme","delete_map_theme","saved_map_theme","updated_map_theme","invalid_map_theme_name","layerposition","setwmsopacity","copied","geotiff_map_extent","wps","list_process","g3wSuiteFramework","g3wSuiteDescription","productOf","toggle_color_scheme","logout","no_other_projects","no_other_groups","yes","no","backto","changemap","change_session","create_print","dosearch","externalwms","nobaselayer","street_search","copy_form_data","paste_form_data","copy_form_data_from_feature","error_map_loading","check_internet_connection_or_server_admin","could_not_load_vector_layers","server_saver_error","server_error","cancel","dont_show_again","enlange_reduce","exitnosave","annul","layer_is_added","add_wms_layer","delete_wms_url","layer_id_already_added","url_already_added","layer_add_error","list_of_relations","open_link","link_button","choose_layer","noresults","notresponseserver","add_layer_control","select_projection","select_field_to_show","select_csv_separator","select_csv_x_field","select_csv_y_field","select_color","drag_layer","input_relation","screenshot","securityError","catalog_items","zoomtolayer","open_attribute_table","show_metadata","vector_color_menu","layer_opacity","no_data","nodatafilterd","135","geoscreenshot","persistent_data","persistent_help","ogc_services","query_filter","sidebar_menu","choose_type","remote_wms_url","local_file","embed_map","homepage","wms_server","connect_to_wms","disconnect_from_wms","add_new_wms_url_help","no_csv_field","136","137","wms_layer_id_already_added","wms_url_already_added","138","_it2","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","translations","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","139","140","geolocations","141","142","143","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","144","InteractionControl","_ol$control$Control","_control","positionCode","interactionClass","customClass","cursorClass","_originalonlick","_onclick","onclick","_enabled","eventKeys","_handleClick","_toggled","_interactionClassOptions","interactionClassOptions","initInteraction","getViewport","_spatialMethod","eventKey","_options$visible","_options$enabled","_options$toggled","_options$clickmap","clickmap","_options$interactionC","_options$autountoggle","autountoggle","_options$geometryType","geometryTypes","_options$onhover","onhover","_options$help","toggledTool","_options$interactionC2","_options$layers","spatialMethod","unwatches","_visible","_interactionClass","_interaction","_autountoggle","_geometryTypes","_onhover","_help","_helpButton","_toolButton","_createModalHelp","createControlTool","setEnable","runSpatialQuery","setSpatialMethod","eventType","originalHandler","pos","hWhere","hOffset","previusControls","previusControl","offset","btn","onSetMap","setMap","setActive","setMouseCursor","newPosition","controlWidth","outerWidth","each","first","toggleClass","getSpatialMethod","toggleUserMessage","how","prepend","showToggledTool","hover","__title","__iconClass","getControls","onToggled","Control","145","MeasureControl","Draw","_clearMessagesAndListeners","_map","measureTooltip","_measureTooltipElement","_helpTooltipElement","_featureGeometryChangelistener","_poinOnMapMoveListener","_keyDownEventHandler","setGeometry","Polygon","getCoordinates","LineString","removeLastPoint","dragging","_helpMsg","_helpTooltip","setPosition","removeOverlay","Overlay","positioning","addOverlay","getElement","setOffset","measureStyle","drawColor","lineDash","Circle","_projection","_drawStart","_drawEnd","ntype","otype","addType","146","QueryBy","POLYGON_TYPES","CONTROLS","QUERY","dfeature","getSelectedLayerId","queryable","_hasVisible","setRadius","update__ALL__Text","selectedLayerNotQuerable","showAddLayerModal","autorun","setTocHighlightable","templateType","templateLayer","externalLayers","getLegacyExternalLayers","_unwatches","DragBox","_getAvailableLayers","startCoord","boundingExtent","setEventKey","getRadius","finishDrawing","_ref7$data","addControl","getEnable","isQueryable","getGeometryTypes","unWatches","addExternal","layersFilterObject","SELECTED_OR_ALL","FILTERABLE","VISIBLE","filtrable","multilayers","querymultilayers","filterConfig","excludeSelected","fromCircle","SELECTED","_ref10$error","isFilterable","getQuerableLayersStores","getProvider","147","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","148","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","149","StreetViewControl","GoogleStreetViewApiUrl","google","keyError","responseText","_sv","_panorama","_lastposition","_streetViewFeature","dx","dy","atan2","pixel","StreetViewService","getPanorama","StreetViewPanorama","imageDateControl","lnglat","getPixelFromCoordinate","setPov","pitch","heading","latLng","showStreetView","_ol$proj$transform","_ol$proj$transform2","clearMarker","_toggle","addFeatures","150","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","151","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","152","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","153","_g3wObject","_features","_provider","_loadedIds","_lockIds","_addFeature","_removeFeature","updateFeature","_updateFeature","_clearFeatures","_filterFeaturesResponse","commit","commitItems","featurestore","lockids","featuresLockedByOtherUser","lockFeatures","_options$features","_options$featurelocks","featurelocks","featureid","fl","featuresToAdd","featureId","lockIds","union","154","BaseClass","checkUrl","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","155","ImageLayer","_geoMixin2","_get_legend_params2","withLayers","_olLayer","_makeOlLayer","allLayers","layerObj","TileArcGISRest","resolutions","iframe_internal","getWMSLayerName","cache_type","cache_layer","cache_extent","cache_grid","cache_grid_extent","tilegrid","createXYZ","getResolutions","WMTS","matrixSet","cache_format","tileGrid","getTopLeft","matrixIds","transparent","extraParams","tiled","XYZ","maxZoom","minZoom","crossOrigin","tileLoadFunction","tile","getImage","TileState","ERROR","TileGrid","getExtent","_method","mapUnits","OPACITIES","mapState","_get_legend_params","get_legend_params","getOpacity","updateParams","isArcgisMapserver","setMapParamstoLegendUrl","showSpinnerWhenLoading","LAYERTYPE","MULTILAYER","getInfoFormat","getGetFeatureInfoUrl","getQueryUrl","infourl","maxResolution","TileWMS","ImageWMS","TRANSPARENT","SLD_VERSION","sld_version","imageLoadFunction","_ref6$force","project_type","layerForEditing","setEditingLayer","isExternalWMS","isWmsUseLayerIds","isLayerProjectionASMapProjection","_ref7$type","source_layer","_hasExternalWMSOrLegend","_getBaseLayerName","_ref9$type","wmsUrl","infolayer","replaceAll","getInfoFormats","useProxy","_config$bbox","is_qgis","getServerType","layertitle","ctx_legend","_params$customParams","customParams","_params$customParams$","_params$customParams$2","fontsize","_params$customParams$3","boxspace","layerspace","_params$customParams$4","layertitlespace","symbolspace","iconlabelspace","symbolwidth","symbolheight","itemfontfamily","layerfontfamily","layerfontbold","itemfontbold","layerfontitalic","itemfontitalic","rulelabel","_params$customParams$5","legendUrl","wfscapabilities","capabilities","_mapLayer","getOwsMethod","cache_service_type","getCacheUrl","isWMS","setAttributions","_BASE_LAYER","IMAGE","setup","OSM","basemap","streets","aerial","aerialwithlabels","preload","BingMaps","imagerySet","bing","getProjectionFromCrs","_this3$config","_this3$config$format","_this3$config$style","requestEncoding","grid_extent","getWidth","z","pow","singleTile","_this3$config2","_this3$config2$visibl","map/layers/geo-mixin","utils/get_legend_params","156","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","mapProjection","qgis","_projections","is_table","getMapProjection","_filter","QUERY_LAYERS","FEATURE_COUNT","I","J","FILTER","WITH_GEOMETRY","nofeatures","nofeatures_field","lk","_opts$layers","_opts$size","_opts$coordinates","tolerance","query_point_tolerance","proxy","getWMSInfoLayerName","FILTER_GEOM","writeGeometry","FI_POINT_TOLERANCE","FI_LINE_TOLERANCE","FI_POLYGON_TOLERANCE","G3W_TOLERANCE","WIDTH","HEIGHT","BBOX","SOURCE","timer","race","uri","getDataProxyFromServer","wfs","MAXFEATURES","TYPENAME","getWFSLayerName","OUTPUTFORMAT","SRSNAME","reproject","WFS","writeGetFeature","featureTypes","repeat","DOWNLOAD_FORMATS","download_raster","_ref49","_ref42","_ref39","_ref35","_ref34","_ref33","_ref32","_ref31","_ref30","_ref28","_ref27","_ref26","_ref24","_ref23","_ref22","suffixUrl","vectorUrl","rasterUrl","unlock","widget","_relations","suffix","origname","fatherField","childField","getChild","isLoading","getPrefix","setTitle","_length","_reloadRelationsInfo","_relationsInfo","fathers","father_child","relationKey","getLength","_ref13$type","setRelations","getRelationByFatherChildren","isChild","isFather","hasChildren","getChildren","hasFathers","getFathers","layerType","canShowTable","downloadable","isDownloadable","attributetable","tochighlightable","layersstore","proxyData","_ref15$data","_ref16$data","getDownloadFilefromDownloadDataType","_ref17$data","_ref18$data","_ref19$data","_ref20$data","_ref21$data","isBaseLayer","relationName","hasRelations","has_current","_applyFilterToken","hideOlSelectionFeatures","_x21","mode","setFilter","setFilterToken","_x22","_ref25","_x23","createFilterToken","_x24","_ref29$data","fidsout","fidsin","setSelection","setInversionOlSelectionFeatures","createToken","is_excluded","setSelectionFidsAll","isSelectionActive","setOlSelectionFeatureByFid","_x27","setselectionFidsAll","_x29","excludeSelectionFid","proxyParams","_ref36","setProxyData","wms_use_layer_ids","_this10","_ref37","_ref37$page","_ref37$page_size","_ref37$ordering","_ref37$search","_ref37$suggest","_ref37$formatter","_ref37$custom_params","custom_params","parseAttributes","getAttributes","_ref40","_ref40$fids","_ref40$formatter","_ref41","_this11","_options$search_endpo","_x44","_x45","_ref43","_ref43$raw","_ref43$formatter","getTableFields","editor_form_structure","customstyle","_editingLayer","editingLayer","CAPABILITIES","conditionalFiltrable","_this12","conditions","isFiltrable","layer_config_value","condition_attribute_values","qtimeseries","_ref46","ogcService","getSourceType","infoFormat","layerstore","not_show_attributes_table","_ref47","_ref47$options","_ref47$reset","_ref48","_ref48$options","_ref48$reset","changeFieldType","VECTOR","_ref50","cansole","warn","_x55","wms_getmap_format","components/Table.vue","utils/parseAttributes","utils/prompt","157","_isQueryable","setLayerSelected","addLayers","CACHED","BASELAYER","VECTORLAYER","HIDDEN","DISABLED","IDS","isSelected","isPrintable","TOC_ORDER","_getAllSiblingsChildrenLayersId","getLayersDict","getAttributeLabel","nodeIds","_getInitExtent","getInitExtent","_getInitExtent2","rootGroup","_traverseLayersTree","tocLayersId","full","_traverseLightLayersTree","getGeoLayers","setLayersTree","lightlayer","mutually-exclusive","_setLayersTreeGroupBBox","project_epsg","_ol$proj$transformExt","_ol$proj$transformExt2","extentCoordinate","minxx","158","_waitFor","_Layer","clearFeatures","setFeatures","setColor","_color","updateOlSelectionFeature","_ref5$constraints","constraints","waitFor","_editor","Editor","started","modified","getEditingSource","readEditingFeatures","getEditingFields","featuresstore","setFeaturesStore","addLockIds","createAttrs","_opts$exclude","_opts$get_default_val","forceNull","utils/waitFor","159","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","160","autocompleteRequest","161","showhelpicon","setUpdate","162","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","163","getFieldService","_fieldsService","sanitizeFieldValue","164","countNoTEmptyInputName","165","166","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","167","isMedia","168","DELAY_TYPE","delayWrapper","delayResize","delayTime","169","resetValues","usecompleter","$container","170","171","172","_groupBy","_ref21","handleQueryPromises","responses","reason","contextAndMethod","_options$inputs","_options$outputs","query:coordinates","_ref4$layerIds","layerIds","_ref4$multilayers","_ref4$query_point_tol","_ref4$addExternal","_ref5$data","query:bbox","_ref7$feature_count","_ref7$filterConfig","_ref7$multilayers","_ref7$condition","_ref7$excludeSelected","_ref7$addExternal","_ref7$layersFilterObj","getQueryLayersPromisesByGeometry","fromExtent","_ref8$data","query:polygon","_ref10$feature_count","_ref10$filterConfig","_ref10$multilayers","_ref10$condition","_ref10$layerName","_ref10$excludeSelecte","_ref10$external","_ref10$type","messagetext","_ref11$data","search:features","searchFeatures","search:fids","_ref17$formatter","_ref17$fids","getFeatureByFids","olFeat","search:layersfids","_ref19","_ref19$layers","_ref19$fids","_ref19$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref22$method","_ref22$params","_ref22$headers","proxy:data","_ref23$feature_count","_ref23$query_point_to","_ref23$multilayers","_ref23$reproject","groupBy","getInfoUrl","getMultiLayerId","mapCrs","_ref26$filterConfig","_ref26$multilayers","_ref26$feature_count","utils/groupBy","173","_clearContents","_iframe2","COMPONENTS","SERVICES","navbar","setViewSizes","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","primaryView","getReducedSizes","contentEl","reducedWidth","sideBarToggleEl","toggleWidth","_toggleWidth","reducedHeight","_closeUserMessage","backonclose","contents","headertools","_showView","jQuery","_layoutComponents","isready","push_content","bootbox","currentoutputplace","register","drawing","resizeFired","triggerResize","drawResize","componentId","downloadFnc","output","rid","pending_output","crid","setQueryResponse","errorToMessage","formComponent","_ref7$pop","disable","disableElement","clearState","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","174","_normalizeEpsg","normalizeEpsg","_getEpsgFromParam","_objectWithoutProperties","IframePluginService","AppService","EditingService","serviceNames","setLayers","eventResponseServiceHandler","postMessage","getMessage","dataPromise","outputData","_options$action","parser","writeFeatures","pendingactions","_evt$data","_evt$data$id","_evt$data$single","single","is_ready","getReady","stopPendingActions","BaseIframeService","_ref13$layers","setDependencyApi","dependencyApi","_ref15$noValue","noValue","_ref20$qgs_layer_id","_ref20$zoom","_ref20$highlight","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_params$coordinates","zoomTo","_ref29","_params$extent","_params$highlight","getQgsLayerId","findFeaturesWithGeometry","changeMap","responseObject","setSaveConfig","toolbox","hidePanel","_error","isRunning","stopEditing","subscribersHandlers","subscribe","subscribevents","unsubscribe","_ref38","configQglLayerId","getEditableLayersId","startAction","startstopediting","setActiveTool","getToolById","addSubscribeEvents","_x26","_x30","_options$action2","_this13","_x33","_this14","resetDefault","resetSubscribeEvents","canUndo","activeTool","_ref32$disableToolbox","disableToolboxes","setEnabled","setEditing","canRedo","cancelform","addfeature","isActive","closeeditingpanel","stopAction","utils/normalizeEpsg","175","_localforage2","_queryby","_geolocationcontrol","_streetviewcontrol","_scalecontrol","_screenshotcontrol","_MapControlZoomHistory2","_MapControlGeocoding2","MAP","offlineids","stores","animatingHighlight","removeLayersStore","getLayersStores","zoomtoextent","ZoomToExtent","Zoom","ScaleLine","OverviewMap","zoombox","_startCoordinate","runQuery","getQueryPointTolerance","getInteraction","streetview","addlayers","mouseposition","MousePosition","MapService","_controls","g3w","external_wms","external_vector","_externalInteractions","defaultsLayers","mapcenter","_style","highlightLayer","selectionLayer","layersExtraParams","_drawShadow","outer","_howManyAreLoading","_marker","onLayerLoadStart","onLayerLoadEnd","onLayerLoadError","onExtraParamsSet","updateMapLayers","_keyEvents","setupCustomMapParamsToLegendUrl","_setupCustomMapParamsToLegendUrl","setupControls","_config","header_terms_of_use_text","header_terms_of_use_link","getMapLayers","Attribution","coordinateFormat","_ref7$","createMapControl","coords","undefinedHTML","setCoordinateFormat","createStringXY","View","_calculateViewOptions","constrainCenter","collapseLabel","mapLayer","WMSUrl","showMarker","addHideMap","_ref10$switchable","idMap","setHidden","setupViewer","showmarker","iframetype","zoom_to_fid","zoom_to_features","currentControl","can_drag","olMap","Map","rotateOptions","autoHide","DragRotate","platformModifierKeyOnly","ol3Logo","keyboardEventTarget","getZoom","dispose","goTo","_fit","changeBaseLayer","insertAt","getInteractions","DoubleClickZoom","interval","elapsed","frameState","easing","easeOut","getCurrentToggledMapControl","getActiveTool","zoomToFid","zoomToFeaturesUrl","getResolutionForExtent","background_color","int","_watchInteraction","stopEvent","setLayerZIndex","getZIndex","_setupAllLayers","setUpMapOlEvents","_setUpEventsKeysToLayersStore","_removeEventsKeysToLayersStore","controlClick","mapcontrol","loadExternalLayer","unloadExternalLayer","showSpinner","hideSpinner","show_load_layer_error","shown","dynamicLegend","_ref16$layers","_ref16$mainview","olView","_idMap$map$getSize","setSize","navigator","msSaveBlob","msToBlob","toBlob","intersectGeom","vectorLayer","getIntersectedFeatures","intersectsExtent","MultiPolygon","_ref19$add","_ref19$toggled","_ref19$options","_zoom_to_fid$split","_zoom_to_fid$split2","_ref22$data","pLayer","_zoom_to_features$spl","_zoom_to_features$spl2","_x25","addToMapControls","buttonControl","placement","enable","removeControl","hideControl","_this15","_ref26$close","_unToggleControls","getLayerConfigs","ml","getHeight","_this16","addLayerToMap","_this17","blayers","registerMapLayerListeners","setMapProjection","mapLayers","isQtimeseries","getFormat","_this18","unregisterMapLayerListeners","_ref34$zindex","_ref35$showSpinner","g3w_time","_this19","updateMapLayer","getBaseLayers","_this20","elId","_options$active","_this21","getActive","setZoom","animate","_this22","gtype","is_ol_geom","f_ext","is_multi","getGeometryAndExtentFromFeatures","highLightGeometry","_getGeometryAndExtent2","curr","containsExtent","goToRes","_x51","constrainResolution","setDefaultLayerStyle","_this23","geometryObj","hlayer","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this24","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this25","unWatch","onRemoveExternalLayer","externalLayer","_this26","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","_ref44","components/MapControlGeocoding.vue","components/MapControlZoomHistory.vue","localforage","map/controls/geolocationcontrol","map/controls/queryby","map/controls/scalecontrol","map/controls/screenshotcontrol","map/controls/streetviewcontrol","176","_QueryResultsActionQueryPolygonCSVAttributes2","_layer4","QueryResultsService","layersId","queryResponse","FILTER_SELECTED","_vectorLayers","getVectorLayerFeaturesFromQueryRequest","drawpolygon","resultsQueryLayer","is_layer","is_vector","is_string","sourceType","layerAttrs","specialAttrs","layerAttr","featureAttr","_setRelationField","relationsattributes","_atlas","setLayersData","_projectLayerIds","updateLayerResultFeatures","addActionsForLayers","closeComponent","changeLayerResult","activeMapInteraction","unlistenerlayeractionevents","plotLayerIds","currentactionfeaturelayer","_addFeaturesLayerResultInteraction","toggleeventhandler","_asyncFnc","todo","goToGeometry","_project","_setRelations","_state$query$paginati","_state$query$paginati2","has_filtertoken","_getFeatureId","_ref6$id","_ref6$position","responseLayer","features_ids","responseFeatures","feature_id","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","is_selected_feature","hint_changed","_ref11$component","_ref12$config","_ref13$component","_ref13$config","external_layer","not_current","new_layer","_x19","isOneLayerResult","querytitle","actionId","layerAction","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref17$atlas","_ref17$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","_x31","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","layerSelection","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","177","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","178","STATE","onLine","upload","stack","cloasable","179","PLUGINS","180","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","181","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","182","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","183","coordinates1","coordinates2","184","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","185","186","writeFeatureObject","187","matchDayInDate","188","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","189","MultiLineString","MultiPoint","190","tempinput","191","_ref$inputs","192","_ref$filter","193","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","194","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","195","_ref$color","_ref$fill","asString","asArray","196","_ref$operator","_ref$logicop","197","_fields","198","func","199","c1","c2","sqrt","200","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","201","propName","202","203","204","205","_ref5$fields","206","_field$input$options$","_data","207","208","209","listable","210","211","212","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","createLayersTree","213","214","215","216","217","218","219","keyFn","220","childCtor","parentCtor","tempCtor","221","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","222","type3D","223","224","225","226","227","228","229","layerAttributes","featureAttributes","featureAttributesName","230","_reverseGeometry","NUMERIC_FIELD","reverseGeometry","_ref3$type","_traverseErrorMessage","getQueryLayerOrigName","part","geometryName","_ref5$layers","_ref5$wms","layersFeatures","defaultDataProjection","g3w_fid","originalFeatureMember","_ref9$wms","_ref9$id","invalids","XMLSerializer","serializeToString","matchAll","x2js","fromCharCode","X2JS","xml_str2json","ServiceExceptionReport","ServiceException","FeatureCollection","featureMember","xml","grouped","fm","__prefix","_fm","_fid","__text","sub_index","json2xml_str","olfeatures","is_reprojected","invalid","_ref12$layers","errorObject","entry","utils/reverseGeometry","231","multi","FETCH","EXP_FILTER","DOWNLOAD","_ref$params","_ref3$params","232","233","vueInput","okBtn","234","235","236","_reverseCoords","_coords","237","url1","url2","238","239","240","splitfeature","geometries","splittedFeatureGeometries","polygonFeature","lineFeatureGeometry","geomClass","splitFeatures","isZType","polygonFeatureGeometry","externalPolygonFeatureGeometry","splitGeometry","holePolygons","getLinearRingCount","holeFeaturesGeometry","holeRing","operation","polygonize","Polygonizer","holyPolygonUnion","toArray","polygonizer","polygons","polygonCoordinates","zCoordinates","difference","write","is_single","_ret","splitted","splittedSegments","jstsFromWkt","WKTReader","wktFromOl","splitLine","wktLineString","targetCoordinates","targetLine","geometryFactory","GeometryFactory","pointsNotSplitted","endPoint","startPoint","segment","createLineString","intersectCoordinates","intersection","splitPoint","lineNewSegment","restOfLine","pointNotSplitted","241","lastCall","previousCall","242","243","predicate","244","245"],"mappings":"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ACfxpD,KAAM,iBACR,EACAsZ,UAAW,CACTtZ,KAAM,gBACR,EACAypD,iBAAkB,CAChBzpD,KAAM,sBACR,EACA0pD,4BAA6B,CAC3B1pD,KAAM,6BACR,EACA6oD,mBAAoB,CAClB7oD,KAAM,4BACR,EACA2pD,sBAAuB,CACrB3pD,KAAM,sBACR,EACA4pD,uBAAwB,CACtB5pD,KAAM,wBACR,EACA8oD,aAAc,CACZ9oD,KAAM,sBACR,EACA+oD,cAAe,CACb/oD,KAAM,uBACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,uBACR,EACAgpD,aAAc,CACZhpD,KAAM,sBACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,uBACR,EACAipD,aAAc,CACZjpD,KAAM,sBACR,EACAkpD,aAAc,CACZlpD,KAAM,sBACR,EACAuO,MAAO,CACLvO,KAAM,aACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,iBACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,mBACT2iF,YAAa,0BACb3kE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,yBACTge,KAAM,CACJlmC,QAAS,qIACX,CACF,EACAyqG,UAAW,CACTviF,QAAS,mBACT4iF,iBAAkB,yFAClB5kE,KAAM,CACJlmC,QAAS,wGACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CA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CrB3pD,KAAM,iCACR,EACA4pD,uBAAwB,CACtB5pD,KAAM,kCACR,EACA8oD,aAAc,CACZ9oD,KAAM,iCACR,EACA+oD,cAAe,CACb/oD,KAAM,kCACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,iCACR,EACAgpD,aAAc,CACZhpD,KAAM,iCACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,iCACR,EACAipD,aAAc,CACZjpD,KAAM,iCACR,EACAkpD,aAAc,CACZlpD,KAAM,iCACR,EACAuO,MAAO,CACLvO,KAAM,eACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,uBACT2iF,YAAa,0BACb3kE,KAAM,CACJlmC,QAAS,+IACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,+BACX,EACAuiF,UAAW,CACTviF,QAAS,+BACT4iF,iBAAkB,+FAClB5kE,KAAM,CACJlmC,QAAS,4GACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,2FACX,CACF,EACAruD,QAAS,YACX,EACA8iF,YAAa,CACX9iF,QAAS,2BACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,SACTge,KAAM,sFACR,EACAglE,KAAM,CACJhjF,QAA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uF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,+BACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,mBACT,EACA89F,gBAAiB,CACf99F,MAAO,0BACT,CACF,CACF,EACAob,QAAS,uBACT2iF,YAAa,0CACb3kE,KAAM,CACJlmC,QAAS,+LACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,gCACX,EACAuiF,UAAW,CACTviF,QAAS,oBACT4iF,iBAAkB,uHAClB5kE,KAAM,CACJlmC,QAAS,yFACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,wGACX,CACF,EACAruD,QAAS,kBACX,EACA8iF,YAAa,CACX9iF,QAAS,iBACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,WACTge,KAAM,oHACR,EACAglE,KAAM,CACJhjF,QAAS,OACTge,KAAM,0GACR,CACF,EACAiV,MAAO,CACLgwD,eAAgB,kBAClB,EACAC,UAAW,CACTp3C,MAAO,CACLq3C,OAAQ,QACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,iBACXC,UAAW,cACb,CACF,EACA/xC,UAAW,CACTgyC,cAAe,yBACfC,mBAAoB,0BACpBC,kBAAmB,uBACnBC,0BAA2B,wCAC3BC,2BAA4B,iCAC5B5gH,MAAO,oBACT,EACA6gH,KAAM,CACJt1F,QAAS,gBACTwrB,OAAQ,CACNl3B,SAAU,CACRwnF,OAAQ,CACNrxF,UAAW,sGACb,CACF,EACA0nG,SAAU,CACR1nG,UAAW,gCACXG,OAAQ,mDACV,EACA2qG,oCAAqC,oCACrCC,uBAAwB,gDACxBC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CACtB5pD,KAAM,mBACR,EACA8oD,aAAc,CACZ9oD,KAAM,kBACR,EACA+oD,cAAe,CACb/oD,KAAM,mBACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,kBACR,EACAgpD,aAAc,CACZhpD,KAAM,kBACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,kBACR,EACAipD,aAAc,CACZjpD,KAAM,kBACR,EACAkpD,aAAc,CACZlpD,KAAM,kBACR,EACAuO,MAAO,CACLvO,KAAM,cACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,yBACN4hB,YAAa,2BACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,oBACPyS,MAAO,uBACPgxG,KAAM,UACNC,IAAK,qBACLpuF,IAAK,QACLpS,QAAS,CACP2nF,WAAY,YACZD,OAAQ,aACV,EACA+Y,eAAgB,CACdriF,QAAS,uBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,qBACX,EACAuiF,UAAW,CACTviF,QAAS,uBACX,EACAwiF,cAAe,CACbxiF,QAAS,oBACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,qBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,kCACT,CACF,CACF,EACAob,QAAS,yBACT2iF,YAAa,2CACb3kE,KAAM,CACJlmC,QAAS,iGACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,sCACTge,KAAM,CACJlmC,QAAS,yKACX,CACF,EACAyqG,UAAW,CACTviF,QAAS,qBACT4iF,iBAAkB,wHAClB5kE,KAAM,CACJlmC,QAAS,iIACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,qCACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+DACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,4FACX,CACF,EACAruD,QAAS,kBACX,EACA8iF,YAAa,CACX9iF,QAAS,yBACX,EACA+iF,SAAU,CACRrkH,MAAO,SACPnC,OAAQ,CACNyjC,QAAS,YACTge,KAAM,kHACR,EACAglE,KA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R,EACAipD,aAAc,CACZjpD,KAAM,qBACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,8DACN4hB,YAAa,YACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,uBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,2BACT,CACF,CACF,EACAob,QAAS,6BACT2iF,YAAa,8BACb3kE,KAAM,CACJlmC,QAAS,8IACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,8BACX,EACAuiF,UAAW,CACTviF,QAAS,yBACT4iF,iBAAkB,sGAClB5kE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,yFACX,CACF,EACAruD,QAAS,eACX,EACA8iF,YAAa,CACX9iF,QAAS,gBACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,UACTge,KAAM,gGACR,EACAglE,KAAM,CACJhjF,QAAS,SACTge,KAAM,wFACR,CACF,EACAiV,MAAO,CACLgwD,eAAgB,qBAClB,EACAC,UAAW,CACTp3C,MAAO,CACLq3C,OAAQ,QACRC,SAAU,aACZ,CACF,EACAC,YAAa,CACXC,UAAW,eACXC,UAAW,YACb,CACF,EACA/xC,UAAW,CACTgyC,cAAe,yBACfC,mBAAoB,iCACpBC,kBAAmB,oBACnBC,0BAA2B,wBAC3BC,2BAA4B,eAC5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svB,YAAa,CACX3U,MAAO,CACLxd,QAAS,mBACTu3B,QAAS,CACP+pD,cAAe,CACbppD,KAAM,yBACR,EACAqpD,wBAAyB,CACvBrpD,KAAM,gCACR,EACAspD,wBAAyB,CACvBtpD,KAAM,kCACR,EACAupD,4BAA6B,CAC3BvpD,KAAM,+BACR,EACAwpD,gBAAiB,CACfxpD,KAAM,kBACR,EACAsZ,UAAW,CACTtZ,KAAM,iBACR,EACAypD,iBAAkB,CAChBzpD,KAAM,2BACR,EACA0pD,4BAA6B,CAC3B1pD,KAAM,gCACR,EACA6oD,mBAAoB,CAClB7oD,KAAM,gCACR,EACA2pD,sBAAuB,CACrB3pD,KAAM,0BACR,EACA4pD,uBAAwB,CACtB5pD,KAAM,2BACR,EACA8oD,aAAc,CACZ9oD,KAAM,0BACR,EACA+oD,cAAe,CACb/oD,KAAM,2BACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,0BACR,EACAgpD,aAAc,CACZhpD,KAAM,0BACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,0BACR,EACAipD,aAAc,CACZjpD,KAAM,0BACR,EACAkpD,aAAc,CACZlpD,KAAM,0BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,uDACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,6BACT,CACF,CACF,EACAob,QAAS,0BACT2iF,YAAa,+BACb3kE,KAAM,CACJlmC,QAAS,sJACX,CACF,EACAwqG,mBAAoB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Z9oD,KAAM,2BACR,EACA+oD,cAAe,CACb/oD,KAAM,4BACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,2BACR,EACAgpD,aAAc,CACZhpD,KAAM,2BACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,2BACR,EACAipD,aAAc,CACZjpD,KAAM,2BACR,EACAkpD,aAAc,CACZlpD,KAAM,2BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,wBACT2iF,YAAa,0BACb3kE,KAAM,CACJlmC,QAAS,6HACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,wBACX,EACAuiF,UAAW,CACTviF,QAAS,6CACT4iF,iBAAkB,8GAClB5kE,KAAM,CACJlmC,QAAS,oHACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,2FACX,CACF,EACAruD,QAAS,gBACX,EACA8iF,YAAa,CACX9iF,QAAS,kBACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,QACTge,KAAM,0FACR,EACAglE,KAAM,CACJhjF,QAAS,SACTge,KAAM,qFACR,CACF,EACAiV,MAAO,CACLgwD,eAAgB,WAClB,EACAC,UAAW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"} \ No newline at end of file +{"version":3,"file":"app.min.js","sources":["build.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],2:[function(require,module,exports){\nvar inserted = exports.cache = {}\n\nfunction noop () {}\n\nexports.insert = function (css) {\n if (inserted[css]) return noop\n inserted[css] = true\n\n var elem = document.createElement('style')\n elem.setAttribute('type', 'text/css')\n\n if ('textContent' in elem) {\n elem.textContent = css\n } else {\n elem.styleSheet.cssText = css\n }\n\n document.getElementsByTagName('head')[0].appendChild(elem)\n return function () {\n document.getElementsByTagName('head')[0].removeChild(elem)\n inserted[css] = false\n }\n}\n\n},{}],3:[function(require,module,exports){\nvar _FieldText = require('components/FieldText.vue');\n\nvar _FieldText2 = _interopRequireDefault(_FieldText);\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldImage = require('components/FieldImage.vue');\n\nvar _FieldImage2 = _interopRequireDefault(_FieldImage);\n\nvar _FieldGeo = require('components/FieldGeo.vue');\n\nvar _FieldGeo2 = _interopRequireDefault(_FieldGeo);\n\nvar _FieldMedia = require('components/FieldMedia.vue');\n\nvar _FieldMedia2 = _interopRequireDefault(_FieldMedia);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n simple_field: _FieldText2.default,\n text_field: _FieldText2.default,\n link_field: _FieldLink2.default,\n image_field: _FieldImage2.default,\n geo_field: _FieldGeo2.default,\n photo_field: _FieldImage2.default,\n media_field: _FieldMedia2.default,\n vue_field: _FieldVue2.default\n};\n\n},{\"components/FieldGeo.vue\":44,\"components/FieldImage.vue\":45,\"components/FieldLink.vue\":46,\"components/FieldMedia.vue\":47,\"components/FieldText.vue\":48,\"components/FieldVue.vue\":49}],4:[function(require,module,exports){\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _toRawType = require('utils/toRawType');\n\nvar Fields = require('./fields');\n\nmodule.exports = {\n /**\n * Get Type field from field value\n * field: Object contains the value of the field\n * @param field\n * @returns {string}\n */\n getType: function getType(field) {\n var type = field.type;\n if ('vue' !== type) {\n var fieldValue = field.value;\n var value = fieldValue && 'Object' === (0, _toRawType.toRawType)(fieldValue) && !fieldValue.coordinates && !fieldValue.vue ? fieldValue.value : fieldValue;\n if (!value) {\n type = 'simple';\n } else if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n if (value.coordinates) {\n type = 'geo';\n } else if (value.vue) {\n type = 'vue';\n }\n } else if (value && Array.isArray(value)) {\n if (value.length && value[0].photo) {\n type = 'photo';\n } else {\n type = 'simple';\n }\n } else if (value.toString().toLowerCase().match(/[^\\s]+.(png|jpg|jpeg|gif)$/g)) {\n type = 'photo';\n } else if (value.toString().match(/^(https?:\\/\\/[^\\s]+)/g)) {\n type = 'link';\n } else {\n type = 'simple';\n }\n }\n return type + '_field';\n },\n isSimple: function isSimple(field) {\n return 'simple_field' === this.getType(field);\n },\n isLink: function isLink(field) {\n return 'link_field' === this.getType(field);\n },\n isImage: function isImage(field) {\n return 'image_field' === this.getType(field);\n },\n isPhoto: function isPhoto(field) {\n return 'photo_field' === this.getType(field);\n },\n isVue: function isVue(field) {\n return 'vue_field' === this.getType(field);\n },\n\n /**\n * Method to add a new field type to Fields\n * @param type\n * @param field\n */\n add: function add(_ref) {\n var type = _ref.type,\n field = _ref.field;\n\n Fields[type] = field;\n },\n\n /**\n * Remove field from a Fields list\n * @param type\n */\n remove: function remove(type) {\n delete Fields[type];\n }\n};\n\n},{\"./fields\":3,\"utils/toRawType\":242}],5:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(CheckBoxService, _Service);\n\n function CheckBoxService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, CheckBoxService);\n\n opts.validatorOptions = {\n values: opts.state.input.options.values.map(function (v) {\n return v;\n })\n };\n return _possibleConstructorReturn(this, (CheckBoxService.__proto__ || Object.getPrototypeOf(CheckBoxService)).call(this, opts));\n }\n\n return CheckBoxService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],6:[function(require,module,exports){\nvar _InputCheckbox = require('components/InputCheckbox.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputCheckbox);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar CheckBoxInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = CheckBoxInput;\n\n},{\"components/InputCheckbox.vue\":63}],7:[function(require,module,exports){\nvar _InputColor = require('components/InputColor.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputColor.vue\":64}],8:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _convertQGISDateTimeFormatToMoment2 = require('utils/convertQGISDateTimeFormatToMoment');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(DateTimePickerService, _Service);\n\n function DateTimePickerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, DateTimePickerService);\n\n var _this = _possibleConstructorReturn(this, (DateTimePickerService.__proto__ || Object.getPrototypeOf(DateTimePickerService)).call(this, opts));\n\n _this.validatorOptions = {};\n return _this;\n }\n\n _createClass(DateTimePickerService, [{\n key: 'getLocale',\n value: function getLocale() {\n return window.initConfig.user.i18n ? window.initConfig.user.i18n : 'en';\n }\n }, {\n key: 'convertQGISDateTimeFormatToMoment',\n value: function convertQGISDateTimeFormatToMoment(datetimeformat) {\n return (0, _convertQGISDateTimeFormatToMoment2.convertQGISDateTimeFormatToMoment)(datetimeformat);\n }\n }, {\n key: 'setValidatorOptions',\n value: function setValidatorOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.validatorOptions = opts;\n }\n }]);\n\n return DateTimePickerService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/convertQGISDateTimeFormatToMoment\":187}],9:[function(require,module,exports){\nvar _InputDateTimePicker = require('components/InputDateTimePicker.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputDateTimePicker);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar DateTimePickerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = DateTimePickerInput;\n\n},{\"components/InputDateTimePicker.vue\":65}],10:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(FloatService, _Service);\n\n function FloatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FloatService);\n\n return _possibleConstructorReturn(this, (FloatService.__proto__ || Object.getPrototypeOf(FloatService)).call(this, opts));\n }\n\n return FloatService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],11:[function(require,module,exports){\nvar _InputFloat = require('components/InputFloat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputFloat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar FloatInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = FloatInput;\n\n},{\"components/InputFloat.vue\":66}],12:[function(require,module,exports){\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _InputBase = require('components/InputBase.vue');\n\nvar _InputBase2 = _interopRequireDefault(_InputBase);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputServices = require('./services');\n\nvar Input = {\n props: ['state'],\n mixins: [_mixins.baseInputMixin],\n components: {\n 'baseinput': _InputBase2.default\n },\n watch: {\n 'notvalid': function notvalid(_notvalid) {\n if (_notvalid) {\n this.service.setErrorMessage();\n }\n },\n 'state.value': function stateValue() {\n var _this = this;\n\n if (undefined !== this.state.input.options.default_expression) {\n // need to postpone state.value watch parent that use mixin\n setTimeout(function () {\n return _this.change();\n });\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.service = new InputServices[this.state.input.type]({ state: this.state });\n\n this.$watch(function () {\n return _application2.default.language;\n }, _asyncToGenerator(function* () {\n if (_this2.state.visible) {\n _this2.state.visible = false;\n _this2.service.setErrorMessage();\n yield _this2.$nextTick();\n _this2.state.visible = true;\n }\n }));\n\n if (this.state.editable && this.state.validate.required) {\n this.service.validate();\n }\n\n this.$emit('addinput', this.state);\n /**\n * in case of input value is fill with default value option we need to emit changeinput event\n * without check validation. Example:\n * {\n \"name\": \"id\",\n \"type\": \"integer\",\n \"label\": \"id\",\n \"editable\": false,\n \"validate\": {\n \"required\": true,\n \"unique\": true\n },\n \"pk\": true,\n \"default\": \"nextval('g3wsuite.zone_id_seq'::regclass)\",\n \"input\": {\n \"type\": \"text\",\n \"options\": {}\n }\n }\n in this case if we start a validation, it fail because default value is a string while input is interger\n */\n if (this.state.value_from_default_value) {\n this.$emit('changeinput', this.state);\n }\n },\n destroyed: function destroyed() {\n // emit remove input to form (in case for example tab visibility condition)\n this.$emit('removeinput', this.state);\n }\n};\n\nmodule.exports = Input;\n\n},{\"./services\":28,\"components/InputBase.vue\":62,\"mixins\":166,\"store/application\":178}],13:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(IntegerService, _Service);\n\n function IntegerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, IntegerService);\n\n return _possibleConstructorReturn(this, (IntegerService.__proto__ || Object.getPrototypeOf(IntegerService)).call(this, opts));\n }\n\n return IntegerService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],14:[function(require,module,exports){\nvar _InputInteger = require('components/InputInteger.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputInteger);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar IntegerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = IntegerInput;\n\n},{\"components/InputInteger.vue\":69}],15:[function(require,module,exports){\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(LonLatService, _Service);\n\n function LonLatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LonLatService);\n\n var _this = _possibleConstructorReturn(this, (LonLatService.__proto__ || Object.getPrototypeOf(LonLatService)).call(this, opts));\n\n _this.coordinatebutton;\n _this.mapService = _gui2.default.getService('map');\n _this.mapEpsg = _this.mapService.getCrs();\n\n _this.mapControlToggleEventHandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n _this.coordinatebutton.active && _this.toggleGetCoordinate();\n }\n };\n _this.map = _this.mapService.getMap();\n _this.outputEpsg = _this.state.epsg || _this.mapEpsg;\n //Store event map key\n _this.eventMapKey;\n return _this;\n }\n\n _createClass(LonLatService, [{\n key: 'setCoordinateButtonReactiveObject',\n value: function setCoordinateButtonReactiveObject(coordinatebutton) {\n this.coordinatebutton = coordinatebutton;\n }\n }, {\n key: 'validate',\n value: function validate() {\n if (this.state.values.lon < -180) {\n this.state.values.lon = -180;\n } else if (this.state.values.lon > 180) {\n this.state.values.lon = 180;\n }\n if (this.state.values.lat < -90) {\n this.state.values.lon = -90;\n } else if (this.state.values.lat > 90) {\n this.state.values.lon = 90;\n }\n\n this.state.validate.valid = !Number.isNaN(1 * this.state.values.lon);\n }\n }, {\n key: 'toggleGetCoordinate',\n value: function toggleGetCoordinate() {\n this.coordinatebutton.active = !this.coordinatebutton.active;\n this.coordinatebutton.active ? this.startToGetCoordinates() : this.stopToGetCoordinates();\n }\n }, {\n key: 'startToGetCoordinates',\n value: function startToGetCoordinates() {\n var _this2 = this;\n\n this.mapService.deactiveMapControls();\n this.mapService.on('mapcontrol:toggled', this.mapControlToggleEventHandler);\n this.eventMapKey = this.map.on('click', function (evt) {\n evt.originalEvent.stopPropagation();\n evt.preventDefault();\n var coordinate = _this2.mapEpsg !== _this2.outputEpsg ? ol.proj.transform(evt.coordinate, _this2.mapEpsg, _this2.outputEpsg) : evt.coordinate;\n _this2.state.value = [coordinate];\n\n var _coordinate = _slicedToArray(coordinate, 2),\n lon = _coordinate[0],\n lat = _coordinate[1];\n\n _this2.state.values.lon = lon;\n _this2.state.values.lat = lat;\n });\n }\n }, {\n key: 'stopToGetCoordinates',\n value: function stopToGetCoordinates() {\n ol.Observable.unByKey(this.eventMapKey);\n this.mapService.off('mapcontrol:toggled', this.mapControlToggleEventHandler);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stopToGetCoordinates();\n }\n }]);\n\n return LonLatService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"services/gui\":173}],16:[function(require,module,exports){\nvar _InputLonLat = require('components/InputLonLat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputLonLat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar LatLontInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = LatLontInput;\n\n},{\"components/InputLonLat.vue\":70}],17:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(MediaService, _Service);\n\n function MediaService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediaService);\n\n return _possibleConstructorReturn(this, (MediaService.__proto__ || Object.getPrototypeOf(MediaService)).call(this, opts));\n }\n\n return MediaService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],18:[function(require,module,exports){\nvar _InputMedia = require('components/InputMedia.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputMedia);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar MediaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = MediaInput;\n\n},{\"components/InputMedia.vue\":71}],19:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _pickfeatureinteraction = require('map/interactions/pickfeatureinteraction');\n\nvar _pickfeatureinteraction2 = _interopRequireDefault(_pickfeatureinteraction);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n function PickLayerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickLayerService);\n\n this.pick_type = opts.pick_type || 'wms';\n this.ispicked = false;\n this.fields = opts.fields || [opts.value];\n this.layerId = opts.layer_id;\n this.mapService = _gui2.default.getService('map');\n this.interaction = 'map' === this.pick_type ? new _pickfeatureinteraction2.default({\n layers: [this.mapService.getLayerById(this.layerId)]\n }) : new _pickcoordinatesinteraction2.default();\n }\n\n /**\n *\n * @return {boolean|*}\n */\n\n\n _createClass(PickLayerService, [{\n key: 'isPicked',\n value: function isPicked() {\n return this.ispicked;\n }\n }, {\n key: 'escKeyUpHandler',\n\n\n /**\n * bind interrupt event\n */\n value: function escKeyUpHandler(_ref) {\n var keyCode = _ref.keyCode,\n owner = _ref.data.owner;\n\n if (27 === keyCode) {\n owner.unpick();\n }\n }\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n $(document).on('keyup', { owner: this }, this.escKeyUpHandler);\n }\n }, {\n key: 'pick',\n\n\n /**\n *\n * @return {Promise}\n */\n value: function pick() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this.bindEscKeyUp();\n var values = {};\n _this.ispicked = true;\n var afterPick = function afterPick(feature) {\n if (feature) {\n var attributes = feature.getProperties();\n //filter eventually null or undefined field\n _this.fields.filter(function (f) {\n return f;\n }).forEach(function (field) {\n return values[field] = attributes[field];\n });\n resolve(values);\n } else {\n reject();\n }\n _this.ispicked = false;\n _this.unpick();\n };\n _gui2.default.setModal(false);\n _this.mapService.addInteraction(_this.interaction);\n\n _this.interaction.once('picked', function (e) {\n if ('map' === _this.pick_type) {\n var feature = e.feature;\n afterPick(feature);\n } else if ('wms' === _this.pick_type) {\n var layer = _gui2.default.getService('map').getProjectLayer(_this.layerId);\n if (layer) {\n _data2.default.getQueryLayersPromisesByCoordinates([layer], {\n map: _this.mapService.getMap(),\n feature_count: 1,\n coordinates: e.coordinate\n }).then(function (response) {\n var _response$0$data = response[0].data,\n data = _response$0$data === undefined ? [] : _response$0$data;\n\n var feature = data.length && data[0].features[0] || null;\n afterPick(feature);\n }).fail(function (e) {\n return console.warn(e);\n });\n }\n }\n });\n });\n }\n }, {\n key: 'unpick',\n\n\n /**\n *\n */\n value: function unpick() {\n this.mapService.removeInteraction(this.interaction);\n _gui2.default.setModal(true);\n this.unbindEscKeyUp();\n this.ispicked = false;\n }\n }, {\n key: 'clear',\n\n\n /**\n *\n */\n value: function clear() {\n if (this.isPicked()) {\n this.unpick();\n }\n this.mapService = this.interaction = this.field = null;\n }\n }]);\n\n return PickLayerService;\n}();\n\n},{\"map/interactions/pickcoordinatesinteraction\":150,\"map/interactions/pickfeatureinteraction\":151,\"services/data\":172,\"services/gui\":173}],20:[function(require,module,exports){\nvar _InputPickLayer = require('components/InputPickLayer.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputPickLayer);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PickLayerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = PickLayerInput;\n\n},{\"components/InputPickLayer.vue\":72}],21:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RadioService, _Service);\n\n function RadioService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RadioService);\n\n return _possibleConstructorReturn(this, (RadioService.__proto__ || Object.getPrototypeOf(RadioService)).call(this, opts));\n }\n\n return RadioService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],22:[function(require,module,exports){\nvar _InputRadio = require('components/InputRadio.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRadio);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RadioInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RadioInput;\n\n},{\"components/InputRadio.vue\":73}],23:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RangeService, _Service);\n\n function RangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RangeService);\n\n var _opts$state$input$opt = opts.state.input.options.values[0],\n min = _opts$state$input$opt.min,\n max = _opts$state$input$opt.max;\n\n opts.state.info = '[MIN: ' + min + ' - MAX: ' + max + ']';\n\n var _this = _possibleConstructorReturn(this, (RangeService.__proto__ || Object.getPrototypeOf(RangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * min && value <= 1 * max;\n }\n });\n return _this;\n }\n\n _createClass(RangeService, [{\n key: 'isValueInRange',\n value: function isValueInRange(value, min, max) {\n return value <= max && value >= min;\n }\n }]);\n\n return RangeService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],24:[function(require,module,exports){\nvar _InputRange = require('components/InputRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputRange.vue\":74}],25:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(SelectService, _Service);\n\n function SelectService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SelectService);\n\n var _this = _possibleConstructorReturn(this, (SelectService.__proto__ || Object.getPrototypeOf(SelectService)).call(this, opts));\n\n _this.layer = null;\n return _this;\n }\n\n _createClass(SelectService, [{\n key: '_getLayerById',\n value: function _getLayerById(layer_id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer_id);\n }\n }, {\n key: 'addValue',\n value: function addValue(value) {\n this.state.input.options.values.push(value);\n }\n }, {\n key: 'sortValues',\n value: function sortValues() {\n var orderbyvalue = this.state.input.options.orderbyvalue;\n\n this.state.input.options.values.sort(function (a, b) {\n var val1 = a[orderbyvalue ? 'value' : 'key'];\n var val2 = b[orderbyvalue ? 'value' : 'key'];\n if (val1 < val2) {\n return -1;\n }\n if (val1 > val2) {\n return 1;\n }\n return 0;\n });\n }\n }, {\n key: 'getKeyByValue',\n value: function getKeyByValue() {\n var _this2 = this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n search = _ref.search;\n\n var _state$input$options = this.state.input.options,\n value = _state$input$options.value,\n key = _state$input$options.key;\n\n return new Promise(function (resolve, reject) {\n _this2.getData({\n key: key,\n value: value,\n search: search\n }).then(function (values) {\n values.forEach(function (_ref2) {\n var key = _ref2.$value,\n value = _ref2.text;\n\n _this2.addValue({\n key: key,\n value: value\n });\n });\n _this2.sortValues();\n resolve(_this2.state.input.options.values);\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }, {\n key: 'getData',\n\n\n /**\n *\n * @param layer_id\n * @param key\n * @param value\n * @param search\n * @return {Promise}\n */\n value: function getData() {\n var _this3 = this;\n\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$layer_id = _ref3.layer_id,\n layer_id = _ref3$layer_id === undefined ? this.state.input.options.layer_id : _ref3$layer_id,\n _ref3$key = _ref3.key,\n key = _ref3$key === undefined ? this.state.input.options.key : _ref3$key,\n _ref3$value = _ref3.value,\n value = _ref3$value === undefined ? this.state.input.options.value : _ref3$value,\n search = _ref3.search;\n\n return new Promise(function (resolve, reject) {\n var _this3$_layer$getData;\n\n if (!_this3._layer) {\n _this3._layer = _this3._getLayerById(layer_id);\n }\n _this3._layer.getDataTable((_this3$_layer$getData = {}, _defineProperty(_this3$_layer$getData, Array.isArray(search) ? 'field' : 'suggest', Array.isArray(search) //take in account multiselect value\n ? search.map(function (_, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: key, value: search[j], operator: \"eq\", logicop: null });\n }).join('|OR,') || '' : (key + '|' + search).trim()), _defineProperty(_this3$_layer$getData, 'ordering', _this3.state.input.options.orderbyvalue ? value : key), _this3$_layer$getData)).then(function (response) {\n var values = response.features.map(function (f) {\n return {\n text: f.properties[key],\n id: f.properties[value],\n $value: f.properties[value]\n };\n });\n resolve(values);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }]);\n\n return SelectService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203}],26:[function(require,module,exports){\nvar _InputSelect = require('components/InputSelect.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSelect);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar SelectInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = SelectInput;\n\n},{\"components/InputSelect.vue\":75}],27:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toRawType = require('utils/toRawType');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar Validators = {\n\n validators: {\n float: function float() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return !Number.isNaN(Number(1 * value));\n };\n },\n\n\n /**\n * @since v3.10.0\n * @param options\n */\n bigint: function bigint() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n value = 1 * value;\n return !Number.isNaN(value) ? value <= Number.MAX_SAFE_INTEGER : false;\n };\n },\n integer: function integer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n var integer = 1 * value;\n return !Number.isNaN(integer) ? Number.isSafeInteger(integer) && integer <= 2147483647 : false;\n };\n },\n checkbox: function checkbox() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return (this.options.values || []).includes(value);\n };\n },\n datetimepicker: function datetimepicker() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value, options) {\n return moment(value, options.fielddatetimeformat, true).isValid();\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n char: function char(options) {\n this.options = options;\n this.validate = function (value) {\n return value && 1 === ('' + value).length;\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n varchar: function varchar() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n text: function text() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n string: function string() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n radio: function radio() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n default: function _default() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n range: function range() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var min = options.min,\n max = options.max;\n\n this.validate = function (value) {\n value = 1 * value;\n return value >= min && value <= max;\n };\n }\n },\n\n get: function get(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return new (this.validators[type] || this.validators.default)(options);\n }\n};\n\nmodule.exports = function () {\n function Service() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Service);\n\n // set state of input\n this.state = options.state || {};\n // type of input\n //this.state.validate.required && this.setValue(this.state.value);\n /*\n * set starting value of input based on value or default value on options\n */\n this.setValue(this.state.value);\n this.setEmpty(this.state.value);\n var type = this.state.type;\n var validatorOptions = options.validatorOptions || this.state.input.options || {};\n // useful for the validator to validate input\n this._validator = Validators.get(type, validatorOptions);\n this.setErrorMessage();\n }\n\n _createClass(Service, [{\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: 'getValue',\n value: function getValue() {\n return this.state.value;\n }\n }, {\n key: 'setValue',\n\n\n /**\n * @param value\n *\n * @returns {void}\n */\n value: function setValue(value) {\n if (![null, undefined].includes(value)) {\n return;\n }\n\n var options = this.state.input.options;\n\n var default_value = options.default;\n\n /** @TODO (maybe need to removed in v3.9.0) double check G3W-ADMIN server configuration. */\n if (Array.isArray(options)) {\n if (options[0].default) {\n default_value = options[0].default;\n } else if (Array.isArray(options.values) && options.values.length > 0) {\n default_value = options.values[0] && (options.values[0].value || options.values[0]);\n }\n }\n\n // check if the default value is set\n var get_default_value = this.state.get_default_value && // ref: core/layers/tablelayer.js::getFieldsWithValues()\n undefined !== default_value && null !== default_value;\n\n // check if we can state.check get_default_value from input.options.default is set\n if (get_default_value && undefined === options.default_expression) {\n this.state.value = default_value;\n }\n\n this.state.value_from_default_value = get_default_value;\n }\n }, {\n key: 'addValueToValues',\n value: function addValueToValues(value) {\n this.state.input.options.values.unshift(value);\n }\n }, {\n key: '_getValidatorType',\n value: function _getValidatorType() {\n return this.state.type;\n }\n }, {\n key: 'setState',\n value: function setState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state = 'Object' === (0, _toRawType.toRawType)(state) ? state : {};\n }\n }, {\n key: 'getValidator',\n\n\n // return validator\n value: function getValidator() {\n return this._validator;\n }\n }, {\n key: 'setValidator',\n value: function setValidator(validator) {\n this._validator = validator;\n }\n }, {\n key: 'setEmpty',\n\n\n /**\n * set input empty '', null, undefined or []\n */\n value: function setEmpty() {\n this.state.validate.empty = null === this.state.value //value is null\n || !(Array.isArray(this.state.value) && this.state.value.length > 0 || //or empty array\n !_.isEmpty(('' + this.state.value).trim())) // or empty string\n ;\n }\n }, {\n key: 'validate',\n\n\n // the general method to check the value of the state is valid or not\n value: function validate() {\n if (this.state.validate.empty) {\n this.state.value = null; //force to null\n // check if you require or check validation\n this.state.validate.valid = !this.state.validate.required;\n } else {\n if (['integer', 'float', 'bigint'].includes(this.state.input.type)) {\n if (+this.state.value < 0) {\n this.state.value = null;\n this.state.validate.empty = true;\n this.state.validate.valid = !this.state.validate.required;\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n //check exclude_values state.validate.unique (QGIS field property [x] Enforce unique constraint)\n if (this.state.validate.unique && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n //need to convert this.state.value to string because editing store exclude_values items as string\n this.state.validate.valid = !this.state.validate.exclude_values.has('' + this.state.value);\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n\n return this.state.validate.valid;\n }\n }, {\n key: 'setErrorMessage',\n value: function setErrorMessage() {\n //in vase of\n if (this.state.validate.error) {\n this.state.validate.message = t(this.state.validate.error);\n return;\n }\n var message = void 0;\n if (this.state.validate.mutually && !this.state.validate.mutually_valid) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_mutually_exclusive\") + ' ( ' + this.state.validate.mutually.join(',') + ' )';\n } else if (this.state.validate.max_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_max_field\") + ' (' + this.state.validate.max_field + ')';\n } else if (this.state.validate.min_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_min_field\") + ' (' + this.state.validate.min_field + ')';\n } else if (('unique' === this.state.input.type || this.state.validate.unique) && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n this.state.validate.message = '' + t(\"sdk.form.inputs.input_validation_exclude_values\");\n } else if (this.state.validate.required) {\n message = t(\"sdk.form.inputs.input_validation_error\") + ' ( ' + t(\"sdk.form.inputs.\" + this.state.type) + ' )';\n if (this.state.info) {\n message = message + '\\n
\\n ' + this.state.info + '\\n
\\n ';\n }\n this.state.validate.message = this.state.info || message;\n } else {\n //@since 3.11.0\n // in case of state.validate.valid false and not required need to show a right message (info or type)\n this.state.validate.message = this.state.info || t(\"sdk.form.inputs.input_validation_error_type\") + ' ( ' + t(\"sdk.form.inputs.\" + this.state.type) + ' )';\n }\n }\n }, {\n key: 'setUpdate',\n\n /**\n * Method to set update\n */\n value: function setUpdate() {\n var _state = this.state,\n value = _state.value,\n _value = _state._value;\n\n if ('media' === this.state.input.type && 'Object' !== (0, _toRawType.toRawType)(value) && 'Object' !== (0, _toRawType.toRawType)(_value)) {\n this.state.update = value.value != _value.value;\n } else if (\"datetimepicker\" === this.state.input.type) {\n //check\n this.state.update = (null !== value ? value.toUpperCase() : value) != (_value ? _value.toUpperCase() : _value);\n } else {\n this.state.update = value != _value;\n }\n }\n }]);\n\n return Service;\n}();\n\n},{\"g3w-i18n\":129,\"utils/toRawType\":242}],28:[function(require,module,exports){\nvar InputsServices = {\n 'text': require('./service'),\n 'textarea': require('./service'),\n 'texthtml': require('./service'),\n 'integer': require('./integer/service'),\n 'string': require('./service'),\n 'float': require('./float/service'),\n 'radio': require('./radio/service'),\n 'check': require('./checkbox/service'),\n 'range': require('./range/service'),\n 'datetimepicker': require('./datetimepicker/service'),\n 'unique': require('./unique/service'),\n 'select': require('./select/service'),\n 'media': require('./media/service'),\n 'select_autocomplete': require('./select/service'),\n 'picklayer': require('./service'),\n 'color': require('./service'),\n 'slider': require('./sliderrange/service'),\n 'lonlat': require('./lonlat/service')\n};\n\nmodule.exports = InputsServices;\n\n},{\"./checkbox/service\":5,\"./datetimepicker/service\":8,\"./float/service\":10,\"./integer/service\":13,\"./lonlat/service\":15,\"./media/service\":17,\"./radio/service\":21,\"./range/service\":23,\"./select/service\":25,\"./service\":27,\"./sliderrange/service\":29,\"./unique/service\":34}],29:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nvar SliderRangeService = function (_Service) {\n _inherits(SliderRangeService, _Service);\n\n function SliderRangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SliderRangeService);\n\n var state = opts.state;\n\n opts.state.info = '[MIN: ' + state.input.options.min + ' - MAX: ' + state.input.options.max + ']';\n\n var _this = _possibleConstructorReturn(this, (SliderRangeService.__proto__ || Object.getPrototypeOf(SliderRangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * opts.state.input.options.min && value <= 1 * opts.state.input.options.max;\n }\n });\n return _this;\n }\n\n _createClass(SliderRangeService, [{\n key: 'validate',\n value: function validate() {\n this.state.value = 1 * this.state.value;\n this.state.validate.valid = this.state.value >= this.state.input.options.min || this.state.value <= this.state.input.options.max;\n }\n }, {\n key: 'changeInfoMessage',\n value: function changeInfoMessage() {\n this.state.info = '[MIN: ' + this.state.input.options.min + ' - MAX: ' + this.state.input.options.max + ']';\n }\n }]);\n\n return SliderRangeService;\n}(Service);\n\nmodule.exports = SliderRangeService;\n\n},{\"gui/inputs/service\":27}],30:[function(require,module,exports){\nvar _InputSliderRange = require('components/InputSliderRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSliderRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputSliderRange.vue\":76}],31:[function(require,module,exports){\nvar _InputText = require('components/InputText.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputText);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputText.vue\":77}],32:[function(require,module,exports){\nvar _InputTextArea = require('components/InputTextArea.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextArea);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextAreaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextAreaInput;\n\n},{\"components/InputTextArea.vue\":78}],33:[function(require,module,exports){\nvar _InputTextHtml = require('components/InputTextHtml.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextHtml);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextHtmlInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextHtmlInput;\n\n},{\"components/InputTextHtml.vue\":79}],34:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(UniqueService, _Service);\n\n function UniqueService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, UniqueService);\n\n return _possibleConstructorReturn(this, (UniqueService.__proto__ || Object.getPrototypeOf(UniqueService)).call(this, opts));\n }\n\n return UniqueService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],35:[function(require,module,exports){\nvar _InputUnique = require('components/InputUnique.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputUnique);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar UniqueInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = UniqueInput;\n\n},{\"components/InputUnique.vue\":80}],36:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden;max-width:calc(100% - 150px)}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid #aaa;border-top-width:0;border-radius:0;margin-top:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}#menu-toggler[data-v-6659a6eb]{display:none}.navbar-toggler[data-v-6659a6eb]{color:#fff;margin:12px;font-size:1.3em;position:absolute;z-index:101;right:0}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-toggler[data-v-6659a6eb]{display:block;cursor:pointer;user-select:none}#menu-toggler:checked~hgroup[data-v-6659a6eb]{position:fixed;top:0;background:var(--skin-color);padding-left:8px}#menu-toggler:checked~ul[data-v-6659a6eb]{position:fixed;inset:50px 0 0 0;background:var(--skin-color);z-index:100;flex-direction:column;border-top:1px solid #fff}#menu-toggler:not(:checked)~[data-v-6659a6eb]:not(.navbar-toggler),.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none!important}.navbar-nav[data-v-6659a6eb]{flex-direction:column}.user-footer .btn-default[data-v-6659a6eb]{padding:10px}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueCookieLaw = require('vue-cookie-law');\n\nvar _vueCookieLaw2 = _interopRequireDefault(_vueCookieLaw);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _UserMessage = require('components/UserMessage.vue');\n\nvar _UserMessage2 = _interopRequireDefault(_UserMessage);\n\nvar _CatalogContextMenu = require('components/CatalogContextMenu.vue');\n\nvar _CatalogContextMenu2 = _interopRequireDefault(_CatalogContextMenu);\n\nvar _ModalLogin = require('components/ModalLogin.vue');\n\nvar _ModalLogin2 = _interopRequireDefault(_ModalLogin);\n\nvar _ModalAddLayer = require('components/ModalAddLayer.vue');\n\nvar _ModalAddLayer2 = _interopRequireDefault(_ModalAddLayer);\n\nvar _ModalChangeMap = require('components/ModalChangeMap.vue');\n\nvar _ModalChangeMap2 = _interopRequireDefault(_ModalChangeMap);\n\nvar _ModalMetadata = require('components/ModalMetadata.vue');\n\nvar _ModalMetadata2 = _interopRequireDefault(_ModalMetadata);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'app',\n\n data: function data() {\n var custom_links = (window.initConfig.header_custom_links || []).concat(_application2.default.navbaritems).filter(Boolean);\n\n custom_links.unshift({\n id: 'credits',\n type: 'metadata',\n target: '#metadata_credits',\n icon: 'far fa-question-circle',\n title: 'Credits'\n });\n\n custom_links.forEach(function (item) {\n return !item.id && (item.id = (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return {\n language: null,\n cookie_law_buttonText: t('cookie_law.buttonText'),\n app: _application2.default,\n state: _application2.default.viewport,\n updatePreviousTitle: false,\n header: t('main navigation'),\n custom_links: custom_links\n };\n },\n\n\n components: {\n CookieLaw: _vueCookieLaw2.default,\n userMessage: _UserMessage2.default,\n CatalogContextMenu: _CatalogContextMenu2.default,\n ModalLogin: _ModalLogin2.default,\n ModalAddlayer: _ModalAddLayer2.default,\n ModalChangemap: _ModalChangeMap2.default,\n ModalMetadata: _ModalMetadata2.default,\n Teleport: _vue2Teleport2.default\n },\n\n computed: {\n languages: function languages() {\n var languages = Array.isArray(this.appconfig.i18n) && this.appconfig.i18n || [];\n return languages.length > 1 && languages;\n },\n dropdownParent: function dropdownParent() {\n return window.innerWidth >= 768;\n },\n appconfig: function appconfig() {\n return window.initConfig;\n },\n isIframe: function isIframe() {\n return window.top !== window.self;\n },\n urls: function urls() {\n return this.appconfig.urls;\n },\n logo_url: function logo_url() {\n return _application2.default.project.state.thumbnail || '' + this.appconfig.mediaurl + window.initConfig.header_logo_img;\n },\n project_title: function project_title() {\n return _application2.default.project.getState().name;\n },\n user: function user() {\n return this.appconfig.user && this.appconfig.user.username ? this.appconfig.user : null;\n },\n login_url: function login_url() {\n return this.appconfig.user.login_url;\n },\n has_iframe_login: function has_iframe_login() {\n return this.login_url && ('/' === this.login_url[0] || (0, _sameOrigin.sameOrigin)(this.login_url, window.location.href));\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return this.appconfig.macrogroups.length + this.appconfig.groups.length + this.appconfig.projects.length > 1;\n },\n main_title: function main_title() {\n var main_title = this.appconfig.main_map_title;\n var group_name = this.appconfig.title || this.appconfig.slug;\n return main_title ? main_title + ' - ' + group_name : group_name;\n },\n breadcrumb: function breadcrumb() {\n return this.state.content.contentsdata.filter(function (c) {\n return c.options.crumb;\n }).map(function (c) {\n return c.options.crumb;\n });\n },\n showresize: function showresize() {\n var layout = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n var currentPerc = layout[this.state.split === 'h' ? 'width' : 'height'];\n return this.state.secondaryPerc > 0 && this.state.secondaryPerc < 100 && currentPerc < 100 && currentPerc > 0;\n },\n showresizeicon: function showresizeicon() {\n return 100 !== this.state.secondaryPerc;\n },\n usermessage: function usermessage() {\n return this.state.usermessage;\n },\n showtitle: function showtitle() {\n if (this.state.content.contentsdata.length > 0) {\n var options = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options;\n if (true === options.showtitle || false === options.showtitle) {\n return options.showtitle;\n }\n }\n return true;\n },\n styles: function styles() {\n return {\n map: {\n width: this.state.map.sizes.width + 'px',\n height: this.state.map.sizes.height + 'px'\n },\n content: {\n width: this.state.content.sizes.width + 'px',\n height: this.state.content.sizes.height + 'px',\n zIndex: 1,\n minHeight: 'v' === this.state.split ? _g3wConstants.VIEWPORT.resize.content.min + 'px' : null,\n paddingTop: '8px',\n paddingBottom: '8px'\n }\n };\n },\n contentTitle: function contentTitle() {\n if (this.state.content.contentsdata.length) {\n var _state$content$conten = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options,\n title = _state$content$conten.title,\n post_title = _state$content$conten.post_title,\n _state$content$conten2 = _state$content$conten.text,\n text = _state$content$conten2 === undefined ? false : _state$content$conten2;\n\n return { title: title, post_title: post_title, text: text };\n }\n },\n backOrBackTo: function backOrBackTo() {\n return this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? !this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title ? 'back' : 'backto' : false;\n },\n previousTitle: function previousTitle() {\n var _this = this;\n\n var title = this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title : null;\n this.updatePreviousTitle = true;\n this.$nextTick(function () {\n return _this.updatePreviousTitle = false;\n });\n return title;\n },\n title: function title() {\n return _application2.default.sidebar.title;\n },\n disabled: function disabled() {\n return _application2.default.gui.sidebar.disabled;\n },\n panels: function panels() {\n return _application2.default.sidebar.contentsdata;\n },\n showmainpanel: function showmainpanel() {\n return _application2.default.sidebar.components.length > 0 && !this.panels.length;\n },\n componentname: function componentname() {\n return _application2.default.sidebar.components.length ? _application2.default.sidebar.components.slice(-1)[0].getTitle() : '';\n },\n panelname: function panelname() {\n return this.panels.length ? this.panels.slice(-1)[0].content.getTitle() : '';\n }\n },\n\n methods: {\n templateResultLanguages: function templateResultLanguages(state) {\n if (!state.id) {\n return state.text;\n }\n return $('\\n
\\n \\n ' + state.text + ' \\n ');\n },\n oncCustomItemClick: function oncCustomItemClick(e, item) {\n if (!['modal', 'metadata'].includes(item.type)) {\n return;\n }\n e.preventDefault();\n if (item.target && 'modal' === item.type && document.querySelector(item.target)) {\n return $(item.target).modal('show');\n }\n if (item.target && 'metadata' === item.type && document.querySelector('#modal-metadata')) {\n $('#modal-metadata').modal('show');\n document.querySelector('#modal-metadata a[href=\"' + item.target + '\"]').click();\n return;\n }\n $('body').append('\\n
\\n
\\n
' + item.content + '
\\n
\\n
\\n ');\n $('#custom_modal').modal('show');\n $('#custom_modal').on('hidden.bs.modal', function () {\n return $('#custom_modal').remove();\n });\n },\n showEmbedModal: function showEmbedModal() {\n var url = new URL(location.href);\n url.searchParams.set('map_extent', _gui2.default.getService('map').getMapExtent().toString());\n\n $('body').append('\\n
\\n
\\n
\\n
\\n

' + this.$t('sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint') + '

\\n
\\n
\\n \\n \\n
\\n
\\n
\\n ');\n $('#share_modal').modal('show');\n $('#share_modal').on('hidden.bs.modal', function () {\n return $('#share_modal').remove();\n });\n },\n initDialogMessages: function () {\n var _ref = _asyncToGenerator(function* () {\n var messages = _application2.default.project.state.messages;\n\n if (!messages) {\n return;\n }\n\n var pid = _application2.default.project.getId();\n\n var _loop = function* _loop(i) {\n var message = messages.items[i];\n var item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id);\n var data = (item ? JSON.parse(item) : undefined) || _g3wConstants.LOCAL_ITEM_IDS.MESSAGES.value;\n data[pid] = data[pid] || [];\n\n if (undefined !== data[pid].find(function (id) {\n return id === message.id;\n })) {\n return 'continue';\n }\n\n var doNotShowAgainVueComponent = new (Vue.extend({\n data: function data() {\n return { id: (0, _getUniqueDomId.getUniqueDomId)(), checked: false };\n },\n template: '\\n
\\n \\n
'\n }))();\n\n var content = document.createElement('div');\n\n content.append.apply(content, _toConsumableArray(new DOMParser().parseFromString(message.body, 'text/html').body.childNodes));\n\n content.append(doNotShowAgainVueComponent.$mount().$el);\n\n yield new Promise(function (resolve) {\n _gui2.default.showModalDialog({\n title: message.title,\n message: content,\n size: 'large',\n closeButton: false,\n className: 'g3w-modal-project-message ' + Object.entries(messages.levels).find(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return value === message.level;\n })[0],\n buttons: {\n close: {\n label: t('close'),\n className: 'btn-secondary',\n callback: function callback() {\n try {\n if (doNotShowAgainVueComponent.checked) {\n data[pid].push(message.id);\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id, JSON.stringify(data));\n }\n } catch (e) {\n console.warn(e);\n }\n resolve();\n }\n }\n }\n });\n });\n };\n\n for (var i = 0; i < messages.items.length; i++) {\n var _ret = yield* _loop(i);\n\n if (_ret === 'continue') continue;\n }\n });\n\n function initDialogMessages() {\n return _ref.apply(this, arguments);\n }\n\n return initDialogMessages;\n }(),\n showaddLayerModal: function showaddLayerModal() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-changemap').modal('show');\n },\n isNotLastCrumb: function isNotLastCrumb(index) {\n return index < this.breadcrumb.length - 1;\n },\n closeContent: function closeContent() {\n _gui2.default.closeContent();\n },\n gotoPreviousContent: function gotoPreviousContent() {\n _gui2.default.popContent();\n },\n closeUserMessage: function closeUserMessage() {\n _gui2.default.closeUserMessage();\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.addEventListener('mousemove', this.wrapMoveFnc);\n document.addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref4 = _asyncToGenerator(function* () {\n document.removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref4.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n resizeFull: function resizeFull() {\n _gui2.default.toggleFullViewContent();\n _gui2.default.emit('resize');\n },\n moveFnc: function moveFnc(e) {\n e.preventDefault();\n var size = 'h' === this.state.split ? 'width' : 'height';\n var sidebarSize = size === 'width' ? $('.sidebar-collapse').length ? 0 : _application2.default.viewport.SIDEBARWIDTH : $('.navbar').height();\n var viewPortSize = $(this.$el)[size]();\n var mapSize = ('width' === size ? e.pageX + 2 : e.pageY + 2) - sidebarSize;\n var _VIEWPORT$resize = _g3wConstants.VIEWPORT.resize,\n content = _VIEWPORT$resize.content,\n map = _VIEWPORT$resize.map;\n\n if (mapSize > viewPortSize - content.min) {\n mapSize = viewPortSize - content.min;\n } else if (mapSize < map.min) {\n mapSize = map.min;\n }\n _application2.default.viewport.resized[this.state.split] = true;\n _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === this.state.split ? 'width' : 'height'] = 100 - Math.round(mapSize / viewPortSize * 100);\n _gui2.default._layout('resize');\n },\n closePanel: function closePanel() {\n _gui2.default.closePanel();\n },\n closeAllPanels: function () {\n var _ref5 = _asyncToGenerator(function* () {\n _application2.default.sidebar.title = null;\n var data = _application2.default.sidebar.contentsdata;\n if (data.length) {\n yield Promise.allSettled(data.map(function () {\n var _ref6 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n });\n\n return function (_x) {\n return _ref6.apply(this, arguments);\n };\n }()));\n data.splice(0, data.length);\n }\n });\n\n function closeAllPanels() {\n return _ref5.apply(this, arguments);\n }\n\n return closeAllPanels;\n }(),\n toggleSidebar: function toggleSidebar() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n _gui2.default.toggleSidebar();\n },\n toggleSidebarItem: function toggleSidebarItem(e) {\n var mini = document.body.classList.contains('sidebar-mini');\n var collapsed = document.body.classList.contains('sidebar-collapse');\n\n if (mini && collapsed) {\n _gui2.default.showSidebar();\n }\n\n var li = e.target.closest('.sidebaritem');\n var component = _application2.default.sidebar.components.find(function (comp) {\n return comp.id === li.id;\n });\n var open = component && component.getOpen();\n var menu = li.querySelector('.treeview-menu');\n\n if (!component || open && collapsed || menu && menu.contains(e.target)) {\n return;\n }\n\n if (!component.collapsible && window.innerWidth <= 767) {\n _gui2.default.toggleSidebar();\n }\n\n component.click({ open: !open });\n }\n },\n\n watch: {\n 'language': function language(_language, cl) {\n if (cl) {\n i18next.changeLanguage(_language);\n\n _application2.default.lng = _language;\n _application2.default.language = _language;\n var pathArray = window.location.pathname.split('/');\n pathArray[1] = _language;\n history.replaceState(null, null, pathArray.join('/'));\n this.cookie_law_buttonText = t('cookie_law.buttonText');\n }\n }\n },\n\n created: function created() {\n this.language = this.appconfig.user.i18n;\n },\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.initDialogMessages();\n\n yield this.$nextTick();\n\n this.language = this.appconfig.user.i18n;\n\n yield this.$nextTick();\n\n $('#startingspinner').remove();\n\n var resize = function resize() {\n $(\".main-sidebar\").css('height', $(window).height() - $(\".navbar\").height());\n $('.g3w-sidebarpanel').css('height', $(window).height() - $(\".navbar\").height());\n };\n\n resize();\n $(window, \".wrapper\").resize(resize);\n\n this.iframe = _application2.default.iframe;\n\n if (!this.iframe) {\n document.body.classList.add('sidebar-mini');\n }\n\n document.body.classList.toggle('is-mobile', this.isMobile());\n document.body.classList.toggle('is-iframe', this.iframe);\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.app.gui.app.disabled),expression:\"app.gui.app.disabled\"}],staticClass:\"wrapper\",attrs:{\"id\":\"app\"}},[(!_vm.isIframe)?_c('nav',{ref:\"navbar\",staticClass:\"navbar no-print\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"start\",\"height\":\"50px\"},attrs:{\"role\":\"navigation\"}},[(_vm.logo_url)?_c('a',{staticStyle:{\"padding\":\"4px\",\"display\":\"inline-block\",\"height\":\"50px\"},attrs:{\"href\":_vm.appconfig.header_logo_link || _vm.urls.frontendurl || '#',\"target\":_vm.appconfig.header_logo_link ? '_blank' : ''}},[_c('img',{staticStyle:{\"height\":\"100%\"},attrs:{\"alt\":\"\",\"src\":_vm.logo_url}})]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"menu-toggler\",attrs:{\"id\":\"menu-toggler\",\"type\":\"checkbox\",\"autocomplete\":\"off\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('label',{staticClass:\"navbar-toggler\",attrs:{\"for\":\"menu-toggler\",\"hidden\":\"\"}},[_c('i',{class:_vm.$fa('bars')}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"MENU\")])]),_vm._v(\" \"),_c('hgroup',{staticClass:\"project_title\"},[_c('p',{staticClass:\"h2\"},[_vm._v(_vm._s(_vm.main_title))]),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.project_title))])]),_vm._v(\" \"),_c('ul',{staticClass:\"nav-links\",staticStyle:{\"display\":\"flex\",\"text-align\":\"center\",\"white-space\":\"nowrap\",\"list-style\":\"none\",\"padding\":\"0\",\"margin\":\"0\"}},[_vm._l((_vm.custom_links),function(item){return _c('li',{key:item.id,class:(\"nav-\" + (item.id)),style:({ order: item.position })},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:(item.i18n ? item.title : (' ' + item.title + ' ')),expression:\"item.i18n ? item.title : (' ' + item.title + ' ')\",modifiers:{\"create\":true}}],attrs:{\"href\":item.url || '#',\"target\":item.target,\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){return _vm.oncCustomItemClick($event, item)}}},[(item.icon)?_c('i',{class:item.icon}):_vm._e(),_vm._v(\" \"),(item.img)?_c('img',{attrs:{\"height\":\"20\",\"src\":item.img,\"title\":item.img_title,\"alt\":item.img_title}}):_vm._e(),_vm._v(\" \"),(item.i18n)?_c('span',{directives:[{name:\"t-html\",rawName:\"v-t-html\",value:(item.text || item.title || item.img_title),expression:\"item.text || item.title || item.img_title\"}],attrs:{\"hidden\":item.text ? undefined : ''}}):_vm._e(),_vm._v(\" \"),(!item.i18n)?_c('span',{attrs:{\"hidden\":item.text ? undefined : ''},domProps:{\"innerHTML\":_vm._s(item.text || item.title || item.img_title)}}):_vm._e()])])}),_vm._v(\" \"),_c('li',{staticClass:\"nav-user dropdown\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"#\",\"data-toggle\":\"dropdown\"}},[_c('i',{class:_vm.$fa('user')}),_vm._v(\" \"),(_vm.user)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_vm._v(\" \"),_c('i',{staticClass:\"triangle\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.user)?_c('li',{staticClass:\"user-header\"},[_vm._v(\"\\n 👋\\n \"),(!_vm.user.first_name && !_vm.user.last_name)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',[_vm._v(_vm._s(_vm.user.first_name)+\" \"+_vm._s(_vm.user.last_name))])]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"user-footer\"},[(!_vm.user)?_c('a',{staticClass:\"nav-login btn btn-default btn-flat skin-color\",attrs:{\"src\":_vm.login_url,\"data-toggle\":_vm.has_iframe_login ? 'modal' : undefined,\"data-target\":_vm.has_iframe_login ? '#modal-login' : undefined}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_c('i',{class:_vm.$fa('sign-in')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.admin_url)?_c('a',{staticClass:\"nav-admin btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.admin_url}},[_c('b',[_vm._v(\"Admin\")]),_c('i',{class:_vm.$fa('tool')})]):_vm._e(),_vm._v(\" \"),(_vm.urls.frontendurl)?_c('a',{staticClass:\"nav-home btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.urls.frontendurl}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('homepage'),expression:\"'homepage'\"}]}),_c('i',{class:_vm.$fa('home')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.logout_url)?_c('a',{staticClass:\"nav-logout btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.logout_url}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('logout'),expression:\"'logout'\"}]}),_c('i',{class:_vm.$fa('sign-out')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-embedmap btn btn-default btn-flat skin-color\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showEmbedModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('embed_map'),expression:\"'embed_map'\"}]}),_c('i',{class:_vm.$fa('link')})]),_vm._v(\" \"),(_vm.hasRelatedMaps)?_c('a',{staticClass:\"nav-changemap btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]}),_c('i',{class:_vm.$fa('refresh')})]):_vm._e(),_vm._v(\" \"),('legend' !== _vm.activeTab)?_c('a',{staticClass:\"nav-addlayer btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]}),_c('i',{class:_vm.$fa('layers')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-sidebar btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSidebar}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar_menu'),expression:\"'sidebar_menu'\"}]}),_c('i',{staticClass:\"fa fa-toggle-on\"})])])])]),_vm._v(\" \"),(_vm.languages)?_c('li',{staticClass:\"nav-lang\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('language'),expression:\"'language'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],staticClass:\"form-control\",staticStyle:{\"cursor\":\"pointer\",\"width\":\"130px\"},attrs:{\"templateSelection\":_vm.templateResultLanguages,\"templateResult\":_vm.templateResultLanguages,\"dropdownAutoWidth\":true,\"dropdownParent\":_vm.dropdownParent},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang[0],domProps:{\"value\":lang[0],\"selected\":lang[0] === _vm.language && 'selected'}},[_vm._v(\"\\n \"+_vm._s(lang[1])+\"\\n \")])}),0)]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('aside',[_c('div',{staticClass:\"main-sidebar no-print\",class:{ iframe: _vm.iframe, 'g3w-disabled': _vm.disabled }},[_c('div',{attrs:{\"id\":\"disable-sidebar\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panels.length > 0),expression:\"panels.length > 0\"}],staticClass:\"g3w-sidebarpanel\"},[_c('div',{attrs:{\"id\":\"g3w-sidebarpanel-header-placeholder\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},style:({ justifyContent: _vm.app.sidebar.title ? 'space-between' : 'flex-end' })},[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticStyle:{\"display\":\"inline-block\",\"font-weight\":\"bold\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.panels.length > 1)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('back'),expression:\"'back'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closePanel}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('close'),expression:\"'close'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closeAllPanels}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('close')})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-sidebarpanel-placeholder\",attrs:{\"id\":\"g3w-sidebarpanel-placeholder\"}})]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showmainpanel),expression:\"showmainpanel\"}],staticClass:\"sidebar-menu\",class:{ 'g3w-disabled': _vm.disabled },attrs:{\"id\":\"g3w-sidebarcomponents\"},on:{\"click\":_vm.toggleSidebarItem}},[_c('li',{staticClass:\"treeview sidebaritem\",attrs:{\"id\":\"metadata\"}},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"skin-tooltip-right\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"data-placement\":\"right\",\"data-container\":\"body\",\"data-toggle\":\"modal\",\"data-target\":\"#modal-metadata\"}},[_c('div',[_c('i',{class:_vm.$fa('file'),staticStyle:{\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"treeview-label\"})])])])])]),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sidebar_menu'),expression:\"'sidebar_menu'\",modifiers:{\"create\":true}}],staticClass:\"sidebar-aside-toggle\",class:{ 'g3w-disabled': _vm.disabled, 'iframe': _vm.iframe},staticStyle:{\"z-index\":\"2\"},attrs:{\"href\":\"#\",\"role\":\"button\",\"data-placement\":\"right\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleSidebar($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",style:({ paddingTop: _vm.isIframe ? 0 : null })},[_c('transition',{attrs:{\"name\":\"fade\",\"duration\":{ enter: 500, leave: 500 }}},[(_vm.usermessage.show)?_c('user-message',{attrs:{\"title\":_vm.usermessage.title,\"subtitle\":_vm.usermessage.subtitle,\"id\":_vm.usermessage.id,\"message\":_vm.usermessage.message,\"draggable\":_vm.usermessage.draggable,\"closable\":_vm.usermessage.closable,\"duration\":_vm.usermessage.duration,\"position\":_vm.usermessage.position,\"autoclose\":_vm.usermessage.autoclose,\"textMessage\":_vm.usermessage.textMessage,\"size\":_vm.usermessage.size,\"type\":_vm.usermessage.type,\"icon-class\":_vm.usermessage.iconClass},on:{\"close-usermessage\":_vm.closeUserMessage}},[(_vm.usermessage.hooks.header)?_c('template',{slot:\"header\"},[_c(_vm.usermessage.hooks.header,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.body)?_c('template',{slot:\"body\"},[_c(_vm.usermessage.hooks.body,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.footer)?_c('template',{slot:\"footer\"},[_c(_vm.usermessage.hooks.footer,{tag:\"component\"})],1):_vm._e()],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g3w-view map\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.map),attrs:{\"id\":\"g3w-view-map\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showresize),expression:\"showresize\"}],class:(\"split-\" + (_vm.state.split)),style:({ cursor: 'v' === _vm.state.split ? 'ns-resize' : 'col-resize' }),attrs:{\"id\":\"resize-map-and-content\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"application-notifications\"}},[_c('div',{class:{ 'g3w-hide': _vm.app.online },staticStyle:{\"color\":\"#999\"},attrs:{\"id\":\"offline_notification\"}},[_c('i',{class:_vm.$fa('wifi')}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"0.4em\"}},[_vm._v(\"offline\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"download\",rawName:\"v-download.show\",modifiers:{\"show\":true}}],staticClass:\"skin-color\",attrs:{\"id\":\"download_notification\",\"title\":\"DOWNLOAD\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('download'),staticStyle:{\"padding\":\"3px\"}})],1),_vm._v(\" \"),_c('div',{class:{ 'g3w-hide': 0 === _vm.app.plugins.length },staticStyle:{\"color\":\"#994b10\"},attrs:{\"id\":\"plugins_notification\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('plugin')})],1)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.content.disabled),expression:\"state.content.disabled\"}],staticClass:\"g3w-view content\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.content),attrs:{\"id\":\"g3w-view-content\"}},[(_vm.breadcrumb.length > 1)?_c('section',{ref:_vm.breadcrumb,staticClass:\"content_breadcrumb\"},_vm._l((_vm.breadcrumb),function(crumb,index){return _c('span',{key:crumb.title},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(crumb.text ? null : crumb.title),expression:\"crumb.text ? null : crumb.title\"}],staticClass:\"skin-color-dark\",style:({fontWeight: _vm.isNotLastCrumb(index) ? 'bold' : 'normal'})},[(crumb.text)?_c('span',[_vm._v(\" \"+_vm._s(crumb.title)+\" \")]):_vm._e()]),_vm._v(\" \"),(_vm.isNotLastCrumb(index))?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin\":\"3px 0\"}},[_vm._v(\"/\")]):_vm._e()])}),0):_vm._e(),_vm._v(\" \"),((_vm.showtitle && _vm.contentTitle) || _vm.previousTitle || (_vm.state.content.closable && _vm.state.content.aside))?_c('div',{staticClass:\"close-panel-block\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[(_vm.previousTitle)?_c('div',{staticClass:\"g3w_contents_back g3w-long-text\"},[('back' === _vm.backOrBackTo )?_c('div',{class:_vm.backOrBackTo},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}]})]):_c('div',{class:_vm.backOrBackTo,on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoPreviousContent()}}},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('backto'),expression:\"'backto'\"}]}),_vm._v(\" \"),(!_vm.updatePreviousTitle)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.previousTitle),expression:\"previousTitle\"}]}):_vm._e()])]):_vm._e(),_vm._v(\" \"),(!_vm.previousTitle && _vm.showtitle && _vm.contentTitle)?_c('div',{staticClass:\"panel-title\",class:{'mobile': _vm.isMobile()},style:([_vm.state.content.style.title])},[_c('b',{attrs:{\"id\":\"contenttitle\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.text ? null : _vm.contentTitle.title),expression:\"contentTitle.text ? null : contentTitle.title\"}]},[(_vm.contentTitle.text )?_c('span',[_vm._v(_vm._s(_vm.contentTitle.title))]):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.post_title),expression:\"contentTitle.post_title\"}]})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g3-content-header-action-tools\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_vm._l((_vm.state.content.headertools),function(tool){return _c(tool,{tag:\"component\"})}),_vm._v(\" \"),(_vm.showresizeicon)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-size\":\"1em\",\"padding\":\"0\",\"align-self\":\"center\",\"margin-left\":\"auto\",\"cursor\":\"pointer\"},style:({ marginRight: _vm.state.content.closable ? '5px': '0px' })},[(undefined !== _vm.state.split)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('enlange_reduce'),expression:\"'enlange_reduce'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa((\"resize-\" + (_vm.state.split))),staticStyle:{\"margin-right\":\"3px\"},on:{\"click\":_vm.resizeFull}}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.state.content.closable && _vm.state.content.aside)?_c('span',{staticClass:\"action-button\",class:{'mobile': _vm.isMobile()},staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"},on:{\"click\":_vm.closeContent}},[_c('i',{staticClass:\"skin-color-dark\",class:_vm.$fa('close')})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.state.content.loading}})],1)],1),_vm._v(\" \"),_c('catalog-context-menu'),_vm._v(\" \"),_c('cookie-law',{attrs:{\"theme\":\"dark-lime\",\"buttonText\":_vm.cookie_law_buttonText}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('cookie_law.message'),expression:\"'cookie_law.message'\"}],attrs:{\"slot\":\"message\"},slot:\"message\"})]),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":\"modal-fullscreen\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"data-backdrop\":\"static\",\"data-keyboard\":\"false\",\"aria-labelledby\":\"modal-fullscreen\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(!_vm.user && _vm.has_iframe_login)?_c('modal-login'):_vm._e(),_vm._v(\" \"),_c('modal-addlayer'),_vm._v(\" \"),_c('modal-changemap'),_vm._v(\" \"),_c('modal-metadata')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ModalAddLayer.vue\":84,\"components/ModalChangeMap.vue\":85,\"components/ModalLogin.vue\":86,\"components/ModalMetadata.vue\":87,\"components/UserMessage.vue\":111,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/gui\":173,\"store/application\":178,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/sameOrigin\":237,\"vue-cookie-law\":\"vue-cookie-law\",\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],37:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tabbable-line>.nav-tabs>li.active{border-bottom:4px solid var(--skin-color)}.catalog #legend div.selected,.catalog .tree-item.selected{background-color:var(--skin-color)}.catalog-context-menu li.title{border-bottom-color:var(--skin-color)!important}.skin-blue .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-green .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-purple .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-red .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ff5542}.skin-red .tabbable-line.tabs-below>.nav-tabs>li.active,.skin-red .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ff5542}.skin-yellow .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #ffdf12}.tabbable-panel{padding:10px}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line .nav-tabs ul li{color:#fff}.tabbable-line>.nav-tabs>li{margin-right:2px;border-bottom:4px solid #21292d}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#fff}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a{border:0;background:none!important}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover) .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{position:relative;font-weight:700}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#fff;background-color:#2c3b41}.tabbable-line>.nav-tabs>li.active>a>i{color:#fff}.tabbable-line>.tab-content.catalog-tab-content{margin-top:-3px;border:0;color:#fff;padding:5px 0 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;color:#fff}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.nav-tabs>li.active>a,.nav-tabs>li.active>a:is(:focus,:hover){color:#fff}.catalog>.title{padding:10px;font-weight:700}.catalog ul{line-height:1.75em;list-style-type:none}.catalog .list-group-item{color:#fff;background-color:#2c3b41}.catalog #legend div.selected ul.layer-categories,.catalog .tree-item.selected ul.layer-categories{background-color:#222d32}.catalog #legend div div.tree-node-title,.catalog .tree-item div.tree-node-title{padding-left:3px;cursor:pointer;width:80%;display:inline-flex;justify-content:space-between;user-select:none}.catalog #legend div div.tree-node-title.disabled,.catalog .tree-item div.tree-node-title.disabled{color:#999}.catalog #legend div div.tree-node-title .selection-filter-icon,.catalog .tree-item div.tree-node-title .selection-filter-icon{box-shadow:0 2px 5px rgba(0,0,0,.3);padding:5px;border-radius:3px;margin:0 3px;font-weight:700;color:#fff!important}.catalog #legend div div.tree-node-title .selection-filter-icon.active,.catalog .tree-item div.tree-node-title .selection-filter-icon.active{box-shadow:none;background-color:#384247}.catalog .tree-item{cursor:pointer;margin-bottom:3px}.catalog .tree-item.disabled>span{color:#999}.catalog .root{padding:2px 1px 1px 5px}.catalog .root .tree-item.group{padding-left:1px}.catalog .root.fa-chevron-right{padding-right:5px;padding-left:0}.catalog .root-categories.fa-chevron-right{padding-right:7px}.catalog .root-categories.fa-chevron-down{padding-right:3px}.bold{font-weight:700;color:#fff}.highlightlayer{border-bottom:2px dashed;border-color:#ffb516}.catalog{padding:3px}.catalog .tree-root{padding-left:0}.catalog .tree-root li>.root{padding-left:5px}.catalog .tree-root li.tree-item ul.tree-content-items.root{padding-left:18px}.catalog .tree-root li.tree-item ul.tree-content-items.root>.tree-item.group{padding-left:1px!important}.catalog .tree-root li.tree-item ul.tree-content-items{padding-left:17px;padding-top:2px}.g3w-lendplace-toc{padding-left:23px}.g3w-lendplace-toc.group{padding-left:17px}.g3w-lendplace-toc.root{padding-left:18px}.g3w-lendplace-toc.root>li.itemmarginbottom{margin-left:-13px}.g3w-lendplace-toc.root>li.itemmarginbottom div.layer-legend{padding-left:56px}.g3w-lendplace-toc.root>li.itemmarginbottom>span.child{padding-left:18px!important}.catalog .tree-root span.root.collapse-expande-collapse-icon{width:19px}.catalog .tree-root span.root.collapse-expande-collapse-icon.project-root{width:17px}.catalog .tree-root span.collapse-expande-collapse-icon{width:10px}.catalog span.legend-collapse-expande-collapse-icon{font-size:1.2em}.catalog .child-categories{padding:5px 3px 1px 12px}.catalog .layer-legend{padding:3px 0 0 35px;background-color:#222d32}.catalog .catalalog-nav-tabs{display:flex;flex:1 1 0}.catalog .catalalog-nav-tabs>li{font-size:1em;white-space:normal;display:flex;flex:1 1 0;align-items:stretch}.catalog .catalalog-nav-tabs>li a{padding:10px 0;text-align:center;height:100%;width:100%}.catalog .tree{color:#fff}.catalog .tree.disabled{color:#999;cursor:not-allowed}.catalog .g3w-external_wms_layers-group{padding:5px}.catalog .baselayers .radio{margin:0}#baselayers-content{display:grid;justify-content:center;grid-gap:5px;padding:0;margin:5px}#baselayers-content.mobile{grid-template-columns:repeat(auto-fill,minmax(80px,110px))}#baselayers-content .baseselayer-text{white-space:pre-line;font-weight:700}#baselayers-content .baselayer{cursor:pointer}#baselayers-content .baselayer .baselayer-name{font-weight:700;white-space:pre-line;text-align:center}#catalog #layers ul.g3w-external_layers-group{padding-left:0!important}#catalog #layers ul.g3w-external_layers-group li{padding-left:2px!important}#catalog #layers .sidebar-menu>li>a{border:0}#catalog>a{display:none!important}#catalog .tree-item>.toggle-context-menu{opacity:0;position:absolute;inset:0 4px auto auto;color:#fff;padding:4px 8px;border:1px solid;border-radius:3px}#catalog .tree-item:not(.group):hover>.toggle-context-menu{opacity:1}\\n#legend .divider[data-v-f931b03a]{display:block;position:relative;padding:0;margin:8px auto;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none}.legend-item[data-v-f931b03a]{width:100%;position:relative}.g3w-catalog-layers-group>div[data-v-f931b03a]{border:1px solid #ffffff33;margin:5px}.g3w-catalog-layers-group>div>h4[data-v-f931b03a]{margin:5px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _CatalogChangeMapThemes = require('components/CatalogChangeMapThemes.vue');\n\nvar _CatalogChangeMapThemes2 = _interopRequireDefault(_CatalogChangeMapThemes);\n\nvar _CatalogTristateTree = require('components/CatalogTristateTree.vue');\n\nvar _CatalogTristateTree2 = _interopRequireDefault(_CatalogTristateTree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\nexports.default = {\n name: 'catalog',\n\n data: function data() {\n return {\n state: this.$options.service.state || {},\n legend_position: _application2.default.project.state.legend_position || 'tab',\n iframe: _application2.default.iframe,\n showlegend: false,\n currentBaseLayer: null,\n activeTab: 'layers',\n loading: false\n };\n },\n\n\n components: {\n CatalogChangeMapThemes: _CatalogChangeMapThemes2.default,\n CatalogTristateTree: _CatalogTristateTree2.default\n },\n\n computed: {\n project: function project() {\n return _application2.default.project;\n },\n title: function title() {\n return this.project.state.name;\n },\n baselayers: function baselayers() {\n return this.project.state.baselayers;\n },\n hasBaseLayers: function hasBaseLayers() {\n return this.project.state.baselayers.length > 0;\n },\n hasLayers: function hasLayers() {\n return this.state.external.vector.length > 0 || this.state.layerstrees.reduce(function (a, l) {\n return l.tree.length + a;\n }, 0) > 0 || this.state.layersgroups.length > 0;\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return window.initConfig.macrogroups.length + window.initConfig.groups.length + window.initConfig.projects.length > 1;\n }\n },\n\n methods: {\n onLegendError: function onLegendError(legendurl) {\n legendurl.error = true;\n legendurl.loading = false;\n },\n onLegendLoad: function onLegendLoad(legendurl) {\n legendurl.loading = false;\n },\n getLegendSrc: function getLegendSrc() {\n var _this = this;\n\n var change = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if ('tab' !== this.legend_position) {\n return;\n }\n\n this.state.layerstrees.forEach(function (t) {\n var layers = _this._traverseVisibleLayers(t.tree);\n _this.showlegend = _this.showlegend || layers.length > 0;\n t.tree.forEach(function () {\n var _ref = _asyncToGenerator(function* (tree) {\n try {\n if (change && (tree.legendurls && 0 === tree.legendurls.length || layers.some(function (l) {\n return l.legend.change;\n }) || _application2.default.project.state.context_base_legend)) {\n layers.filter(function (l) {\n return l.legend.change;\n }).forEach(function (l) {\n return l.legend.change = false;\n });\n }\n tree.legendurls = yield _this._getLegendSrc(layers);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n },\n _traverseVisibleLayers: function _traverseVisibleLayers(obj) {\n var _layers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = obj[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layer = _step.value;\n\n if (null !== layer.id && undefined !== layer.id && layer.visible && layer.geolayer && !layer.exclude_from_legend) {\n _layers.push(layer);\n }\n if (null !== layer.nodes && undefined !== layer.nodes) {\n this._traverseVisibleLayers(layer.nodes, _layers);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return _layers;\n },\n _getLegendSrc: function () {\n var _ref2 = _asyncToGenerator(function* (visiblelayers) {\n var legendurls = [];\n\n var layers = visiblelayers.filter(function (l) {\n return l.geolayer;\n });\n\n var http = { GET: {}, POST: {} };\n\n layers.forEach(function (layer) {\n var name = http[layer.source && layer.source.url || layer.external ? 'GET' : layer.ows_method];\n var catalogLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n\n var url = catalogLayer ? catalogLayer.getLegendUrl((window.initConfig.layout || {}).legend, {\n all: !_application2.default.project.state.context_base_legend,\n format: 'image/png',\n categories: layer.categories\n }) : undefined;\n\n if (undefined === catalogLayer) {\n return;\n }\n\n if (layer.source && layer.source.url) {\n name[url] = [];\n return;\n }\n\n var prefix = url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[0];\n\n if (!name[prefix]) {\n name[prefix] = [];\n }\n\n name[prefix].unshift({\n layerName: url.split('LAYER=')[1],\n style: (Array.isArray(layer.styles) && layer.styles.find(function (style) {\n return style.current;\n }) || { name: false }).name,\n legend_on: (url.split('LAYER=')[0].split('LEGEND_ON=')[1] || '').replace('&', ''),\n legend_off: (url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[1] || '').replace('&', '') });\n });\n\n for (var method in http) {\n var _loop = function* _loop(url) {\n var obj = {\n loading: true,\n url: null,\n error: false\n };\n\n legendurls.push(obj);\n\n var params = {\n LAYERS: [],\n STYLES: [],\n LEGEND_ON: [],\n LEGEND_OFF: []\n };\n\n (http[method][url] || []).reduce(function (_, layer) {\n params.LAYERS.push(layer.layerName);\n params.STYLES.push(layer.style);\n if (layer.legend_on) {\n params.LEGEND_ON.push(layer.legend_on);\n }\n if (layer.legend_off) {\n params.LEGEND_OFF.push(layer.legend_off);\n }\n return params;\n }, params);\n\n var url_params = [__('LAYERS=', params.LAYERS.join(',')), __('STYLES=', params.STYLES.join(',')), __('LEGEND_ON=', params.LEGEND_ON.join(',')), __('LEGEND_OFF=', params.LEGEND_OFF.join(',')), __('filtertoken=', _application2.default.tokens.filtertoken)].filter(function (p) {\n return p;\n }).join('&');\n\n try {\n obj.url = 'GET' === method ? url + (http[method][url].length ? url_params : '') : URL.createObjectURL((yield (yield fetch(url.split('?')[0], {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n\n body: url.split('?')[1].split('&').filter(function (p) {\n return p.split('=')[0];\n }).map(function (p) {\n return p.split('=')[0] + '=' + encodeURIComponent(p.split('=')[1]);\n }).join('&') + '&' + url_params\n })).blob()));\n } catch (e) {\n console.warn(e);\n }\n\n obj.loading = false;\n };\n\n for (var url in http[method]) {\n yield* _loop(url);\n }\n }\n\n return legendurls;\n });\n\n function _getLegendSrc(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return _getLegendSrc;\n }(),\n getMapThemeFromThemeName: function () {\n var _ref3 = _asyncToGenerator(function* (theme) {\n var project = _application2.default.project;\n\n var config = Object.values(project.state.map_themes).flat().find(function (c) {\n return theme === c.theme;\n });\n if (config && undefined === config.layerstree) {\n try {\n var response = yield _XHR.XHR.get({ url: '' + project.urls.map_themes + theme + '/' });\n if (response.result) {\n config.layerstree = response.data;\n }\n } catch (e) {\n console.warn('Error while retreiving map theme configuration', e);\n }\n }\n return config;\n });\n\n function getMapThemeFromThemeName(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return getMapThemeFromThemeName;\n }(),\n setLayersTreePropertiesFromMapTheme: function () {\n var _ref5 = _asyncToGenerator(function* (_ref4) {\n var map_theme = _ref4.map_theme,\n layerstree = _ref4.layerstree;\n\n var project = _application2.default.project;\n layerstree = undefined !== layerstree ? layerstree : project.state.layerstree;\n\n var theme = yield this.getMapThemeFromThemeName(map_theme);\n\n var changes = { layers: {} };\n var promises = [];\n\n var groups = [];\n var traverse = function traverse(mapThemeLayersTree, layerstree, checked) {\n mapThemeLayersTree.forEach(function (node, index) {\n if (node.nodes) {\n groups.push({\n node: node,\n group: layerstree[index]\n });\n traverse(node.nodes, layerstree[index].nodes, checked && node.checked);\n } else {\n node.style = theme.styles[node.id];\n if (layerstree[index].checked !== node.visible) {\n changes.layers[node.id] = {\n visibility: true,\n style: false\n };\n }\n layerstree[index].checked = node.visible;\n\n if (node.style) {\n var promise = new Promise(function (resolve) {\n var setCurrentStyleAndResolvePromise = function setCurrentStyleAndResolvePromise(node) {\n if (changes.layers[node.id] === undefined) changes.layers[node.id] = {\n visibility: false,\n style: false\n };\n changes.layers[node.id].style = project.getLayerById(node.id).setCurrentStyle(node.style);\n resolve();\n };\n if (project.getLayersStore()) {\n setCurrentStyleAndResolvePromise(node);\n } else {\n (function (node) {\n return setTimeout(function () {\n return setCurrentStyleAndResolvePromise(node);\n });\n })(node);\n }\n });\n promises.push(promise);\n }\n }\n });\n };\n traverse(theme.layerstree, layerstree);\n\n yield Promise.allSettled(promises);\n\n groups.forEach(function (_ref6) {\n var group = _ref6.group,\n _ref6$node = _ref6.node,\n checked = _ref6$node.checked,\n expanded = _ref6$node.expanded;\n\n group.checked = checked;\n group.expanded = expanded;\n });\n\n return changes;\n });\n\n function setLayersTreePropertiesFromMapTheme(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayersTreePropertiesFromMapTheme;\n }(),\n changeMapTheme: function () {\n var _ref7 = _asyncToGenerator(function* (map_theme) {\n _gui2.default.closeContent();\n\n this.state.layerstrees[0].checked = true;\n\n var changes = (yield this.setLayersTreePropertiesFromMapTheme({\n map_theme: map_theme,\n rootNode: this.state.layerstrees[0],\n layerstree: this.state.layerstrees[0].tree[0].nodes\n })).layers;\n\n var layers = Object.keys(changes).filter(function (id) {\n return changes[id].style;\n });\n var styles = (yield this.getMapThemeFromThemeName(map_theme)).styles;\n\n layers.forEach(function (id) {\n if (!changes[id].visible) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(id);\n layer.clearCategories();\n layer.change();\n }\n });\n\n layers.forEach(function (id) {\n return _g3wEventbus.VM.$emit('layer-change-style', { layerId: id, style: styles[id] });\n });\n });\n\n function changeMapTheme(_x7) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapTheme;\n }(),\n onTabClick: function onTabClick(e) {\n if (e.target.attributes['aria-controls']) {\n this.activeTab = e.target.attributes['aria-controls'].value;\n }\n },\n setBaseLayer: function setBaseLayer(id) {\n this.currentBaseLayer = id;\n this.project.setBaseLayer(id);\n _application2.default.baseLayerId = id;\n },\n getSrcBaseLayerImage: function getSrcBaseLayerImage(baseLayer) {\n var image = 'nobaselayer.png';\n switch (baseLayer && baseLayer.servertype || baseLayer) {\n case 'OSM':\n image = 'osm.png';break;\n case 'Bing':\n image = 'bing' + baseLayer.source.subtype + '.png';break;\n case 'TMS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n case 'WMTS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n }\n return (baseLayer || {}).icon ? image : _gui2.default.getResourcesUrl() + 'images/' + image;\n },\n onUnSelectionLayer: function onUnSelectionLayer(storeid, layer) {\n if (!layer) {\n return console.warn('undefined layer');;\n }\n\n var service = _gui2.default.getService('queryresults');\n var action = layer.external && service.getActionLayerById({ layer: layer, id: 'selection' });\n\n if (!layer.external && storeid) {\n _application2.default.catalog[storeid].getLayerById(layer.id).clearSelectionFids();\n }\n\n if (layer.external) {\n layer.selection.active = false;\n layer.selection.features.forEach(function (feature, i) {\n if (!feature.selection.selected) {\n return;\n }\n feature.selection.selected = false;\n if (action) {\n action.state.toggled[i] = false;\n }\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feature });\n });\n }\n },\n onActiveFilterTokenLayer: function () {\n var _ref8 = _asyncToGenerator(function* (storeid, layerstree) {\n layerstree.filter.active = yield _application2.default.catalog[storeid].getLayerById(layerstree.id).toggleFilterToken();\n });\n\n function onActiveFilterTokenLayer(_x8, _x9) {\n return _ref8.apply(this, arguments);\n }\n\n return onActiveFilterTokenLayer;\n }(),\n onTreeNodeVisible: function onTreeNodeVisible(layer) {\n _gui2.default.getService('map').emit('cataloglayervisible', layer);\n },\n onTreeNodeSelected: function onTreeNodeSelected(node) {\n _gui2.default.getService('map').selectLayer(node.id);\n },\n showaddLayerModal: function showaddLayerModal() {\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#modal-changemap').modal('show');\n }\n },\n\n watch: {\n 'state.external.wms': function stateExternalWms(newlayers, oldlayers) {\n if (oldlayers && 0 === newlayers.length) {\n this.activeTab = this.project.state.catalog_tab || 'layers';\n }\n },\n\n\n project: {\n handler: function () {\n var _ref9 = _asyncToGenerator(function* (project) {\n var _this2 = this;\n\n var activeTab = project.state.catalog_tab || 'layers';\n this.loading = 'baselayers' === activeTab;\n yield this.$nextTick();\n setTimeout(function () {\n _this2.loading = false;\n _this2.activeTab = activeTab;\n }, 'baselayers' === activeTab ? 500 : 0);\n });\n\n function handler(_x10) {\n return _ref9.apply(this, arguments);\n }\n\n return handler;\n }(),\n\n immediate: false\n },\n\n activeTab: function activeTab(_activeTab, oldTab) {\n if ('legend' === _activeTab) {\n this.getLegendSrc(true);\n }\n if (this.$el) {\n this.$el.parentElement.classList.remove('tab-' + oldTab);\n this.$el.parentElement.classList.add('tab-' + _activeTab);\n }\n }\n },\n\n created: function created() {\n _g3wEventbus.VM.$on('unselectionlayer', this.onUnSelectionLayer);\n _g3wEventbus.VM.$on('activefiltertokenlayer', this.onActiveFilterTokenLayer);\n _g3wEventbus.VM.$on('treenodevisible', this.onTreeNodeVisible);\n _g3wEventbus.VM.$on('treenodeselected', this.onTreeNodeSelected);\n _g3wEventbus.VM.$on('layer-change-style', this.getLegendSrc);\n },\n beforeMount: function beforeMount() {\n this.currentBaseLayer = this.project.state.initbaselayer;\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n yield this.$nextTick();\n\n if (_application2.default.project.state.context_base_legend) {\n _gui2.default.getService('map').on('change-map-legend-params', function () {\n _this3.getLegendSrc();\n });\n } else {\n this.getLegendSrc();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabbable-panel catalog\"},[_c('div',{staticClass:\"tabbable-line\"},[_c('ul',{staticClass:\"nav nav-tabs catalalog-nav-tabs\",attrs:{\"role\":\"tablist\"},on:{\"!click\":function($event){return _vm.onTabClick($event)}}},[(_vm.hasLayers)?_c('li',{class:{ active: ('layers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('data'),expression:\"'data'\"}],attrs:{\"href\":\"#layers\",\"aria-controls\":\"layers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"tree\"}})]):_vm._e(),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('li',{class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('externalwms'),expression:\"'externalwms'\"}],attrs:{\"href\":\"#externalwms\",\"aria-controls\":\"externalwms\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"externalwms\"}})]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('li',{class:{ active: ('baselayers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('baselayers'),expression:\"'baselayers'\"}],attrs:{\"href\":\"#baselayers\",\"aria-controls\":\"baselayers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"baselayers\"}})]):_vm._e(),_vm._v(\" \"),('tab' === _vm.legend_position && _vm.showlegend)?_c('li',{class:{ active: ('legend' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('legend'),expression:\"'legend'\"}],attrs:{\"href\":\"#legend\",\"aria-controls\":\"legend\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"legend\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content catalog-tab-content\"},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",class:{ active: ('layers' === _vm.activeTab) },attrs:{\"id\":\"layers\",\"role\":\"tabpanel\"}},[_c('div',{staticStyle:{\"margin\":\"2px\"},attrs:{\"id\":\"g3w-catalog-toc-layers-toolbar\"}},[_c('catalog-change-map-themes',{key:_vm.project.state.gid,attrs:{\"map_themes\":_vm.project.state.map_themes,\"layerstrees\":_vm.state.layerstrees},on:{\"change-map-theme\":_vm.changeMapTheme}})],1),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(root){return _c('ul',{key:root.storeid,staticClass:\"tree-root root project-root\"},_vm._l((root.tree),function(tree){return _c('catalog-tristate-tree',{key:tree.id,staticClass:\"item\",attrs:{\"layerstree\":tree,\"parentFolder\":false,\"root\":true,\"legendplace\":_vm.legend_position,\"parent_mutually_exclusive\":false,\"storeid\":root.storeid}})}),1)}),_vm._v(\" \"),(_vm.state.external.vector.length)?_c('ul',{staticClass:\"g3w-external_layers-group\"},_vm._l((_vm.state.external.vector),function(vector){return _c('catalog-tristate-tree',{key:vector.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.vector,\"layerstree\":vector}})}),1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layersgroups),function(group){return _c('ul',{staticClass:\"g3w-catalog-layers-group\"},[_c('div',[_c('h4',[_vm._v(_vm._s(group.title))]),_vm._v(\" \"),_vm._l((group.nodes),function(node){return _c('catalog-tristate-tree',{staticClass:\"item\",attrs:{\"layerstree\":node}})})],2)])})],2),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('div',{staticClass:\"tab-pane\",class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"id\":\"externalwms\",\"role\":\"tabpanel\"}},[_c('ul',{staticClass:\"g3w-external_wms_layers-group\"},_vm._l((_vm.state.external.wms),function(wms){return _c('catalog-tristate-tree',{key:wms.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.wms,\"layerstree\":wms}})}),1)]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('div',{staticClass:\"tab-pane baselayers\",class:{ active: ('baselayers' === _vm.activeTab || !_vm.hasLayers) },attrs:{\"id\":\"baselayers\",\"role\":\"tabpanel\"}},[_c('ul',{class:{'mobile': _vm.isMobile()},style:({ gridTemplateColumns: (\"repeat(auto-fill, minmax(\" + (_vm.baselayers.length > 4 ? 80 : 120) + \"px, 1fr))\") }),attrs:{\"id\":\"baselayers-content\"}},[_vm._l((_vm.baselayers),function(base){return (!base.fixed)?_c('li',{key:base.title},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === base.id ? 1 : 0.5, height: _vm.baselayers.length > 4 ? '108px' : null }),attrs:{\"src\":_vm.getSrcBaseLayerImage(base)},on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(base.id)}}}),_vm._v(\" \"),_c('div',{staticClass:\"baseselayer-text text-center g3w-long-text\"},[_vm._v(_vm._s(base.title))])]):_vm._e()}),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(null)}}},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === null ? 1 : 0.5 }),attrs:{\"src\":_vm.getSrcBaseLayerImage(null)}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('nobaselayer'),expression:\"'nobaselayer'\"}],staticClass:\"baseselayer-text text-center g3w-long-text\"})])],2)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(tree){return ('tab' === _vm.legend_position)?_c('div',{key:tree.id,staticClass:\"tab-pane\",class:{ active: 'legend' === _vm.activeTab },attrs:{\"role\":\"tabpanel\",\"id\":\"legend\"}},_vm._l((tree.tree),function(t){return _c('div',{staticClass:\"legend-item\"},_vm._l((t.legendurls),function(url){return _c('figure',[_c('bar-loader',{attrs:{\"loading\":url.loading}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!url.loading && !url.error),expression:\"!url.loading && !url.error\"}],attrs:{\"src\":url.url,\"alt\":\"\"},on:{\"error\":function($event){return _vm.onLegendError(url)},\"load\":function($event){return _vm.onLegendLoad(url)}}}),_vm._v(\" \"),_c('divider')],1)}),0)}),0):_vm._e()})],2)]),_vm._v(\" \"),(_vm.hasRelatedMaps || 'legend' !== _vm.activeTab)?_c('div',{staticStyle:{\"position\":\"sticky\",\"bottom\":\"0\",\"background-color\":\"#222d32\",\"display\":\"flex\",\"text-align\":\"center\",\"line-height\":\"48px\",\"color\":\"#fff\",\"border-top\":\"2px solid var(--skin-color)\",\"margin-top\":\"12px\",\"justify-content\":\"space-around\"}},[('legend' !== _vm.activeTab)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('i',{class:_vm.$fa('layers')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.hasRelatedMaps && 'legend' !== _vm.activeTab && !_vm.iframe)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('i',{class:_vm.$fa('refresh')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]})]):_vm._e()]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-f931b03a\"\n\n},{\"components/CatalogChangeMapThemes.vue\":38,\"components/CatalogTristateTree.vue\":41,\"g3w-eventbus\":127,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],38:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-catalog-toc-views[data-v-06d0cd43]{margin-bottom:5px;border-bottom:2px solid}.g3w-map-theme-anchor[data-v-06d0cd43]{padding:0;margin-bottom:5px}.g3w-map-theme-anchor>section[data-v-06d0cd43]{display:flex;flex-wrap:wrap;align-items:center;padding:5px}.add-map-theme[data-v-06d0cd43]{border-top:2px solid;margin:5px 0}.add-map-theme-input[data-v-06d0cd43]{width:100%}#g3w-catalog-views[data-v-06d0cd43]{display:none;padding:0}#g3w-catalog-views.menu-open[data-v-06d0cd43]{display:block}.current_map_theme[data-v-06d0cd43]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.choose_map_theme[data-v-06d0cd43]{color:#ccc!important;font-weight:700}.project_map_theme[data-v-06d0cd43]{font-weight:700;padding:3px;border-bottom:1px solid #fff}.user_map_theme[data-v-06d0cd43]{font-weight:700;padding:5px 3px;display:flex;justify-content:space-between;align-self:baseline;border-bottom:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputText = require(\"./InputText.vue\");\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _gui = require(\"services/gui\");\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require(\"utils/XHR\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar LAYERSTREES_ATTRIBUTES = {\n node: ['id', 'name', 'visible', 'expanded'],\n group: ['name', 'checked', 'expanded', 'mutually-exclusive']\n};\n\nexports.default = {\n\n name: \"changemapthemes\",\n\n components: {\n InputText: _InputText2.default\n },\n\n props: {\n\n map_themes: {\n type: Object,\n default: { project: [], custom: [] }\n },\n\n layerstrees: {\n type: Array\n }\n\n },\n\n data: function data() {\n var theme = Object.values(this.map_themes).flat().find(function (mt) {\n return mt.default;\n });\n return {\n active_theme: theme && theme.theme || null,\n collapsed: 'collapsed' === _application2.default.project.state.toc_themes_init_status,\n\n custom_theme: {\n name: 'add-user-theme',\n label: 'sdk.catalog.choose_map_theme_input_label',\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n\n validate: {\n valid: false,\n required: true,\n error: 'sdk.catalog.invalid_map_theme_name'\n }\n },\n\n show_form: false\n };\n },\n\n\n methods: {\n toggle: function toggle() {\n if (!this.show_form) {\n document.getElementById('g3w-catalog-views').classList.toggle('menu-open');\n this.collapsed = !this.collapsed;\n }\n },\n _getMapThemeParams: function _getMapThemeParams() {\n var params = { layerstree: [], styles: {} };\n var treeItem = function treeItem(type, node) {\n return LAYERSTREES_ATTRIBUTES[type].reduce(function (acc, attr) {\n acc[attr] = node[attr];return acc;\n }, {});\n };\n var traverse = function traverse(nodes, tree) {\n nodes.forEach(function (node) {\n if (undefined !== node.id) {\n params.styles[node.id] = node.styles.find(function (s) {\n return s.current;\n }).name;\n tree.push(treeItem('node', node));\n }\n\n if (Array.isArray(node.nodes)) {\n var group = treeItem('group', node);\n group.nodes = [];\n tree.push(group);\n traverse(node.nodes, group.nodes);\n }\n });\n };\n\n traverse(this.layerstrees[0].tree[0].nodes, params.layerstree);\n\n return params;\n },\n saveTheme: function () {\n var _ref = _asyncToGenerator(function* () {\n var theme = this.custom_theme.value;\n\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n var saved = yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n if (saved.result) {\n this.map_themes.custom.push({ theme: this.custom_theme.value, styles: params.styles });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.saved_map_theme', autoclose: true });\n\n this.show_form = false;\n\n this.active_theme = this.custom_theme.value;\n\n yield this.$nextTick();\n\n this.custom_theme.value = null;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function saveTheme() {\n return _ref.apply(this, arguments);\n }\n\n return saveTheme;\n }(),\n updateTheme: function () {\n var _ref2 = _asyncToGenerator(function* (theme) {\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n var c_theme = this.map_themes.custom.find(function (mt) {\n return theme === mt.theme;\n });\n c_theme.styles = params.styles;\n c_theme.layerstree = params.layerstree;\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.updated_map_theme', autoclose: true });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function updateTheme(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return updateTheme;\n }(),\n deleteTheme: function deleteTheme(theme) {\n var _this = this;\n\n _gui2.default.dialog.confirm(t('sdk.catalog.question_delete_map_theme'), function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (!bool || !theme) {\n return;\n }\n try {\n var deleted = yield _XHR.XHR.delete({ url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\" });\n if (deleted.result) {\n _this.map_themes.custom = _this.map_themes.custom.filter(function (_ref4) {\n var t = _ref4.theme;\n return t !== theme;\n });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.delete_map_theme', autoclose: true });\n\n if (theme === _this.active_theme) {\n _this.active_theme = null;\n }\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n }\n },\n\n watch: {\n\n 'active_theme': {\n immediate: false,\n handler: function handler(map_theme) {\n if (null === map_theme || map_theme === this.custom_theme.value) {\n return;\n }\n this.$emit('change-map-theme', map_theme);\n }\n },\n\n 'custom_theme.value': function custom_themeValue(name) {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.custom_theme.validate.valid = name ? !_this2.map_themes.custom.find(function (_ref5) {\n var theme = _ref5.theme;\n return theme === name.trim();\n }) : false;\n }, 200);\n },\n show_form: function () {\n var _ref6 = _asyncToGenerator(function* (bool) {\n this.custom_theme.value = null;\n\n if (bool) {\n yield this.$nextTick();\n Array.from(this.$refs.add_map_theme_input.$el.children).forEach(function (child) {\n return child.classList.remove('col-sm-12');\n });\n }\n });\n\n function show_form(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return show_form;\n }()\n },\n\n created: function created() {\n this.logged = undefined !== _application2.default.user.id;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sidebar-menu\"},[_c('li',{staticClass:\"treeview sidebaritem skin-border-color\",attrs:{\"id\":\"g3w-catalog-toc-views\"}},[_c('a',{staticClass:\"g3w-map-theme-anchor\",attrs:{\"href\":\"#\"}},[_c('section',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_c('i',{class:_vm.$fa(_vm.collapsed ? 'caret-down' : 'caret-up'),staticStyle:{\"padding\":\"3px\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.collapsed ? 'eye-close' : 'eye'),staticStyle:{\"padding\":\"0 0 0 4px\"}}),_vm._v(\" \"),(_vm.active_theme)?_c('span',{staticClass:\"current_map_theme treeview-label g3w-long-text\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.catalog.current_map_theme_prefix'),expression:\"'sdk.catalog.current_map_theme_prefix'\",arg:\"pre\"}],staticStyle:{\"color\":\"#ccc !important\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\",staticStyle:{\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.active_theme))])]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.choose_map_theme'),expression:\"'sdk.catalog.choose_map_theme'\"}],staticClass:\"choose_map_theme treeview-label\"})])]),_vm._v(\" \"),(_vm.show_form)?_c('div',{staticClass:\"add-map-theme skin-border-color\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\",\"padding-top\":\"5px\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"2px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = false}}})]),_vm._v(\" \"),_c('div',{staticClass:\"container add-map-theme-input\"},[_c('input-text',{ref:\"add_map_theme_input\",attrs:{\"state\":_vm.custom_theme}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.custom_theme.validate.valid),expression:\"!custom_theme.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveTheme($event)}}})])]):_c('ul',{class:{'menu-open': !_vm.collapsed},attrs:{\"id\":\"g3w-catalog-views\"}},[((_vm.map_themes.project || []).length > 0)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-project\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.project_map_theme'),expression:\"'sdk.catalog.project_map_theme'\"}],staticClass:\"project_map_theme\"})]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.project),function(map_theme,i){return _c('div',{key:map_theme.theme},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i)},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"for\":(\"g3w-map_theme-\" + i)}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])])}),0)])]):_vm._e(),_vm._v(\" \"),(_vm.logged)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-user\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{staticClass:\"user_map_theme\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.user_map_theme'),expression:\"'sdk.catalog.user_map_theme'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"margin-left\":\"auto\",\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = !_vm.show_form}}})])]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.custom),function(map_theme,i){return _c('div',{key:map_theme.theme,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i + \"-user\")},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"g3w-map_theme-\" + i + \"-user\")}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])]),_vm._v(\" \"),_c('span',{staticClass:\"g3w-custom-map-theme-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('update'),expression:\"'update'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.active_theme !== map_theme.theme),expression:\"active_theme !== map_theme.theme\"}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateTheme(map_theme.theme)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('save')})]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('cancel'),expression:\"'cancel'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteTheme(map_theme.theme)}}},[_c('i',{class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\"}})])])])}),0)])]):_vm._e()])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06d0cd43\"\n\n},{\"./InputText.vue\":77,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],39:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".catalog-context-menu{background:#fafafa;border:1px solid #bdbdbd;border-radius:3px;display:block;list-style:none;margin:0;padding:0;position:fixed;min-width:150px;z-index:2;color:#000;outline:none;display:flex;flex-direction:column}.catalog-context-menu li ul{position:absolute;width:max-content;order:1;padding-left:0;background-color:#fff;color:#000}.catalog-context-menu li:not(:hover) ul{display:none}.catalog-context-menu li{border-bottom:1px solid #e0e0e0;margin:0;padding:8px 25px 8px 15px;display:flex;flex-direction:row}.catalog-context-menu li i{padding-right:3px;margin-right:6px;color:var(--skin-d20)!important}.catalog-context-menu li .click-to-copy{color:#000;opacity:1;margin-left:1ch;margin-right:-15px;margin-top:8px}.catalog-context-menu li .click-to-copy:hover{color:#fff!important;transform:scale(1.1)}.catalog-context-menu .click-to-copy .tooltip-inner{min-width:200px}.catalog-context-menu li.title{background:transparent!important;font-size:1.1em;font-weight:700;border-bottom-width:3px!important;flex-direction:column;max-width:250px;cursor:move!important;color:#000!important}.catalog-context-menu li:last-child{border-bottom:none}.catalog-context-menu li:hover{color:#fafafa;cursor:pointer}.catalog-context-menu li .layer-menu-metadata-info{background-color:#fff;color:#000;padding:5px;max-width:200px;white-space:normal;overflow-y:auto;max-height:150px}.catalog-context-menu .tooltip-inner{word-break:break-all;font-weight:700}.catalog-context-menu .item-text{margin-left:3px}.catalog-context-menu :is(ul,li){list-style-type:none}.catalog-context-menu li.inline-submenu{display:list-item;padding:0;text-indent:100%;line-height:0;overflow:hidden}.catalog-context-menu li.inline-submenu>*{display:none}.catalog-context-menu li.inline-submenu>ul{display:block;position:relative;left:0!important;width:100%;text-indent:0;line-height:normal}.catalog-context-menu li,.catalog-context-menu li.inline-submenu>ul>li{font-weight:700}.catalog-context-menu li li{font-weight:400}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vueColor = require('vue-color');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar shpwrite = require('shp-write');\n\nfunction dragElement(menu) {\n var el = menu.querySelector('li.title');\n if (!el || menu._drag) {\n return;\n } else {\n menu._drag = true;\n }\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (menu.style.marginLeft) {\n x2 -= parseInt(menu.style.marginLeft);menu.style.marginLeft = null;\n }\n if (menu.style.marginTop) {\n y2 -= parseInt(menu.style.marginTop);menu.style.marginTop = null;\n }\n menu.style.top = menu.offsetTop - y2 + \"px\";\n menu.style.left = menu.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: 'catalog-context-menu',\n\n props: {\n external: {\n type: Object\n }\n },\n\n data: function data() {\n return {\n ApplicationState: _application2.default,\n layer: null,\n layer_style: null,\n top: 0,\n left: 0,\n project_menu: false,\n layer_menu: false\n };\n },\n\n\n computed: {\n edit_url: function edit_url() {\n return _application2.default.project.getState().edit_url;\n },\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n }\n },\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n directives: {\n 'click-outside': {\n bind: function bind(el, binding, vnode) {\n this.event = function (e) {\n if (el === e.target || el.contains(e.target)) {\n return;\n }\n e.stopPropagation();\n vnode.context[binding.expression](e);\n };\n document.body.addEventListener('click', this.event, true);\n },\n unbind: function unbind() {\n document.body.removeEventListener('click', this.event, true);\n }\n }\n },\n\n methods: {\n onShowContextMenu: function () {\n var _ref = _asyncToGenerator(function* (e, layerstree) {\n this.closeMenu();\n yield this.$nextTick();\n this.left = e.x;\n var layer = !(layerstree || {}).nodes && layerstree;\n this.layer = layer || null;\n this.layer_menu = !!layer;\n this.project_menu = !layer;\n yield this.$nextTick();\n this.top = e.target.getBoundingClientRect().top - this.$refs['menu'].clientHeight + e.target.clientHeight / 2;\n $('.click-to-copy[data-toggle=\"tooltip\"]').tooltip();\n\n [this.$refs.download_menu, this.$refs.ogc_menu].forEach(function (li) {\n return li && li.classList.toggle('inline-submenu', 1 === li.querySelector('ul').children.length);\n });\n dragElement(this.$refs.menu);\n });\n\n function onShowContextMenu(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return onShowContextMenu;\n }(),\n closeMenu: function closeMenu() {\n this.layer_menu = false;\n this.project_menu = false;\n },\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n this.$refs.layer_color.style.backgroundColor = val.hex;\n var layer = _gui2.default.getService('map').getLayerByName(this.layer.name || '');\n var style = layer.getStyle();\n style._g3w_options.color = val;\n layer.setStyle(style);\n },\n canShowWmsUrl: function canShowWmsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && !!layer.getFullWmsUrl();\n },\n canShowWfsUrl: function canShowWfsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && layer.isWfsActive();\n },\n canDownload: function canDownload(format, layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && layer['is' + format + 'Downloadable']();\n },\n getWmsUrl: function getWmsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWmsUrl();\n },\n getWfsUrl: function getWfsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfsUrl();\n },\n getWfs3Url: function getWfs3Url(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfs3Url();\n },\n copyUrl: function copyUrl(format, el) {\n var _this = this;\n\n var url = this['get' + format + 'Url'](this.layer.id);\n var a = document.createElement('a');\n var input = document.createElement('input');\n a.href = url;\n input.value = a.href;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"copy\");\n $(el).attr('data-original-title', t('sdk.catalog.menu.wms.copied')).tooltip('show');\n $(el).attr('title', this.copywmsurltooltip).tooltip('fixTitle');\n input.remove();\n a.remove();\n setTimeout(function () {\n $('[data-toggle=\"tooltip\"]').tooltip(\"destroy\");\n _this.closeMenu();\n }, 600);\n },\n download: function () {\n var _ref2 = _asyncToGenerator(function* (format, layerId) {\n var map_extent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _application2.default.download = true;\n try {\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId)['get' + format]({\n data: map_extent ? { map_extent: _gui2.default.getService('map').getMapExtent().toString() } : undefined\n });\n } catch (e) {\n _gui2.default.notify.error(t(\"info.server_error\"));\n }\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function download(_x4, _x5) {\n return _ref2.apply(this, arguments);\n }\n\n return download;\n }(),\n downloadExternal: function downloadExternal(url) {\n _application2.default.download = true;\n (0, _downloadFile.downloadFile)({ url: url });\n _application2.default.download = false;\n },\n setLayerPosition: function setLayerPosition(position) {\n if (position !== this.layer.position) {\n this.layer.position = position;\n var map = _gui2.default.getService('map');\n map.getLayerById(this.layer.id).setZIndex({ top: map.layersCount, bottom: 0 }[position]);\n map.emit('change-layer-position-map', { id: this.layer.id, position: position });\n this.closeMenu();\n }\n },\n zoomToLayer: function zoomToLayer(layer) {\n try {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: '' + e.message,\n textMessage: true\n });\n }\n this.closeMenu();\n },\n canEdit: function canEdit(layer) {\n return layer ? !layer.external && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).isEditable() && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).config.editing.visible : g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n },\n startEditing: function startEditing(layer) {\n this.closeMenu();\n var editing = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n editing.showPanel(layer ? { toolboxes: [layer.id] } : undefined);\n if (layer) {\n editing.startEditing(layer.id);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coord) {\n return coord > 0;\n });\n },\n getGeometryType: function getGeometryType(layerId) {\n var external = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = external ? _gui2.default.getService('catalog').state.external.vector.find(function (l) {\n return l.id === layerId;\n }) : (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n if (layer) {\n var type = external ? layer.geometryType : layer.config.geometrytype;\n return layer && 'NoGeometry' !== type && type || '';\n }\n return '';\n },\n downloadExternalShapefile: function () {\n var _ref3 = _asyncToGenerator(function* (layer) {\n _application2.default.download = true;\n var features = _gui2.default.getService('map').getLayerByName(layer.name).getSource().getFeatures();\n if ('EPSG:4326' !== layer.crs) {\n features = features.map(function (f) {\n var feat = f.clone();\n feat.getGeometry().transform(layer.crs, 'EPSG:4326');\n return feat;\n });\n }\n var name = layer.name.split('.' + layer.type)[0];\n shpwrite.download(new ol.format.GeoJSON().writeFeaturesObject(features, { featureProjection: 'EPSG:4326' }), {\n folder: name,\n types: {\n point: name,\n mulipoint: name,\n polygon: name,\n multipolygon: name,\n line: name,\n polyline: name,\n multiline: name\n }\n });\n yield this.$nextTick();\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function downloadExternalShapefile(_x7) {\n return _ref3.apply(this, arguments);\n }\n\n return downloadExternalShapefile;\n }(),\n showAttributeTable: function showAttributeTable(layerId) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerId).openAttributeTable();\n this.closeMenu();\n },\n showMetadata: function () {\n var _ref4 = _asyncToGenerator(function* (layerId) {\n this.closeMenu();\n $('#modal-metadata').modal('show');\n if (layerId) {\n setTimeout(function () {\n document.querySelector('#project-catalog [href=\"#metadata_layers\"]').click();\n document.querySelector('#metadata_layers [data-target=\"#' + layerId + '\"]').click();\n });\n }\n });\n\n function showMetadata(_x8) {\n return _ref4.apply(this, arguments);\n }\n\n return showMetadata;\n }(),\n setLayerStyle: function setLayerStyle(index) {\n var _this2 = this;\n\n var changed = false;\n this.layer.styles.forEach(function (style, i) {\n if (i === index) {\n _this2.layer_style = style.name;\n changed = !style.current;\n style.current = true;\n } else {\n style.current = false;\n }\n });\n var layer = changed && (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (layer) {\n _g3wEventbus.VM.$emit('layer-change-style', { layerId: this.layer.id, style: this.layer_style });\n layer.change();\n }\n this.closeMenu();\n },\n setLayerFilter: function () {\n var _ref5 = _asyncToGenerator(function* (filter) {\n var changed = null === this.layer.filter.current || this.layer.filter.current.fid !== filter.fid;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (changed) {\n yield layer.applyFilter(filter);\n } else {\n yield layer.deleteFilterToken();\n }\n layer.change();\n this.closeMenu();\n });\n\n function setLayerFilter(_x9) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayerFilter;\n }(),\n deleteFilter: function () {\n var _ref6 = _asyncToGenerator(function* (fid) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n var change = fid === this.layer.fid;\n\n if (!layer) {\n return;\n }\n yield layer.deleteFilterToken(fid);\n if (change) {\n layer.change();\n }\n\n this.closeMenu();\n });\n\n function deleteFilter(_x10) {\n return _ref6.apply(this, arguments);\n }\n\n return deleteFilter;\n }(),\n showMenu: function () {\n var _ref7 = _asyncToGenerator(function* (e) {\n var li = e.target.closest('li');\n var ul = li && li.querySelector('ul');\n if (ul) {\n var overflowY = ul.offsetHeight + ul.getBoundingClientRect().top >= this.$refs['menu'].offsetHeight + this.$refs['menu'].getBoundingClientRect().top;\n ul.style.top = ul.offsetHeight > this.$refs['menu'].offsetHeight ? 0 : undefined;\n ul.style.left = this.$refs['menu'].offsetWidth - 2 + 'px';\n ul.style.maxHeight = this.$refs['menu'].offsetHeight + 'px';\n ul.style.bottom = overflowY ? 0 : undefined;\n ul.style.marginTop = overflowY ? undefined : '-5px';\n ul.style.overflowY = 'auto';\n }\n });\n\n function showMenu(_x11) {\n return _ref7.apply(this, arguments);\n }\n\n return showMenu;\n }(),\n canOpenAttributeTable: function canOpenAttributeTable(layer) {\n return layer.openattributetable;\n },\n isExternalLayer: function isExternalLayer(layer) {\n return !layer.projectLayer;\n },\n isExternalWMSLayer: function isExternalWMSLayer(layer) {\n return !layer.projectLayer && 'wms' === layer._type;\n },\n isExternalVectorLayer: function isExternalVectorLayer(layer) {\n return !layer.projectLayer && 'wms' !== layer._type;\n },\n canShowStylesMenu: function canShowStylesMenu(layer) {\n return layer.geolayer && layer.styles && layer.styles.length > 1;\n },\n canShowFiltersMenu: function canShowFiltersMenu(layer) {\n return layer.filters && layer.filters.length > 0;\n },\n hasMetadata: function hasMetadata(layer) {\n return layer.metadata;\n },\n canShowOpacityPicker: function canShowOpacityPicker(layer) {\n return layer.geolayer && layer.visible;\n },\n onLayerOpacity: function onLayerOpacity() {\n if (this.isExternalWMSLayer(this.layer)) {\n var layer = _gui2.default.getService('map').getLayerById(this.layer.id);\n if (layer) {\n layer.setOpacity(this.layer.opacity);\n _gui2.default.getService('map').emit('change-layer-opacity', { id: this.layer.id, opacity: this.layer.opacity });\n }\n } else {\n var _layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (_layer) {\n _g3wEventbus.VM.$emit('layer-change-opacity', { layerId: this.layer.id });\n _layer.change();\n }\n }\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n _g3wEventbus.VM.$on('context-menu', this.onShowContextMenu);\n document.addEventListener('keyup', function (e) {\n return 'Escape' === e.key && _this3.closeMenu();\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.layer_menu || _vm.project_menu)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"catalog-context-menu\",style:({\n top: _vm.top + 'px',\n left: _vm.left + 'px',\n }),attrs:{\"id\":\"layer-context-menu\",\"tabindex\":\"-1\"},on:{\"mouseover\":_vm.showMenu}},[_c('li',{staticClass:\"title\"},[(_vm.project_menu)?_c('div',[_vm._v(\"G3W-ADMIN \"+_vm._s(_vm.ApplicationState.project.getName()))]):_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.layer.title)+\"\\n \"),_c('div',{staticStyle:{\"font-weight\":\"normal\",\"font-size\":\"0.8em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getGeometryType(_vm.layer.id, _vm.layer.external))+\"\\n \")])])]),_vm._v(\" \"),(_vm.project_menu || _vm.hasMetadata(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showMetadata(_vm.layer && _vm.layer.id)}}},[_c('i',{class:_vm.$fa('info')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.metadata.title'))+\"\\n \"),(_vm.layer && _vm.layer.metadata && _vm.layer.metadata.abstract)?_c('ul',{staticStyle:{\"border-radius\":\"0 3px 3px 0\"}},[_c('li',{staticClass:\"layer-menu-metadata-info\",domProps:{\"innerHTML\":_vm._s(_vm.layer.metadata.abstract)}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.canEdit(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.startEditing(_vm.layer)}}},[_c('i',{class:_vm.$fa('pencil')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.layer_menu)?[(_vm.canZoom(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.zoomToLayer(_vm.layer)}}},[_c('i',{class:_vm.$fa('search')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.zoomtolayer'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canOpenAttributeTable(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showAttributeTable(_vm.layer.id)}}},[_c('i',{class:_vm.$fa('list')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.open_attribute_table'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('sort')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('layer_position.message'))+\" (\"+_vm._s(_vm.$t('layer_position.' + _vm.layer.position))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((['top', 'bottom']),function(position){return _c('li',{staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){return _vm.setLayerPosition(position)}}},[(position === _vm.layer.position)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.' + position),expression:\"'layer_position.' + position\"}]})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowStylesMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('palette')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.styles'))+\" (\"+_vm._s(_vm.layer.styles.find(function (s) { return s.current; }).name.toLowerCase())+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.styles),function(style,i){return _c('li',{key:style.name,staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerStyle(i)}}},[(style.current)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.8em\"}}):_vm._e(),_vm._v(\"\\n \"+_vm._s(style.name + (_vm.layer.styles.length > 1 && style.name === _vm.layer.defaultstyle ? (\" (\" + (_vm.$t('default')) + \")\") : ''))+\"\\n \")])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowOpacityPicker(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s((_vm.layer.opacity / 100))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(0)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalWMSLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s(_vm.layer.opacity)+\")\\n \"),_c('span',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.01\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(1)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('tint')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.vector_color_menu'))+\"\\n \"),_c('i',{ref:\"layer_color\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"border-radius\":\"10px\",\"position\":\"absolute\",\"right\":\"20px\",\"margin-top\":\"4px\"},style:({ backgroundColor: _vm.layer.color })}),_vm._v(\" \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"padding\":\"14px\",\"background-color\":\"#E0E0E0\"}},[_c('chrome-picker',{ref:\"color_picker\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();},\"hook:beforeDestroy\":function () { return _vm.$refs.color_picker.$off(); },\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}})],1)])]):_vm._e(),_vm._v(\" \"),(_vm.canShowFiltersMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('filter')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.filters'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.filters),function(filter){return _c('li',{key:filter.fid,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerFilter(filter)}}},[(_vm.layer.filter.current && _vm.layer.filter.current.fid === filter.fid)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\",\"justify-self\":\"flex-start\"}}):_vm._e(),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_vm._v(_vm._s(filter.name))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-border-color\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"right\":\"0\",\"padding-left\":\"10px\",\"border-left\":\"2px solid\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFilter(filter.fid)}}})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('', _vm.layer.id) || _vm.isExternalVectorLayer(_vm.layer))?_c('li',{ref:\"download_menu\",attrs:{\"disabled\":_vm.ApplicationState.download}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.download'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.ApplicationState.download}}),_vm._v(\" \"),_c('ul',[(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('geotiff')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoTiff'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id, true)}}},[_c('i',{class:_vm.$fa('geotiff'),staticStyle:{\"color\":\"#777\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('crop'),staticStyle:{\"position\":\"absolute\",\"left\":\"-7px\",\"bottom\":\"8px\",\"font-size\":\"1.2em\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('sdk.catalog.menu.download.geotiff_map_extent'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Shp', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Shp', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpx', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpx', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpx')}),_vm._v(\" \"+_vm._s(_vm.$t('GPX'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpkg', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpkg', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpkg')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoPackage'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Csv', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Csv', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('csv')}),_vm._v(\" \"+_vm._s(_vm.$t('CSV'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Xls', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Xls', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('xls')}),_vm._v(\" \"+_vm._s(_vm.$t('Excel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && _vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternal(_vm.layer.downloadUrl)}}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.catalog.menu.download.unknow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && !_vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternalShapefile(_vm.layer)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),([\n this.canShowWmsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id)\n ].filter(Boolean).length)?_c('li',{ref:\"ogc_menu\"},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.ogc_services'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[(_vm.canShowWmsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wms', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWmsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WMS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWmsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs3', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfs3Url(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS 3\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfs3Url(_vm.layer.id)}})]):_vm._e()])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.layers_url && _vm.layer_menu && !_vm.isExternalLayer(_vm.layer))?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Layers settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.edit_url && _vm.project_menu)?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.edit_url,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeMenu($event)}}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Project settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"75\"}},[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"1\")])])},function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',[_vm._v(\"1\")])])}]\n\n},{\"g3w-eventbus\":127,\"g3w-i18n\":129,\"services/gui\":173,\"shp-write\":\"shp-write\",\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],40:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".layer-legend[data-v-fc3d03ea]{padding-left:36px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"catalog-layer-legend\",\n props: {\n legendplace: {\n type: String\n },\n layer: {\n type: Object\n }\n },\n data: function data() {\n return {\n loading: false,\n\n categories: [],\n\n currentstyle: this.layer.styles.find(function (style) {\n return true === style.current;\n }).name\n\n };\n },\n\n mixins: [_click2.default],\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layer.featurecount;\n },\n externallegend: function externallegend() {\n return 'wms' === this.layer.source.type;\n },\n legend: function legend() {\n return this.layer.legend;\n },\n show: function show() {\n return this.layer.expanded && this.layer.visible && ('toc' === this.legendplace || 'tab' === this.legendplace && this.layer.categories);\n }\n },\n\n methods: {\n onCategoryClick: function onCategoryClick() {\n this.handleClick({\n '1': function _() {\n console.info('TODO: select category (single click)');\n },\n '2': function _() {\n console.info('TODO: zoom to category (double click)');\n }\n }, this);\n },\n showCategoryMenu: function showCategoryMenu() {\n this.$emit('showmenucategory');\n },\n getWmsSourceLayerLegendUrl: function getWmsSourceLayerLegendUrl() {\n return this.getProjectLayer().getLegendUrl({\n width: 16,\n height: 16\n });\n },\n getProjectLayer: function getProjectLayer() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n isDisabled: function isDisabled(index) {\n return this.categories[index].disabled;\n },\n showHideLayerCategory: function showHideLayerCategory(index) {\n this.categories[index].checked = !this.categories[index].checked;\n this.getProjectLayer().change();\n if ('tab' === this.legendplace) {\n this.layer.legend.change = true;\n } else if (this.categories[index].checked && this.mapReady) {\n this.setLayerCategories(false);\n }\n },\n setError: function setError() {\n this.legend.error = true;\n this.legend.loading = false;\n },\n urlLoaded: function () {\n var _ref = _asyncToGenerator(function* () {\n this.legend.loading = false;\n });\n\n function urlLoaded() {\n return _ref.apply(this, arguments);\n }\n\n return urlLoaded;\n }(),\n onChangeLayerLegendStyle: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.loading = true;\n\n if (this.externallegend) {\n return;\n }\n\n try {\n if (undefined !== options.style && options.layerId === this.layer.id) {\n yield this.setLayerCategories(true);\n yield this.getProjectLayer().getStyleFeatureCount(options.style);\n this.currentstyle = options.style;\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n }\n }\n } catch (e) {\n console.warn('Error while changing layer style', e);\n }\n\n this.loading = false;\n });\n\n function onChangeLayerLegendStyle() {\n return _ref2.apply(this, arguments);\n }\n\n return onChangeLayerLegendStyle;\n }(),\n setLayerCategories: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var all = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n var projectLayer = this.getProjectLayer();\n var categories = projectLayer.getCategories();\n\n if (all && categories) {\n this.categories = categories;\n } else {\n var _ref4 = yield projectLayer.getLegendGraphic({ all: all }),\n _ref4$nodes = _ref4.nodes,\n nodes = _ref4$nodes === undefined ? [] : _ref4$nodes;\n\n if (all) {\n this._setAllLayerCategories(nodes);\n } else {\n this._updateLayerCategories(nodes, categories);\n }\n }\n } catch (err) {\n this.setError();\n }\n });\n\n function setLayerCategories() {\n return _ref3.apply(this, arguments);\n }\n\n return setLayerCategories;\n }(),\n _setAllLayerCategories: function _setAllLayerCategories(nodes) {\n var projectLayer = this.getProjectLayer();\n\n var categories = [];\n nodes.forEach(function (_ref5) {\n var icon = _ref5.icon,\n title = _ref5.title,\n ruleKey = _ref5.ruleKey,\n checked = _ref5.checked,\n _ref5$symbols = _ref5.symbols,\n symbols = _ref5$symbols === undefined ? [] : _ref5$symbols;\n\n if (icon) {\n categories.push({ icon: icon, title: title, ruleKey: ruleKey, checked: checked, disabled: false });\n } else {\n symbols.forEach(function (symbol) {\n symbol._checked = symbol.checked;\n symbol.disabled = false;\n categories.push(symbol);\n });\n }\n });\n projectLayer.setCategories(categories);\n this.categories = categories;\n },\n _updateLayerCategories: function _updateLayerCategories(nodes, categories) {\n var projectLayer = this.getProjectLayer();\n\n projectLayer.setCategories(categories);\n this.categories = categories;\n\n if (nodes.length) {\n nodes.forEach(function (_ref6) {\n var icon = _ref6.icon,\n title = _ref6.title,\n _ref6$symbols = _ref6.symbols,\n symbols = _ref6$symbols === undefined ? [] : _ref6$symbols;\n\n if (icon) {\n symbols = [{ icon: icon, title: title }];\n }\n categories.forEach(function (category) {\n var findSymbol = symbols.find(function (symbol) {\n return symbol.icon === category.icon && symbol.title === category.title;\n });\n var disabled = undefined !== category.checked ? category.checked : true;\n category.disabled = disabled && undefined === findSymbol;\n });\n });\n } else {\n categories.forEach(function (category) {\n return category.disabled = undefined !== category.checked ? category.checked : true;\n });\n }\n },\n onChangeMapLegendParams: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.mapReady = true;\n if (this.layer.visible && false === this.externallegend && ('toc' === this.legendplace || this.layer.categories)) {\n this.setLayerCategories(false);\n }\n });\n\n function onChangeMapLegendParams() {\n return _ref7.apply(this, arguments);\n }\n\n return onChangeMapLegendParams;\n }(),\n runInitLayerVisibleAction: function () {\n var _ref8 = _asyncToGenerator(function* () {\n yield this.setLayerCategories(true);\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n _gui2.default.getService('map').on('change-map-legend-params', this.onChangeMapLegendParams);\n }\n this.initialize = true;\n });\n\n function runInitLayerVisibleAction() {\n return _ref8.apply(this, arguments);\n }\n\n return runInitLayerVisibleAction;\n }()\n },\n\n watch: {\n 'layer.visible': function () {\n var _ref9 = _asyncToGenerator(function* (visible) {\n var enabled = visible && false === this.externallegend;\n\n if (enabled && false === this.initialize) {\n yield this.runInitLayerVisibleAction();\n }\n\n if (enabled && false !== this.initialize) {\n yield this.setLayerCategories(!this.dynamic);\n }\n });\n\n function layerVisible(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return layerVisible;\n }()\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n this.initialize = false;\n\n this.dynamic = _application2.default.project.state.context_base_legend;\n\n this.mapReady = false;\n\n _g3wEventbus.VM.$on('layer-change-style', this.onChangeLayerLegendStyle);\n\n if (false === this.externallegend && true === this.layer.visible) {\n yield this.runInitLayerVisibleAction();\n }\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n _g3wEventbus.VM.$off('layer-change-style', this.onChangeLayerLegendStyle);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"layer-legend\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.legend)?_c('bar-loader',{attrs:{\"loading\":_vm.legend.loading}}):_vm._e(),_vm._v(\" \"),(_vm.externallegend)?_c('figure',[_c('img',{attrs:{\"src\":_vm.getWmsSourceLayerLegendUrl()}})]):_c('figure',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(category.disabled),expression:\"category.disabled\"}],staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"},on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showCategoryMenu($event)}}},[(category.ruleKey)?_c('span',{class:_vm.$fa(category.checked ? 'check': 'uncheck'),staticStyle:{\"padding-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showHideLayerCategory(index)}}}):_vm._e(),_vm._v(\" \"),(('toc' === _vm.legendplace))?_c('img',{attrs:{\"src\":category.icon && (\"data:image/png;base64,\" + (category.icon))},on:{\"error\":function($event){return _vm.setError()},\"load\":function($event){return _vm.urlLoaded()}}}):_vm._e(),_vm._v(\" \"),(('tab' === _vm.legendplace && category.ruleKey) || ('toc' === _vm.legendplace))?_c('span',{staticClass:\"g3w-long-text\",staticStyle:{\"padding-left\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCategoryClick($event)}}},[_c('span',[_vm._v(_vm._s(category.title))]),_vm._v(\" \"),(_vm.showfeaturecount && 'undefined' !== typeof category.ruleKey)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.layer.stylesfeaturecount[_vm.currentstyle][category.ruleKey])+\"]\\n \")]):_vm._e()]):_vm._e()])})],2)],1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-fc3d03ea\"\n\n},{\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],41:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _CatalogLayerLegend = require('components/CatalogLayerLegend.vue');\n\nvar _CatalogLayerLegend2 = _interopRequireDefault(_CatalogLayerLegend);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _setAllLayersVisible(layers) {\n layers.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: layers.visible && n.checked });\n } else if (n.parentGroup.checked && n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(layers.visible);\n }\n });\n};\n\nexports.default = {\n name: 'catalog-tristate-tree',\n\n props: ['layerstree', 'storeid', 'legend', 'legendplace', 'parent_mutually_exclusive', 'parentFolder', 'externallayers', 'root', 'parent'],\n\n components: {\n CatalogLayerLegend: _CatalogLayerLegend2.default\n },\n\n mixins: [_click2.default],\n\n data: function data() {\n return {\n expanded: this.layerstree.expanded,\n isGroupChecked: true,\n controltoggled: false,\n n_childs: null,\n filtered: false,\n logged: undefined !== _application2.default.user.id };\n },\n\n\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layerstree.featurecount;\n },\n showLegendLayer: function showLegendLayer() {\n return !this.layerstree.exclude_from_legend;\n },\n showLayerTocLegend: function showLayerTocLegend() {\n return !this.isGroup && this.showLegendLayer && this.layerstree.geolayer;\n },\n isGroup: function isGroup() {\n return !!this.layerstree.nodes;\n },\n legendlayerposition: function legendlayerposition() {\n return this.showLegendLayer && this.layerstree.legend ? this.legendplace : 'tab';\n },\n showscalevisibilityclass: function showscalevisibilityclass() {\n return !this.isGroup && this.layerstree.scalebasedvisibility;\n },\n showScaleVisibilityToolip: function showScaleVisibilityToolip() {\n return this.showscalevisibilityclass && this.layerstree.disabled && this.layerstree.checked;\n },\n isTable: function isTable() {\n return !this.isGroup && !this.layerstree.geolayer && !this.layerstree.external;\n },\n isHidden: function isHidden() {\n return this.layerstree.hidden && true === this.layerstree.hidden;\n },\n selected: function selected() {\n this.layerstree.selected = this.layerstree.disabled && this.layerstree.selected ? false : this.layerstree.selected;\n },\n isHighLight: function isHighLight() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id) || this.layerstree;\n return !this.isGroup && _application2.default.highlightlayers && layer && layer.isVisible() && layer.getTocHighlightable();\n },\n isInGrey: function isInGrey() {\n return !this.isGroup && !this.isTable && !this.layerstree.external && (!this.layerstree.visible || this.layerstree.disabled);\n },\n getFeatureCount: function getFeatureCount() {\n return Object.values(this.layerstree.featurecount).reduce(function (total, categoryFeatureCount) {\n return total + 1 * categoryFeatureCount;\n }, 0);\n }\n },\n\n watch: {\n 'layerstree.checked': function layerstreeChecked() {\n if (this.isGroup) {\n this.handleGroupChecked(this.layerstree);\n } else {\n this.handleLayerChecked(this.layerstree);\n }\n }\n },\n\n methods: {\n removeCurrentFilter: function removeCurrentFilter() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id).deleteFilterToken();\n },\n handleGroupChecked: function handleGroupChecked(group) {\n\n if (!group.checked) {\n group.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: false });\n } else if (n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(false);\n }\n });\n return;\n }\n\n var visible = group.parentGroup ? group.parentGroup.checked : true;\n var mutually_exclusive = group.parentGroup && group.parentGroup.mutually_exclusive;\n\n if (!mutually_exclusive) {\n _setAllLayersVisible({ nodes: group.nodes, visible: visible });\n }\n\n if (mutually_exclusive) {\n group.parentGroup.nodes.forEach(function (n) {\n n.checked = n.groupId === group.groupId;\n if (n.checked) {\n _setAllLayersVisible({ nodes: n.nodes, visible: visible });\n }\n });\n }\n\n var g = group.parentGroup;\n while (g) {\n g.checked = g.root || g.checked;\n g = g.parentGroup;\n }\n },\n handleLayerChecked: function handleLayerChecked(layer) {\n\n var map = _gui2.default.getService('map');\n\n if (!layer.projectLayer) {\n layer.visible = layer.checked;\n layer.setVisible(layer.checked);\n map.emit('change-layer-visibility', { id: layer.id, visible: layer.checked });\n return;\n }\n\n var qlayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var checked = layer.checked;\n\n qlayer.setVisible(checked ? !layer.disabled : false);\n\n if (checked && layer.parentGroup.mutually_exclusive) {\n layer.parentGroup.nodes.forEach(function (n) {\n return n.checked = n.id === layer.id;\n });\n }\n\n var g = layer.parentGroup;\n while (checked && g) {\n g.checked = true;\n g = g.parentGroup;\n }\n\n _g3wEventbus.VM.$emit('treenodevisible', qlayer);\n },\n saveFilter: function saveFilter(layerstree) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerstree.id).saveFilter();\n },\n toggleFilterLayer: function toggleFilterLayer() {\n _g3wEventbus.VM.$emit('activefiltertokenlayer', this.storeid, this.layerstree);\n },\n clearSelection: function clearSelection() {\n _g3wEventbus.VM.$emit('unselectionlayer', this.storeid, this.layerstree);\n },\n toggle: function toggle() {\n this.layerstree.checked = !this.layerstree.checked;\n },\n expandCollapse: function expandCollapse() {\n this.layerstree.expanded = !this.layerstree.expanded;\n },\n select: function select() {\n if (undefined !== this.layerstree.selected && (!this.isGroup && !this.isTable || this.layerstree.external && false === this.layerstree.projectLayer)) {\n _g3wEventbus.VM.$emit('treenodeselected', this.layerstree);\n }\n },\n maybeZoomToLayer: function maybeZoomToLayer(layer) {\n if (this.canZoom(this.layerstree)) {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coordinate) {\n return coordinate > 0;\n });\n },\n onTreeItemClick: function onTreeItemClick() {\n var _this = this;\n\n this.handleClick({\n '1': function _() {\n return !_this.isTable && !_this.isGroup && _this.select();\n },\n '2': function _() {\n return !_this.isTable && _this.maybeZoomToLayer(_this.layerstree);\n }\n }, this);\n },\n triClass: function triClass() {\n return this.g3wtemplate.getFontClass(this.layerstree.checked ? 'check' : 'uncheck');\n },\n downloadExternalLayer: function downloadExternalLayer(download) {\n if (download.file) {\n (0, _downloadFile.downloadFile)(download.file);\n } else if (download.url) {}\n },\n removeExternalLayer: function removeExternalLayer(name) {\n _gui2.default.getService('map').removeExternalLayer(name);\n },\n showContextMenu: function showContextMenu(evt) {\n _g3wEventbus.VM.$emit('context-menu', evt, this.layerstree);\n }\n },\n\n created: function created() {\n if (this.isGroup && !this.layerstree.checked) {\n this.handleGroupChecked(this.layerstree);\n }\n if (this.isGroup && !this.root && this.parent_mutually_exclusive && !this.layerstree.mutually_exclusive) {\n this.layerstree.nodes.forEach(function (node) {\n node.id && (node.uncheckable = true);\n });\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('span.scalevisibility, a.toggle-context-menu').tooltip();\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGroup || !_vm.layerstree.projectLayer || _vm.layerstree.toc)?_c('li',{staticClass:\"tree-item\",class:{\n selected: !_vm.isGroup || !_vm.isTable ? _vm.layerstree.selected : false,\n itemmarginbottom: !_vm.isGroup,\n disabled: _vm.isInGrey,\n group: _vm.isGroup\n },style:({\n marginLeft: !_vm.isGroup ? '5px' : '0',\n position: 'relative',\n }),on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)},\"click\":function($event){$event.stopPropagation();return _vm.onTreeItemClick($event)}}},[(_vm.isGroup)?_c('span',{staticClass:\"root collapse-expande-collapse-icon\",class:[\n { bold : _vm.isGroup },\n _vm.g3wtemplate.getFontClass(_vm.layerstree.expanded ? 'caret-down' : 'caret-right')\n ],staticStyle:{\"padding-right\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{class:[_vm.triClass()],staticStyle:{\"color\":\"#ffffff\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}}):(_vm.isTable)?_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],class:[\n _vm.parentFolder ? 'child' : 'root',\n _vm.g3wtemplate.getFontClass('table')\n ],staticStyle:{\"padding-left\":\"18px\"}}):[(_vm.layerstree.external && _vm.layerstree.removable)?_c('span',{class:_vm.g3wtemplate.getFontClass('trash'),staticStyle:{\"color\":\"red\",\"padding-left\":\"1px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeExternalLayer(_vm.layerstree.name, _vm.layerstree._type)}}}):_vm._e(),_vm._v(\" \"),(_vm.layerstree.external && _vm.layerstree.download)?_c('span',{class:_vm.g3wtemplate.getFontClass('download'),staticStyle:{\"color\":\"#ffffff\",\"margin-left\":\"5px\"},on:{\"click\":function($event){return _vm.downloadExternalLayer(_vm.layerstree.download)}}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],staticClass:\"checkbox-layer\",class:_vm.parentFolder ? 'child' : 'root'},[('toc' === _vm.legendlayerposition || !_vm.isGroup && _vm.layerstree.categories)?_c('span',{staticClass:\"collapse-expande-collapse-icon\",class:_vm.g3wtemplate.getFontClass(_vm.layerstree.visible && _vm.layerstree.expanded ? 'caret-down' : 'caret-right'),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{class:[\n _vm.g3wtemplate.getFontClass(_vm.layerstree.checked ? 'check': 'uncheck'),\n { 'toc-added-external-layer': (!_vm.layerstree.legend && _vm.layerstree.external) }\n ],style:({\n paddingLeft: ('toc' === _vm.legendlayerposition)\n ? '5px'\n : !_vm.isGroup && _vm.layerstree.categories\n ? '5px'\n : (!_vm.layerstree.legend && _vm.layerstree.external)\n ? '1px'\n : '18px'\n }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}})])],_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden || _vm.isGroup),expression:\"!layerstree.hidden || isGroup\"}],staticClass:\"tree-node-title\",class:{\n disabled: !_vm.layerstree.external && (_vm.layerstree.disabled || (_vm.layerstree.id && !_vm.layerstree.visible)),\n bold: _vm.isGroup\n }},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.text\",value:(_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale:\" + (_vm.layerstree.maxscale)) : ''),expression:\"showScaleVisibilityToolip ? `minscale:${layerstree.minscale} - maxscale:${layerstree.maxscale}` : ''\",modifiers:{\"text\":true}}],staticClass:\"skin-tooltip-top g3w-long-text\",class:{\n highlightlayer: _vm.isHighLight,\n scalevisibility: _vm.showscalevisibilityclass\n },attrs:{\"data-placement\":\"top\",\"current-tooltip\":_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale: \" + (_vm.layerstree.maxscale)) : ''}},[(!_vm.isGroup && !_vm.layerstree.external && null !== _vm.layerstree.filter.current)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create.text\",value:(_vm.layerstree.filter.current.name),expression:\"layerstree.filter.current.name\",arg:\"top\",modifiers:{\"create\":true,\"text\":true}}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"current-tooltip\":_vm.layerstree.filter.current.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeCurrentFilter($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('filter'),staticStyle:{\"color\":\"red\"}})]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.layerstree.title))]),_vm._v(\" \"),(!_vm.isGroup && _vm.showfeaturecount)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.getFeatureCount)+\"]\\n \")]):_vm._e()]),_vm._v(\" \"),((!_vm.isGroup && _vm.layerstree.selection))?_c('div',[(_vm.layerstree.selection.active)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('clear'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.clearSelection($event)}}}):_vm._e(),_vm._v(\" \"),(!_vm.layerstree.external && (_vm.layerstree.selection.active || _vm.layerstree.filter.active) && !_vm.layerstree.filter.pagination)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:[\n _vm.g3wtemplate.getFontClass('filter'),\n _vm.layerstree.filter.active ? 'active' : '' ],attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterLayer($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.logged && !_vm.layerstree.external && (_vm.layerstree.selection.active && _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('save'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.saveFilter(_vm.layerstree)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.showLayerTocLegend)?_c('catalog-layer-legend',{attrs:{\"legendplace\":_vm.legendplace,\"layer\":_vm.layerstree}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerstree.expanded),expression:\"layerstree.expanded\"}],staticClass:\"tree-content-items group\",class:[(\"g3w-lendplace-\" + _vm.legendplace)]},_vm._l((_vm.layerstree.nodes),function(_layerstree){return _c('span',{key:_layerstree.id || _layerstree.groupId},[_c('catalog-tristate-tree',{attrs:{\"root\":false,\"legendConfig\":_vm.legend,\"legendplace\":_vm.legendplace,\"parentFolder\":_vm.isGroup,\"layerstree\":_layerstree,\"storeid\":_vm.storeid,\"parent\":_vm.layerstree,\"parent_mutually_exclusive\":!!_vm.layerstree.mutually_exclusive}})],1)}),0):_vm._e(),_vm._v(\" \"),(!_vm.isGroup)?_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.helptext'),expression:\"'catalog_items.helptext'\",arg:\"left\",modifiers:{\"create\":true}}],class:'toggle-context-menu ' + _vm.$fa('ellips-v'),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)}}}):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"components/CatalogLayerLegend.vue\":40,\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field[data-v-6783d4c4]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6783d4c4]{position:relative}.field div[data-v-6783d4c4]{padding-left:3px;padding-right:3px}.field_value[data-v-6783d4c4]{padding-left:0!important;text-align:right}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"field\",\n props: ['state']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.state.label)?_c('div',{staticClass:\"col-sm-6 field_label\"},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.state.label))])],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"field_value\",class:[_vm.state.label ? 'col-sm-6' : null ]},[_vm._t(\"field\",[_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6783d4c4\"\n\n},{\"vueify/lib/insert-css\":2}],43:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar fieldsService = require('gui/fields/fieldsservice');\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"g3w-field\",\n props: {\n state: {\n required: true\n },\n feature: {\n type: Object\n }\n },\n components: _extends({}, Fields),\n created: function created() {\n this.type = fieldsService.getType(this.state);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/fields/fields\":3,\"gui/fields/fieldsservice\":4}],44:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".show-hide-geo[data-v-3362679d]{color:#3c8dbc;cursor:pointer;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require(\"mixins\");\n\nexports.default = {\n name: \"g3w-geospatial\",\n props: {\n data: {}\n },\n mixins: [_mixins.geoMixin],\n data: function data() {\n return {\n layerId: \"table_layer_\" + Date.now(),\n visible: false,\n id: \"geo_table_\" + Date.now()\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"geo-content\"},[_c('span',{staticClass:\"show-hide-geo\",class:[_vm.visible ? _vm.g3wtemplate.font['eye-close'] : _vm.g3wtemplate.font['eye']],on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayer()}}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3362679d\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],45:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-70d2a0b2]{cursor:pointer}.modal-content[data-v-70d2a0b2]{background:hsla(0,0%,100%,.6);border-radius:3px}.modal-dialog[data-v-70d2a0b2]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-70d2a0b2]{text-align:center;padding:0!important}.modal[data-v-70d2a0b2]:before{content:\\\"\\\";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-70d2a0b2]{color:#3c8dbc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toRawType = require('utils/toRawType');\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"field-image\",\n\n props: ['state'],\n data: function data() {\n return {\n id: Date.now(),\n active: null,\n value: undefined !== this.state.value.mime_type ? this.state.value.value : this.state.value\n };\n },\n\n components: {\n Field: _Field2.default,\n Teleport: _vue2Teleport2.default\n },\n computed: {\n images: function images() {\n return [].concat(this.value).map(function (img) {\n return { src: (img || {}).photo || img };\n });\n }\n },\n methods: {\n showGallery: function () {\n var _ref = _asyncToGenerator(function* (index) {\n this.active = index;\n if ((0, _toRawType.toRawType)(this.value) === 'Object') {\n this.value.active = true;\n }\n $('#gallery_' + this.id).modal('show');\n });\n\n function showGallery(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showGallery;\n }(),\n isRelativePath: function isRelativePath(url) {\n if (!url.startsWith('/') && !url.startsWith('http')) {\n return '' + window.initConfig.mediaurl + url;\n }\n return url;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{staticStyle:{\"text-align\":\"left\",\"display\":\"inline-block\"},attrs:{\"slot\":\"field\"},slot:\"field\"},[_vm._l((_vm.images),function(img,i){return _c('img',{staticClass:\"img-responsive\",staticStyle:{\"max-height\":\"50px\"},attrs:{\"alt\":\"\",\"src\":img.src},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(i)}}})}),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":(\"gallery_\" + _vm.id),\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"carousel slide\",attrs:{\"id\":(\"carousel_\" + _vm.id),\"data-interval\":\"false\"}},[_c('div',{staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image,i){return _c('div',{staticClass:\"item\",class:_vm.active == i ? 'active' : ''},[_c('img',{staticStyle:{\"margin\":\"auto\"},attrs:{\"src\":_vm.isRelativePath(image.src),\"alt\":\"\"}})])}),0),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"left carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"right carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{class:_vm.$fa('arrow-right')})]):_vm._e()])])])])])])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-70d2a0b2\"\n\n},{\"components/Field.vue\":42,\"utils/toRawType\":242,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],46:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_link[data-v-156f65de]{max-width:100%}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-link\",\n\n props: ['state'],\n data: function data() {\n return {\n value: null\n };\n },\n\n components: {\n Field: _Field2.default\n },\n methods: {\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created: function created() {\n this.value = this.state.value && _typeof(this.state.value) === 'object' ? this.state.value.value : this.state.value;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.link_button'),expression:\"'info.link_button'\"}],staticClass:\"btn skin-button field_link\",attrs:{\"slot\":\"field\",\"title\":_vm.value},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLink(_vm.value)}},slot:\"field\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-156f65de\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],47:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nexports.default = {\n name: \"g3w-media\",\n mixins: [_mixins.mediaMixin],\n props: ['state'],\n computed: {\n type: function type() {\n return this.getMediaType(this.state.mime_type).type;\n },\n value: function value() {\n return this.state.value;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.value)?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.value,\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.filename))]),_vm._v(\" \"),_vm._t(\"default\")],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7b8309b0\"\n\n},{\"mixins\":166}],48:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_text_table[data-v-db21acde]{background-color:transparent!important}.field_text_table .field_label[data-v-db21acde]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field: _Field2.default\n },\n\n created: function created() {}\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-db21acde\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],49:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require(\"components/Field.vue\");\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"vuefield\",\n props: {\n feature: {\n type: Object\n },\n state: {\n type: Object,\n default: {\n value: null,\n vueoptions: {\n component: {}\n }\n }\n }\n },\n components: {\n Field: _Field2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"field\"},slot:\"field\"},[_c(_vm.state.vueoptions.component,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"value\":_vm.state.value}})],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Field.vue\":42}],50:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormHeader = require('components/FormHeader.vue');\n\nvar _FormHeader2 = _interopRequireDefault(_FormHeader);\n\nvar _FormFooter = require('components/FormFooter.vue');\n\nvar _FormFooter2 = _interopRequireDefault(_FormFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-form',\n\n data: function data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n };\n },\n\n components: {\n g3wformheader: _FormHeader2.default,\n G3wFormFooter: _FormFooter2.default\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent: function isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot: function backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation: function handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent: function disableComponent(_ref) {\n var id = _ref.id,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === undefined ? false : _ref$disabled;\n\n this.$options.service.disableComponent({\n id: id,\n disabled: disabled\n });\n },\n resizeForm: function resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc);\n },\n switchComponent: function switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput: function changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate: function addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n reloadLayout: function reloadLayout() {\n var height = $(this.$el).height();\n if (!height) {\n return;\n };\n var footerDOM = $(this.$refs.g3w_form_footer.$el);\n var bodyFromDOM = $(this.$refs.g3wform_body);\n var footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n var bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n }\n },\n updated: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n if (this.switchcomponent) {\n setTimeout(function () {\n return _this.switchcomponent = false;\n }, 0);\n }\n });\n\n function updated() {\n return _ref2.apply(this, arguments);\n }\n\n return updated;\n }(),\n created: function created() {\n var _this2 = this;\n\n this.$options.service.getEventBus().$on('set-main-component', function () {\n _this2.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', function (_ref3) {\n var id = _ref3.id,\n valid = _ref3.valid;\n\n _this2.$options.service.setValidComponent({ id: id, valid: valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted: function mounted() {\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_content\",staticStyle:{\"position\":\"relative\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}}),_vm._v(\" \"),_c('g3wformheader',{ref:\"g3wformheader\",attrs:{\"currentid\":_vm.state.currentheaderid,\"headers\":_vm.state.headers,\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"resize-form\":_vm.resizeForm,\"clickheader\":_vm.switchComponent}}),_vm._v(\" \"),_c('div',{ref:\"g3wform_body\",staticClass:\"g3wform_body\"},[_vm._l((_vm.body.components.before),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})}),_vm._v(\" \"),_c('keep-alive',[_c(_vm.state.component,{tag:\"component\",attrs:{\"handleRelation\":_vm.handleRelation,\"state\":_vm.state},on:{\"hook:activated\":_vm.reloadLayout,\"addtovalidate\":_vm.addToValidate,\"removetovalidate\":_vm.removeToValidate,\"changeinput\":_vm.changeInput}})],1),_vm._v(\" \"),_vm._l((_vm.body.components.after),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})})],2),_vm._v(\" \"),_c('g3w-form-footer',{ref:\"g3w_form_footer\",attrs:{\"isRootComponent\":_vm.isRootComponent,\"backToRoot\":_vm.backToRoot,\"state\":_vm.state}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/FormFooter.vue\":52,\"components/FormHeader.vue\":53}],51:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3WFormInputs = require('components/InputG3WFormInputs.vue');\n\nvar _InputG3WFormInputs2 = _interopRequireDefault(_InputG3WFormInputs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Vue.extend({\n name: 'form-body',\n\n props: ['state', 'handleRelation'],\n data: function data() {\n return {\n show: true\n };\n },\n\n components: {\n G3wFormInputs: _InputG3WFormInputs2.default\n },\n methods: {\n addToValidate: function addToValidate(input) {\n this.$emit('addtovalidate', input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$emit('removetovalidate', input);\n },\n changeInput: function changeInput(input) {\n this.$emit('changeinput', input);\n }\n },\n computed: {\n hasFormStructure: function hasFormStructure() {\n return !!this.state.formstructure;\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[(_vm.hasFormStructure)?[_c('tabs',{attrs:{\"layerid\":_vm.state.layerid,\"feature\":_vm.state.feature,\"handleRelation\":_vm.handleRelation,\"contenttype\":'editing',\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput,\"removeToValidate\":_vm.removeToValidate,\"tabs\":_vm.state.formstructure,\"fields\":_vm.state.fields}})]:[_c('g3w-form-inputs',{attrs:{\"state\":_vm.state,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})]],2)])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputG3WFormInputs.vue\":68}],52:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = Vue.extend({\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: function _default() {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data: function data() {\n this.originalbuttons = this.state.buttons.map(function (button) {\n return _extends({}, button);\n });\n return {\n id: \"footer\",\n active: true,\n show: true\n };\n },\n\n computed: {\n enableSave: function enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec: function exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields) : function () {\n return this.state.fields;\n }();\n },\n btnEnabled: function btnEnabled(button) {\n var _button$enabled = button.enabled,\n enabled = _button$enabled === undefined ? true : _button$enabled,\n type = button.type;\n\n return enabled && (type !== 'save' || type === 'save' && this.enableSave);\n },\n isValid: function isValid() {\n return this.state.valid;\n }\n },\n watch: {\n 'state.component': function stateComponent(component) {\n this.show = this.isRootComponent(component);\n },\n\n 'state.update': {\n immediate: true,\n handler: function handler(value) {\n var _this = this;\n\n this.state.buttons.find(function (button, index) {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n _this.state.buttons.splice(index, 1, _extends({}, button, button.eventButtons.update[value]));\n } else {\n _this.state.buttons.splice(index, 1, _this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated: function activated() {\n this.active = true;\n },\n deactivated: function deactivated() {\n this.active = false;\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group g3wform_footer\"},[(_vm.show)?[_vm._t(\"default\",[_c('div',{staticStyle:{\"margin\":\"3px\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n * \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}]}),_vm._v(\" \"),(_vm.state.footer.message)?_c('div',{style:([_vm.state.footer.style])},[_vm._v(\"\\n \"+_vm._s(_vm.state.footer.message)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.state.buttons),function(button){return _c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.btnEnabled(button)),expression:\"!btnEnabled(button)\"},{name:\"t\",rawName:\"v-t\",value:(button.title),expression:\"button.title\"}],key:button.id,staticClass:\"btn \",class:[button.class],attrs:{\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.exec(button.cbk)}}})})])]:[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"prevet\",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();return _vm.backToRoot($event)}}})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{}],53:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Vue.extend({\n name: 'form-header',\n\n props: {\n headers: {\n type: Array,\n default: []\n },\n currentid: {\n type: String\n },\n update: {\n type: Boolean\n },\n valid: {\n type: Boolean\n }\n },\n methods: {\n click: function click(id) {\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm: function resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_header box-header with-border\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('section',{staticClass:\"g3wform_header_content\"},_vm._l((_vm.headers),function(header){return _c('span',{key:header.id,staticClass:\"title\",class:[{item_selected: _vm.currentid === header.id && _vm.headers.length > 1},[_vm.headers.length > 1 ? 'tabs' : 'one' ]],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},style:({fontSize: _vm.isMobile() && '1em !important'}),on:{\"click\":function($event){$event.stopPropagation();return _vm.click(header.id)}}},[(header.icon)?_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_c('i',{class:header.icon})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:(header.title),expression:\"header.title\",arg:\"pre\"}],staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(header.name))]),_vm._v(\" \"),_c(header.component,{tag:\"component\",attrs:{\"valid\":_vm.valid,\"update\":_vm.update}})],1)}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{}],54:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"bar-loader\",\n props: {\n loading: {\n type: Boolean | String,\n default: false\n },\n color: {\n type: String,\n default: '#FFFFFF'\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('div',{staticClass:\"bar-loader\",staticStyle:{\"border\":\"0\"},style:({ backgroundColor: _vm.color })}):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],55:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"datetime\",\n props: {\n type: {\n type: String,\n default: 'date' },\n format: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n minDate: {\n default: false\n },\n maxDate: {\n default: false\n },\n enabledDates: {\n default: false\n },\n value: {},\n label: {\n default: 'Date'\n }\n },\n data: function data() {\n return {\n datetimevalue: this.value\n };\n },\n\n methods: {\n changeInput: function changeInput(e) {},\n change: function change(value) {\n var date = moment(value).format(this.format);\n this.$emit('change', date);\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.datetimeinputelement = $(this.$refs.iddatetimepicker);\n this.datetimeinputelement.datetimepicker({\n minDate: this.minDate,\n maxDate: this.maxDate,\n defaultDate: this.datetimevalue,\n useCurrent: false,\n allowInputToggle: true,\n enabledDates: this.enabledDates,\n showClose: true,\n format: this.format,\n locale: _application2.default.language,\n toolbarPlacement: 'top',\n widgetPositioning: { horizontal: 'right' }\n });\n this.datetimeinputelement.on(\"dp.change\", function (_ref2) {\n var date = _ref2.date;\n\n _this.change(date);\n });\n this.datetimeinputelement.on(\"dp.hide\", function (evt) {});\n if (_application2.default.ismobile) {\n setTimeout(function () {\n return datetimeinputelement.blur();\n });\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n value: function value(datetime) {\n this.datetimevalue = datetime;\n this.datetimeinputelement.data(\"DateTimePicker\").date(datetime);\n },\n minDate: function () {\n var _ref3 = _asyncToGenerator(function* (mindatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").minDate(mindatetime);\n });\n\n function minDate(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return minDate;\n }(),\n maxDate: function () {\n var _ref4 = _asyncToGenerator(function* (maxdatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").maxDate(maxdatetime);\n });\n\n function maxDate(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return maxDate;\n }(),\n enabledDates: function enabledDates(dates) {\n this.datetimeinputelement.data(\"DateTimePicker\").enabledDates(dates);\n }\n },\n created: function created() {\n this.id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datimecontainer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{ref:\"iddatetimepicker\",staticClass:\"input-group date\"},[_c('input',{ref:\"idinputdatetimepiker\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"type\":\"text\"},on:{\"change\":_vm.changeInput}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{staticClass:\"datetimeinput\",class:_vm.g3wtemplate.getFontClass('time' === _vm.type ? 'time': 'calendar')})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-e7683bf8\"\n\n},{\"store/application\":178,\"utils/getUniqueDomId\":217}],56:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".divider[data-v-6409ddc0]{display:block;position:relative;padding:0;margin-bottom:5px;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none;border-bottom:2px solid #eee}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"divider\"\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"divider\"})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6409ddc0\"\n\n},{\"vueify/lib/insert-css\":2}],57:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".help_div_container[data-v-5d3720b7]{color:#fff;text-align:justify;position:relative;border-radius:3px;margin:5px 2px;white-space:pre-line;background-color:#384246!important}.help_icon[data-v-5d3720b7]{text-align:center;font-size:.7em;margin-top:-4px;margin-left:-4px;background-color:#222d32;font-weight:700;color:#fff;position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid #fff;border-radius:50%}.g3w-help-message-content[data-v-5d3720b7]{max-height:200px;padding:10px;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"helpdiv\",\n props: {\n message: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'info' }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help_div_container\"},[_c('span',{staticClass:\"help_icon\"},[_vm._v(\"i\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"g3w-help-message-content\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5d3720b7\"\n\n},{\"vueify/lib/insert-css\":2}],58:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"progressbar\",\n props: ['progress']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((null !== _vm.progress && undefined !== _vm.progress))?_c('div',{staticStyle:{\"margin\":\"5px 0 5px 0\",\"width\":\"100%\",\"backgroundColor\":\"#FFFFFF\",\"border\":\"0\",\"borderRadius\":\"3px\"}},[_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"justifyContent\":\"center\",\"fontWeight\":\"bold\"},style:({ width: (_vm.progress < 10 ? 10 : _vm.progress) })},[_c('span',[_vm._v(_vm._s(_vm.progress))])])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],59:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".min-max-label[data-v-a8bbacb8]{align-self:end;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debounce = require('utils/debounce');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"range\",\n props: {\n id: {\n default: undefined\n },\n\n label: {\n type: String,\n default: ''\n },\n\n min: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: 10\n },\n\n step: {\n type: Number,\n default: 1\n },\n\n labelValue: {},\n\n value: {\n default: 0\n },\n\n sync: {\n type: Boolean,\n default: false\n },\n\n showValue: {\n type: Boolean,\n default: false\n },\n\n unit: {\n type: String,\n default: ''\n }\n\n },\n data: function data() {\n return {\n state: { value: this.value }\n };\n },\n\n methods: {\n changeBackGround: function changeBackGround(value) {\n this.$refs['range-input'].style.backgroundSize = (value ? (value - this.min) * 100 / (this.max - this.min) : 0) + '% 100%';\n },\n setValue: function setValue(value) {\n this.changedValue(value);\n },\n change: function change(e) {\n this.changedValue(1 * e.target.value);\n },\n emitChangeValue: function emitChangeValue(value) {\n this.state.value = value;\n this.$emit('change-range', {\n id: this.id,\n value: value\n });\n }\n },\n watch: {\n 'value': function value(_value) {\n this.state.value = _value;\n },\n 'state.value': function stateValue(value) {\n this.changeBackGround(value);\n if (this.sync) {\n this.emitChangeValue(value);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.changedValue = this.sync ? function () {\n return _this.$emit('changed');\n } : (0, _debounce.debounce)(function (value) {\n _this.emitChangeValue(value);\n });\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.changeBackGround(this.value);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-weight\":\"bold\"}},[_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.min))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"margin\":\"0 3px\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticClass:\"skin-color\",staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],ref:\"range-input\",attrs:{\"type\":\"range\",\"id\":_vm.id,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.max))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])])]),_vm._v(\" \"),(_vm.showValue)?[_c('span',[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]:_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-a8bbacb8\"\n\n},{\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],60:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".formquerytabs[data-v-2cbd8ce7]{overflow:hidden!important;display:flex;flex-wrap:wrap}.formquerytabs>li[data-v-2cbd8ce7]{flex:1;display:flex}.formquerytabs>li>a[data-v-2cbd8ce7]{font-weight:700;flex:1}.nav-tabs>li>a.mobile[data-v-2cbd8ce7]{padding:5px 10px}.tab_a[data-v-2cbd8ce7]{padding:5px;margin-right:0!important;border-bottom:0;margin-bottom:3px;border-radius:3px 3px 0 0}.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]{color:inherit!important;font-weight:500;font-size:1em!important;padding:.25em;cursor:pointer}.tabs-wrapper>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▾\\\"}.tabs-wrapper.collapsed>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▸\\\"}.tabs-wrapper.collapsed>.formquerytabs+.tab-content[data-v-2cbd8ce7]{display:none}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _GlobalTabsNode = require('components/GlobalTabsNode.vue');\n\nvar _GlobalTabsNode2 = _interopRequireDefault(_GlobalTabsNode);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getFormDataExpressionRequestFromFeature = require('utils/getFormDataExpressionRequestFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _noop = require('utils/noop');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"tabs\",\n props: {\n group: {\n type: Boolean,\n default: false\n },\n contenttype: {\n default: 'query' },\n layerid: {\n required: true\n },\n tabs: {\n required: true\n },\n feature: {\n required: true\n },\n fields: {\n required: true\n },\n addToValidate: {\n type: Function,\n default: _noop.noop\n },\n removeToValidate: {\n type: Function,\n default: _noop.noop\n },\n changeInput: {\n type: Function,\n default: _noop.noop\n },\n showRelationByField: {\n type: Boolean,\n default: true\n },\n handleRelation: {\n type: Function,\n default: function _default() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref.relation,\n layerId = _ref.layerId,\n feature = _ref.feature;\n\n return _gui2.default.getService('queryresults').showRelation({ relation: relation, layerId: layerId, feature: feature });\n }\n }\n },\n data: function data() {\n return {\n ids: []\n };\n },\n\n computed: {\n required_fields: function required_fields() {\n return 'editing' === this.contenttype && this.fields.filter(function (f) {\n return f.validate.required;\n }).map(function (f) {\n return f.name;\n });\n },\n show: function show() {\n return this.tabs.reduce(function (a, t) {\n return a || t.visible === undefined || !!t.visible;\n }, false);\n }\n },\n methods: {\n setVisibility: function () {\n var _ref2 = _asyncToGenerator(function* (tab) {\n tab.visible = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n qgs_layer_id: this.layerid,\n form_data: ('editing' === this.contenttype ? _convertFeatureToGEOJSON.convertFeatureToGEOJSON : _getFormDataExpressionRequestFromFeature.getFormDataExpressionRequestFromFeature)(this.feature || {}),\n expression: tab.visibility_expression.expression,\n formatter: 'query' === this.contenttype ? 1 : 0\n },\n outputs: false\n });\n });\n\n function setVisibility(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setVisibility;\n }(),\n setEditingRequireTab: function setEditingRequireTab(obj) {\n var _this = this;\n\n if (undefined === obj.nodes) {\n return this.required_fields.includes(obj.field_name);\n } else {\n return !!obj.nodes.find(function (n) {\n return _this.setEditingRequireTab(n);\n });\n }\n },\n getField: function getField(fieldName) {\n return this.fields.find(function (f) {\n return fieldName === f.name;\n });\n },\n toggleGroup: function toggleGroup(e) {\n var wrapper = e.target.closest('.tabs-wrapper');\n wrapper.classList.toggle('collapsed');\n }\n },\n components: {\n Node: _GlobalTabsNode2.default\n },\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.unwatch = [];\n this.tabs.forEach(function () {\n var _ref4 = _asyncToGenerator(function* (tab, i) {\n if (tab.visibility_expression) {\n if (undefined === tab.visible) {\n _this2.$set(tab, 'visible', 0);\n }\n yield _this2.setVisibility(tab);\n }\n if ('editing' === _this2.contenttype) {\n if (undefined === tab.required) {\n tab.required = _this2.setEditingRequireTab(tab);\n }\n if (tab.visibility_expression) {\n tab.visibility_expression.referenced_columns.forEach(function (c) {\n var field = _this2.fields.find(function (f) {\n return c === f.name;\n });\n _this2.unwatch.push(_this2.$watch(function () {\n return field.value;\n }, _asyncToGenerator(function* () {\n yield _this2.$nextTick();\n yield _this2.setVisibility(tab);\n })));\n });\n }\n }\n _this2.ids.push('tab_' + (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return function (_x3, _x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this.root_tabs = [];\n if (!this.group) {\n var nodes = [];\n this.tabs.forEach(function (tab_node) {\n if (tab_node.nodes) {\n nodes.push(tab_node);\n } else {\n if (nodes.length) {\n _this2.root_tabs.push([].concat(nodes));\n nodes.splice(0);\n }\n _this2.root_tabs.push({ nodes: [tab_node] });\n }\n });\n if (nodes.length) {\n this.root_tabs.push(nodes);\n }\n } else {\n this.root_tabs = [this.tabs];\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unwatch.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"tabs-wrapper\"},[_vm._l((_vm.root_tabs),function(root_tab){return [(Array.isArray(root_tab))?[_c('ul',{staticClass:\"formquerytabs nav nav-tabs\"},[_vm._l((root_tab),function(tab,index){return [(tab.visible === undefined || tab.visible)?_c('li',{class:{active: index === 0}},[_c('a',{staticClass:\"tab_a\",class:{'mobile': _vm.isMobile(), 'group-title': _vm.group},style:({fontSize: _vm.isMobile() ? '1.0em': ((_vm.group ? '1.1': '1.2') + \"em\")}),attrs:{\"data-toggle\":\"tab\",\"href\":(\"#\" + (_vm.ids[index]))},on:{\"click\":function($event){_vm.group && _vm.toggleGroup($event)}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\" \"),(_vm.contenttype === 'editing' && tab.required)?_c('span',{staticStyle:{\"padding-left\":\"3px\",\"font-size\":\"1.1em\"}},[_vm._v(\"*\")]):_vm._e()])]):_vm._e()]})],2),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\",class:{editing: 'editing' === _vm.contenttype }},[_vm._l((root_tab),function(tab,index){return [(undefined === tab.visible || tab.visible)?_c('div',{staticClass:\"tab-pane fade\",class:{'in active': index === 0},attrs:{\"id\":_vm.ids[index]}},[_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":tab}})],1):_vm._e()]})],2)]:_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":root_tab}})]})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2cbd8ce7\"\n\n},{\"components/GlobalTabsNode.vue\":61,\"services/data\":172,\"services/gui\":173,\"utils/convertFeatureToGEOJSON\":186,\"utils/getFormDataExpressionRequestFromFeature\":208,\"utils/getUniqueDomId\":217,\"utils/noop\":227,\"vueify/lib/insert-css\":2}],61:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tab-node[data-v-9685e2ee]{min-width:0;overflow:hidden}.title[data-v-9685e2ee]{font-weight:700;width:100%;color:#fff;padding:3px;margin-top:5px;margin-bottom:5px;border-radius:2px}.node-row[data-v-9685e2ee]{margin-bottom:0;column-gap:2px;margin-top:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.row.mobile[data-v-9685e2ee]{margin-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _InputG3W = require('components/InputG3W.vue');\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"node\",\n props: ['contenttype', 'node', 'fields', 'showTitle', 'addToValidate', 'removeToValidate', 'changeInput', 'layerid', 'feature', 'showRelationByField', 'handleRelation'],\n components: _extends({\n G3wInput: _InputG3W2.default\n }, Fields),\n data: function data() {\n return {\n context: this.contenttype,\n editing_required: false\n };\n },\n\n computed: {\n filterNodes: function filterNodes() {\n var _this = this;\n\n var filterNodes = this.node.nodes && this.node.nodes.filter(function (node) {\n if ('group' === _this.getNodeType(node)) {\n return true;\n } else if (!node.nodes && node.name && 'group' != _this.getNodeType(node)) {\n node.relation = true;\n return true;\n } else {\n return !!_this.fields.find(function (field) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === field.name || node.relation;\n });\n }\n });\n return filterNodes || [];\n },\n nodesLength: function nodesLength() {\n return this.filterNodes.length;\n },\n rows: function rows() {\n var rowCount = 1;\n if (0 === this.nodesLength) {\n rowCount = 0;\n } else if (this.columnNumber <= this.nodesLength) {\n rowCount = Math.floor(this.nodesLength / this.columnNumber) + this.nodesLength % this.columnNumber;\n }\n return rowCount;\n },\n columnNumber: function columnNumber() {\n var columnCount = parseInt(this.node.columncount) ? parseInt(this.node.columncount) : 1;\n return columnCount > this.nodesLength ? this.nodesLength : columnCount;\n },\n showGroupTile: function showGroupTile() {\n return this.showTitle && this.node.showlabel && this.node.groupbox;\n }\n },\n methods: {\n loadingRelation: function loadingRelation(relation) {\n var layer = _application2.default.project.getLayerById(this.layerid);\n\n return (layer.getRelationById(relation.name) || { state: { loading: false } }).state;\n },\n isRelationDisabled: function isRelationDisabled(relation) {\n return undefined === this.getRelationName(relation.name) || 'editing' === this.contenttype && this.isRelationChildLayerNotEditable(relation);\n },\n getRelationName: function getRelationName(relationId) {\n return (_application2.default.project.getRelationById(relationId) || {}).name;\n },\n isRelationChildLayerNotEditable: function isRelationChildLayerNotEditable(relation) {\n var projectRelation = _application2.default.project.getRelationById(relation.name);\n var relationLayer = _application2.default.project.getLayerById(projectRelation.referencingLayer);\n\n return !(relationLayer && relationLayer.isEditable());\n },\n getNodes: function getNodes(row) {\n var startIndex = (row - 1) * this.columnNumber;\n return this.filterNodes.slice(startIndex, this.columnNumber + startIndex);\n },\n getNode: function getNode(row, column) {\n return this.getNodes(row)[column - 1];\n },\n getField: function getField(node) {\n if (node.relation) {\n return node;\n }\n return this.fields.find(function (f) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === f.name;\n });\n },\n getNodeType: function getNodeType(node) {\n var type = node.groupbox || node.nodes ? 'group' : node.relation ? 'relation' : 'field';\n if ('field' === type && [undefined, ''].includes(node.alias)) {\n node.alias = node.field_name;\n }\n return type;\n },\n getComponent: function getComponent(field) {\n if (field.relation) {\n return;\n } else if (field.query) {\n return field.input.type;\n } else {\n return 'g3w-input';\n }\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-node group\"},[(_vm.showGroupTile)?_c('h5',{staticClass:\"title group-title\",class:{'mobile': _vm.isMobile()},style:({fontSize: _vm.isMobile() ? '1em' : '1.1em'})},[_vm._v(_vm._s(_vm.node.name)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.rows),function(row){return _c('div',{staticClass:\"node-row\",class:{'mobile': _vm.isMobile()}},[_vm._l((_vm.columnNumber),function(column){return [(_vm.getNode(row, column))?[('field' === _vm.getNodeType(_vm.getNode(row, column)))?_c(_vm.getComponent(_vm.getField(_vm.getNode(row, column))),{tag:\"component\",staticStyle:{\"padding\":\"5px 3px 5px 3px\"},attrs:{\"state\":_vm.getField(_vm.getNode(row, column)),\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"feature\":_vm.feature},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}):[('group' === _vm.getNodeType(_vm.getNode(row, column)))?_c('tabs',_vm._b({staticClass:\"sub-group\",staticStyle:{\"width\":\"100% !important\"},attrs:{\"group\":true,\"tabs\":[_vm.getNode(row, column)]}},'tabs',_vm.$props,false)):[(_vm.showRelationByField)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.isRelationDisabled(_vm.getNode(row, column)) || _vm.loadingRelation(_vm.getNode(row, column)).loading),expression:\"isRelationDisabled(getNode(row, column)) || loadingRelation(getNode(row, column)).loading\"}],style:({cursor: _vm.showRelationByField && 'pointer'}),on:{\"click\":function($event){$event.stopPropagation();_vm.handleRelation({relation: _vm.getNode(row, column), feature:_vm.feature, layerId: _vm.layerid})}}},[_c('bar-loader',{attrs:{\"loading\":_vm.loadingRelation(_vm.getNode(row, column)).loading}}),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"query_relation_field\"},[_c('i',{class:_vm.g3wtemplate.font[(\"\" + (_vm.context === 'query' ? 'relation' : 'pencil'))]})]),_vm._v(\" \"),_c('span',{staticClass:\"query_relation_field_message g3w-long-text\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.getRelationName(_vm.getNode(row, column).name)))])])])],1):_vm._e()]]]:_vm._e()]})],2)})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9685e2ee\"\n\n},{\"components/InputG3W.vue\":67,\"gui/fields/fields\":3,\"store/application\":178,\"vueify/lib/insert-css\":2}],62:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".control-label[data-v-cb533ff6]{text-align:left!important;padding-top:0!important;margin-bottom:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nexports.default = _extends({\n name: \"InputBase\",\n props: ['state']\n}, _mixins.baseInputMixin);\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",[_c('label',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"col-sm-12 control-label\",attrs:{\"for\":_vm.state.name}},[(_vm.state.i18nLabel)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.state.label),expression:\"state.label\"}]}):_c('span',[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showhelpicon)?_c('i',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['info'],staticStyle:{\"margin-left\":\"3px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showHideHelp($event)}}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label-action\")],2)]),_vm._v(\" \"),(_vm.state.relationField)?_c('div',{staticStyle:{\"color\":\"var(--skin-warning)\",\"padding\":\"3px 0 3px 15px\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('warning')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.field'),expression:\"'sdk.relations.field'\"}]})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"loading\",[(_vm.loadingState === 'loading')?_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\"},attrs:{\"slot\":\"loading\"},slot:\"loading\"},[_c('bar-loader',{attrs:{\"loading\":true}})],1):_vm._e()]),_vm._v(\" \"),_vm._t(\"body\"),_vm._v(\" \"),_vm._t(\"message\",[(_vm.notvalid)?_c('p',{staticClass:\"g3w-long-text error-input-message\",staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.validate.message)}}):(_vm.state.info)?_c('p',{staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.info)}}):_vm._e()]),_vm._v(\" \"),(_vm.state.help && this.state.help.visible)?_c('div',{staticClass:\"g3w_input_help skin-background-color extralighten\",domProps:{\"innerHTML\":_vm._s(_vm.state.help.message)}}):_vm._e()],2)],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb533ff6\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],63:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input],\n\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n changed: false\n };\n },\n\n\n watch: {\n 'state.value': function stateValue(value) {\n if (this.changed) {\n this.changed = false;\n } else {\n this.stateValueChanged(value);\n }\n }\n },\n\n methods: {\n getValuesItem: function getValuesItem() {\n var checked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.service.state.input.options.values.find(function (v) {\n return !!checked === v.checked;\n }) || {};\n },\n convertValueToChecked: function convertValueToChecked() {\n var _this = this;\n\n if ([null, undefined].includes(this.service.state.value)) {\n return false;\n }\n var option = this.service.state.input.options.values.find(function (v) {\n return _this.service.state.value == v.value;\n });\n if (undefined === option) {\n option = this.service.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.service.state.value = option.value;\n }\n return option.checked;\n },\n changeCheckBox: function changeCheckBox() {\n var _getValuesItem = this.getValuesItem(this.value),\n value = _getValuesItem.value,\n label = _getValuesItem.label;\n\n this.label = label;\n this.state.value = value;\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged() {\n this.value = this.convertValueToChecked();\n\n var _getValuesItem2 = this.getValuesItem(this.value),\n value = _getValuesItem2.value,\n label = _getValuesItem2.label;\n\n this.label = label;\n this.state.value = value;\n }\n },\n\n mounted: function mounted() {\n this.stateValueChanged();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticStyle:{\"height\":\"20px\",\"margin-top\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"magic-checkbox\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"tabIndex\":_vm.tabIndex,\"type\":\"checkbox\",\"id\":_vm.id},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":[function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}},_vm.changeCheckBox]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],64:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-color',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"type\":\"color\",\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],65:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-datetime-picker',\n\n mixins: [Input, _mixins.resizeMixin],\n\n data: function data() {\n var uniqueValue = (0, _getUniqueDomId.getUniqueDomId)();\n return {\n widget_container: {\n top: 0,\n left: 0\n },\n iddatetimepicker: 'datetimepicker_' + uniqueValue,\n idinputdatetimepiker: 'inputdatetimepicker_' + uniqueValue\n };\n },\n\n\n methods: {\n resize: function resize() {\n var domeDataPicker = $('#' + this.iddatetimepicker);\n if (domeDataPicker && domeDataPicker.data(\"DateTimePicker\")) {\n domeDataPicker.data(\"DateTimePicker\").hide();\n }\n },\n timeOnly: function timeOnly() {\n return !this.state.input.options.formats[0].date;\n },\n onDatePickerChange: function onDatePickerChange() {\n var newDate = $('#' + this.idinputdatetimepiker).val();\n this.state.value = _.isEmpty(newDate.trim()) ? null : moment(newDate, this.datetimedisplayformat).format(this.datetimefieldformat);\n this.change();\n },\n onDatePickerShow: function onDatePickerShow(evt) {\n var _this = this;\n\n this.widget_container.top = 0;\n this.widget_container.left = 0;\n\n setTimeout(function () {\n var container = _this.$refs.datetimepicker_body.getBoundingClientRect();\n var modal = _this.$refs.datimewidget_container.querySelector('.bootstrap-datetimepicker-widget').getBoundingClientRect();\n _this.widget_container.top = container.top + (container.top < modal.height ? container.height + Math.abs(container.top - modal.height) + 20 : 0);\n _this.widget_container.left = container.left - Math.max(container.width, modal.width);\n _this.$emit('datetimepickershow');\n });\n },\n onDatePickerHide: function onDatePickerHide(evt) {\n this.$emit('datetimepickershow');\n }\n },\n watch: {\n 'state.value': function () {\n var _ref = _asyncToGenerator(function* (value) {\n if (value !== $('#' + this.idinputdatetimepiker).val()) {\n var date = null !== value ? moment(value, this.datetimefieldformat).format(this.datetimedisplayformat) : value;\n yield this.$nextTick();\n $('#' + this.idinputdatetimepiker).val(date);\n }\n });\n\n function stateValue(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateValue;\n }()\n },\n\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _state$input$options = this.state.input.options,\n _state$input$options$ = _state$input$options.formats,\n formats = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.layout,\n layout = _state$input$options$2 === undefined ? {\n vertical: \"top\",\n horizontal: \"left\"\n } : _state$input$options$2;\n var _formats$ = formats[0],\n minDate = _formats$.minDate,\n maxDate = _formats$.maxDate,\n fieldformat = _formats$.fieldformat,\n enabledDates = _formats$.enabledDates,\n disabledDates = _formats$.disabledDates,\n displayformat = _formats$.displayformat,\n useCurrent = _formats$.useCurrent;\n\n\n yield this.$nextTick();\n\n this.datetimedisplayformat = this.service.convertQGISDateTimeFormatToMoment(displayformat);\n this.datetimefieldformat = this.service.convertQGISDateTimeFormatToMoment(fieldformat);\n\n this.service.setValidatorOptions({ fielddatetimeformat: this.datetimefieldformat });\n\n var date = moment(this.state.value, this.datetimefieldformat, true).isValid() ? moment(this.state.value, this.datetimefieldformat).toDate() : null;\n\n $('#' + this.iddatetimepicker).datetimepicker({\n defaultDate: date,\n format: this.datetimedisplayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n enabledDates: enabledDates,\n disabledDates: disabledDates,\n useCurrent: useCurrent,\n toolbarPlacement: 'top',\n minDate: minDate,\n maxDate: maxDate,\n widgetParent: $(this.$refs.datimewidget_container),\n widgetPositioning: {\n vertical: layout.vertical || 'top',\n horizontal: layout.horizontal || 'left'\n },\n showClose: true,\n locale: this.service.getLocale()\n });\n\n $('#' + this.iddatetimepicker).on(\"dp.change\", this.onDatePickerChange);\n $('#' + this.iddatetimepicker).on(\"dp.show\", this.onDatePickerShow);\n $('#' + this.iddatetimepicker).on(\"dp.hide\", this.onDatePickerHide);\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + _this2.idinputdatetimepiker).blur();\n });\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{ref:\"datetimepicker_body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{ref:\"datimewidget_container\",style:({\n top: _vm.widget_container.top + 'px',\n left: _vm.widget_container.left + 'px',\n position: 'fixed',\n zIndex: 10000,\n })}),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"input-group date\",attrs:{\"id\":_vm.iddatetimepicker}},[_c('input',{staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"type\":\"text\",\"id\":_vm.idinputdatetimepiker,\"tabIndex\":_vm.tabIndex,\"readonly\":!_vm.editable || _vm.isMobile() ? 'readonly' : null}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{class:[ _vm.g3wtemplate.getFontClass(_vm.timeOnly() ? 'time' : 'calendar') ]})])])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"store/application\":178,\"utils/getUniqueDomId\":217}],66:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-float',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.state.step || 1,\"placeholder\":_vm.state.default},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],67:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar Inputs = {\n 'text_input': require('gui/inputs/text/vue/text'),\n 'texthtml_input': require('gui/inputs/texthtml/vue/texthtml'),\n 'textarea_input': require('gui/inputs/textarea/vue/textarea'),\n 'integer_input': require('gui/inputs/integer/vue/integer'),\n 'string_input': require('gui/inputs/text/vue/text'),\n 'float_input': require('gui/inputs/float/vue/float'),\n 'radio_input': require('gui/inputs/radio/vue/radio'),\n 'check_input': require('gui/inputs/checkbox/vue/checkbox'),\n 'range_input': require('gui/inputs/range/vue/range'),\n 'datetimepicker_input': require('gui/inputs/datetimepicker/vue/datetimepicker'),\n 'unique_input': require('gui/inputs/unique/vue/unique'),\n 'select_input': require('gui/inputs/select/vue/select'),\n 'media_input': require('gui/inputs/media/vue/media'),\n 'select_autocomplete_input': require('gui/inputs/select/vue/select'),\n 'picklayer_input': require('gui/inputs/picklayer/vue/picklayer'),\n 'color_input': require('gui/inputs/color/vue/color'),\n 'slider_input': require('gui/inputs/sliderrange/vue/sliderrange'),\n 'lonlat_input': require('gui/inputs/lonlat/vue/lonlat')\n};\n\nexports.default = {\n name: \"g3w-input\",\n props: {\n state: {\n required: true\n },\n addToValidate: {\n type: Function,\n required: true\n },\n removeToValidate: {\n type: Function,\n required: true\n },\n changeInput: {\n type: Function,\n required: true\n }\n },\n components: _extends({}, Inputs),\n computed: {\n type: function type() {\n if (this.state.type !== 'child') return this.state.input.type ? this.state.input.type + '_input' : this.state.type + '_input';\n }\n },\n created: function created() {\n if (this.state.type !== 'child' && !this.state.input.options) this.state.input.options = {};\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',[(_vm.state.type !== 'child')?_c('div',[_c(_vm.type,{tag:\"component\",attrs:{\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"state\":_vm.state},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}),_vm._v(\" \"),_c('divider')],1):_c('div',{staticClass:\"skin-border-color field-child\",staticStyle:{\"border-top\":\"2px solid\"}},[_c('h4',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),_c('div',[_vm._v(\" \"+_vm._s(_vm.state.description)+\" \")]),_vm._v(\" \"),_vm._l((_vm.state.fields),function(field){return _c('g3w-input',{key:field.name,attrs:{\"state\":field,\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})})],2)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/checkbox/vue/checkbox\":6,\"gui/inputs/color/vue/color\":7,\"gui/inputs/datetimepicker/vue/datetimepicker\":9,\"gui/inputs/float/vue/float\":11,\"gui/inputs/integer/vue/integer\":14,\"gui/inputs/lonlat/vue/lonlat\":16,\"gui/inputs/media/vue/media\":18,\"gui/inputs/picklayer/vue/picklayer\":20,\"gui/inputs/radio/vue/radio\":22,\"gui/inputs/range/vue/range\":24,\"gui/inputs/select/vue/select\":26,\"gui/inputs/sliderrange/vue/sliderrange\":30,\"gui/inputs/text/vue/text\":31,\"gui/inputs/textarea/vue/textarea\":32,\"gui/inputs/texthtml/vue/texthtml\":33,\"gui/inputs/unique/vue/unique\":35}],68:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-for-inputs-required-inputs-message[data-v-06573254]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-06573254]{padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3W = require(\"components/InputG3W.vue\");\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-form-inputs\",\n props: {\n state: {\n type: Object,\n default: {\n fields: []\n }\n },\n addToValidate: {\n type: Function\n },\n changeInput: {\n type: Function\n },\n show_required_field_message: {\n type: Boolean,\n default: false\n },\n removeToValidate: {\n type: Function\n }\n\n },\n components: {\n G3wInput: _InputG3W2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[_vm._l((_vm.state.fields),function(field){return [_c('g3w-input',{attrs:{\"state\":field,\"removeToValidate\":_vm.removeToValidate,\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput},on:{\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput}})]})],2),_vm._v(\" \"),(_vm.show_required_field_message)?_c('div',{attrs:{\"id\":\"g3w-for-inputs-required-inputs-message\"}},[_c('span',{staticClass:\"hide-cursor-caret-color\"},[_vm._v(\"*\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}],staticClass:\"hide-cursor-caret-color\"})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06573254\"\n\n},{\"components/InputG3W.vue\":67,\"vueify/lib/insert-css\":2}],69:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-integer',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"type\":\"number\"},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],70:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-lonlat',\n\n mixins: [Input],\n data: function data() {\n return {\n lonId: (0, _getUniqueDomId.getUniqueDomId)(),\n latId: (0, _getUniqueDomId.getUniqueDomId)(),\n coordinatebutton: {\n active: false\n }\n };\n },\n\n computed: {\n getCoordinateActive: function getCoordinateActive() {\n return this.service.state.getCoordinateActive;\n }\n },\n methods: {\n toggleGetCoordinate: function toggleGetCoordinate() {\n this.service.toggleGetCoordinate();\n },\n changeLonLat: function changeLonLat() {\n this.change();\n this.setValue();\n },\n setValue: function setValue() {\n this.state.value = [[1 * this.state.values.lon, 1 * this.state.values.lat]];\n }\n },\n created: function created() {\n this.state.values = this.state.values || { lon: 0, lat: 0 };\n this.setValue();\n this.service.setCoordinateButtonReactiveObject(this.coordinatebutton);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $(this.$refs['g3w-input-lat-lon']).tooltip({ trigger: 'hover' });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\",\"height\":\"35px\",\"margin-right\":\"12px\",\"margin-bottom\":\"5px\"}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.form.inputs.tooltips.lonlat'),expression:\"'sdk.form.inputs.tooltips.lonlat'\"}],ref:\"g3w-input-lat-lon\",staticClass:\"action skin-tooltip-left skin-color skin-border-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"border-radius\":\"5px\",\"font-weight\":\"bold\",\"font-size\":\"20px\",\"cursor\":\"pointer\"},style:({border: _vm.coordinatebutton.active ? '2px solid' : 0}),attrs:{\"data-placement\":\"left\",\"data-container\":\"body\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleGetCoordinate($event)}}})]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.lonId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lon)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lon),expression:\"state.values.lon\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.lonId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-180\",\"max\":\"180\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lon)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lon\", $event.target.value)}}})])]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.latId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lat)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lat),expression:\"state.values.lat\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.latId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-90\",\"max\":\"90\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lat)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lat\", $event.target.value)}}})])])],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],71:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputMixins = require('gui/inputs/input');\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar _require2 = require('gui/fields/fields'),\n MediaField = _require2.media_field;\n\nexports.default = {\n name: 'input-media',\n\n mixins: [InputMixins],\n components: {\n 'g3w-media': MediaField\n },\n data: function data() {\n return {\n data: {\n value: null,\n mime_type: null\n },\n mediaid: 'media_' + (0, _getUniqueDomId.getUniqueDomId)(),\n loading: false\n };\n },\n\n methods: {\n onClick: function onClick() {\n document.getElementById(this.mediaid).click();\n },\n clearMedia: function clearMedia() {\n this.data.value = this.data.mime_type = this.state.value = null;\n this.change();\n }\n },\n created: function created() {\n if (this.state.value) {\n this.data.value = this.state.value.value;\n this.data.mime_type = this.state.value.mime_type;\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var fieldName = this.state.name;\n var formData = {\n name: fieldName,\n csrfmiddlewaretoken: this.$cookie.get('csrftoken')\n };\n\n yield this.$nextTick();\n\n $('#' + this.mediaid).fileupload({\n dataType: 'json',\n formData: formData,\n start: function start() {\n return _this.loading = true;\n },\n done: function done(e, data) {\n var response = data.result[fieldName];\n if (response) {\n _this.data.value = response.value;\n _this.data.mime_type = response.mime_type;\n _this.state.value = _this.data;\n _this.change();\n }\n },\n fail: function fail(e) {\n console.warn(e);_gui2.default.notify.error(t(\"info.server_error\"));\n },\n always: function always() {\n return _this.loading = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n $('#' + this.mediaid).fileupload('destroy');\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"g3w_input_button skin-border-color\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"2px\",\"width\":\"100%\",\"cursor\":\"pointer\",\"text-align\":\"center\"},on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"fa-2x skin-color\",class:_vm.g3wtemplate.getFontClass('file-upload'),staticStyle:{\"padding\":\"5px\"}},[_c('input',{class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"display\":\"none\"},attrs:{\"id\":_vm.mediaid,\"name\":_vm.state.name,\"tabIndex\":_vm.tabIndex,\"data-url\":_vm.state.input.options.uploadurl,\"type\":\"file\"}})])]),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('g3w-media',{attrs:{\"state\":_vm.data}},[_c('div',{staticClass:\"clearmedia\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMedia()}}},[_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o']})])])],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":173,\"utils/getUniqueDomId\":217}],72:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\nvar Service = require('gui/inputs/picklayer/service');\n\nexports.default = {\n name: 'input-picklayer',\n\n mixins: [Input],\n methods: {\n pickLayer: function pickLayer() {\n var _this = this;\n\n this.pickservice.pick().then(function (value) {\n return _this.state.value = value;\n }).catch(function () {});\n },\n unpick: function unpick() {\n var _this2 = this;\n\n setTimeout(function () {\n return !_this2.pickservice.isPicked() && _this2.pickservice.unpick();\n }, 200);\n }\n },\n created: function created() {\n this.pickservice = new Service(this.state.input.options);\n },\n beforeDestroy: function beforeDestroy() {\n this.pickservice.clear();\n this.pickservice = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"left\":\"0\",\"top\":\"7px\",\"position\":\"absolute\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},style:({cursor: _vm.editable ? 'pointer': null}),attrs:{\"readonly\":\"readonly\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"click\":_vm.pickLayer,\"blur\":_vm.unpick}})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19}],73:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-radio',\n\n mixins: [Input],\n data: function data() {\n return {\n ids: [(0, _getUniqueDomId.getUniqueDomId)(), (0, _getUniqueDomId.getUniqueDomId)()],\n name: 'name_' + (0, _getUniqueDomId.getUniqueDomId)(),\n radio_value: this.state.value\n };\n },\n\n watch: {\n 'radio_value': function radio_value() {\n this.state.value = this.radio_value;\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},_vm._l((_vm.state.input.options.values),function(value,index){return _c('span',{key:value.key},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.radio_value),expression:\"radio_value\"}],staticClass:\"magic-radio\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"id\":_vm.ids[index],\"name\":_vm.name,\"tabIndex\":_vm.tabIndex,\"type\":\"radio\"},domProps:{\"value\":value.value,\"checked\":_vm._q(_vm.radio_value,value.value)},on:{\"change\":function($event){_vm.radio_value=value.value}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.ids[index]}},[_vm._v(_vm._s(value.key))])])}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],74:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-range',\n\n mixins: [Input],\n data: function data() {\n var _state$input$options$ = this.state.input.options.values[0],\n min = _state$input$options$.min,\n max = _state$input$options$.max,\n step = _state$input$options$.Step;\n\n return {\n min: min,\n max: max,\n step: step\n };\n },\n\n methods: {\n checkValue: function checkValue() {\n var isEmpty = null === this.state.value || _.isEmpty(('' + this.state.value).trim());\n\n if (isEmpty && !this.state.validate.required) {\n this.state.value = this.state.input.options.values[0].default;\n }\n\n this.state.validate.valid = !this.state.validate.required;\n\n if (!isEmpty) {\n this.state.validate.valid = this.service.getValidator().validate(this.state.value);\n }\n\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }$event.stopPropagation();}],\"change\":_vm.checkValue,\"blur\":_vm.checkValue,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],75:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-input-pick-layer[data-v-6b3d29b0]{cursor:pointer;position:relative;top:2px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PickLayerInputService = require('gui/inputs/picklayer/service');\n\nvar _require = require('map/layers/layer'),\n Layer = _require.Layer;\n\nvar InputMixin = require('gui/inputs/input');\n\nvar G3W_SELECT2_NULL_VALUE = null;exports.default = {\n name: 'input-select',\n\n mixins: [InputMixin, _mixins.selectMixin, _mixins.select2Mixin],\n data: function data() {\n return {\n showPickLayer: false,\n picked: false,\n filterFields: [],\n isFilterFieldsReady: false };\n },\n\n computed: {\n showNullOption: function showNullOption() {\n return false === this.multiple && [undefined, true].includes(this.state.nullOption);\n },\n select2NullValue: function select2NullValue() {\n return this.showNullOption && G3W_SELECT2_NULL_VALUE;\n }\n },\n methods: {\n pickLayerValue: function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n if (this.picked) {\n this.pickLayerInputService.unpick();\n this.picked = false;\n } else {\n this.picked = true;\n var values = yield this.pickLayerInputService.pick();\n\n var value = values[this.state.input.options.key];\n\n if (this.multiple) {\n value = undefined === this.getMultiValues().find(function (v) {\n return value == v;\n }) ? '{' + [].concat(_toConsumableArray(this.getMultiValues()), [value]).join() + '}' : this.state.value;\n }\n\n if (value != this.state.value) {\n if (this.autocomplete) {\n if (!this.multiple) {\n this.state.input.options.values.splice(0);\n }\n this.state.input.options.values.push({\n key: values[this.state.input.options.value],\n value: values[this.state.input.options.key]\n });\n }\n\n this.service.sortValues();\n\n yield this.changeSelect(value);\n\n this.select2.val(this.multiple ? this.getMultiValues() : value).trigger('change');\n }\n\n _gui2.default.showUserMessage({ type: 'success', autoclose: true });\n\n this.picked = false;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: \"warning\",\n message: 'sdk.form.inputs.messages.errors.picklayer',\n autoclose: true\n });\n this.picked = false;\n }\n });\n\n function pickLayerValue() {\n return _ref.apply(this, arguments);\n }\n\n return pickLayerValue;\n }(),\n getMultiValues: function getMultiValues() {\n var _this = this;\n\n return [undefined, null, ''].includes(this.state.value) ? [] : Array.from(new Set(('' + this.state.value).replace(/^{|}$/g, '').replace(/\"/g, \"\").split(','))).filter(function (v) {\n return _this.autocomplete || _this.state.input.options.values.map(function (_ref2) {\n var value = _ref2.value;\n return '' + value;\n }).includes('' + v);\n });\n },\n setAndListenSelect2Change: function setAndListenSelect2Change() {\n var _this2 = this;\n\n this.select2.on('select2:unselect', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n if (_this2.multiple) {\n var values = _this2.getMultiValues().filter(function (v) {\n return v != value;\n });\n\n if (_this2.autocomplete) {\n _this2.state.input.options.values = _this2.state.input.options.values.filter(function (v) {\n return value != v.value;\n });\n }\n _this2.changeSelect(0 === values.length ? null : '{' + values.join() + '}');\n }\n\n if (_this2.showNullOption && !_this2.multiple) {\n _this2.changeSelect(null);\n }\n });\n\n this.select2.on('select2:select', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n\n value = _this2.showNullOption ? value === G3W_SELECT2_NULL_VALUE ? null : value.toString() : value.toString();\n\n if (_this2.multiple) {\n value = _this2.getMultiValues().length > 0 ? '{' + [].concat(_toConsumableArray(_this2.getMultiValues()), [value]).join() + '}' : '{' + value + '}';\n }\n\n _this2.changeSelect(value);\n });\n }\n },\n\n watch: {\n 'state.input.options.values': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n yield this.$nextTick();\n if (this.autocomplete) {\n return;\n }\n var value = void 0;\n\n var is_empty = 0 === values.length;\n\n if (is_empty || this.multiple && 0 === this.getMultiValues().length) {\n value = G3W_SELECT2_NULL_VALUE;\n }\n\n if (!is_empty && this.multiple && this.getMultiValues().length > 0) {\n value = '{' + this.getMultiValues().join() + '}';\n }\n\n if (!is_empty && !this.multiple) {\n value = (values.find(function (_ref4) {\n var value = _ref4.value;\n return value == _this3.state.value;\n }) || { value: G3W_SELECT2_NULL_VALUE }).value;\n }\n\n var changed = value != this.state.value;\n\n this.state.value = value;\n\n this.select2.val(this.multiple ? this.getMultiValues() : this.state.value).trigger('change');\n\n if (changed) {\n this.change();\n }\n });\n\n function stateInputOptionsValues() {\n return _ref3.apply(this, arguments);\n }\n\n return stateInputOptionsValues;\n }()\n },\n\n created: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.unwatch;\n this.filterFieldsUnwatches;\n\n var _state$input$options = this.state.input.options,\n relation_id = _state$input$options.relation_id,\n _state$input$options$ = _state$input$options.filter_fields,\n filter_fields = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.relation_reference,\n relation_reference = _state$input$options$2 === undefined ? false : _state$input$options$2,\n _state$input$options$3 = _state$input$options.chain_filters,\n chain_filters = _state$input$options$3 === undefined ? false : _state$input$options$3,\n _state$input$options$4 = _state$input$options.allowmulti,\n allowmulti = _state$input$options$4 === undefined ? false : _state$input$options$4;\n\n this.multiple = allowmulti;\n\n if (relation_reference && Array.isArray(filter_fields) && filter_fields.length > 0) {\n this.setLoading(true);\n\n this.isFilterFieldsReady = false;\n\n var _ApplicationState$pro = _application2.default.project.getRelationById(relation_id),\n referencedLayer = _ApplicationState$pro.referencedLayer,\n referencingLayer = _ApplicationState$pro.referencingLayer,\n _ApplicationState$pro2 = _ApplicationState$pro.fieldRef,\n referencingField = _ApplicationState$pro2.referencingField,\n referencedField = _ApplicationState$pro2.referencedField;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(referencingLayer);\n\n var relationLayer = (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer);\n\n var relationLayerFields = relationLayer.getFields();\n\n if (null !== this.state.value) {\n try {\n var _ref6 = yield relationLayer.getFilterData({\n formatter: 0,\n field: (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: referencedField[0],\n value: this.state.value })\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n this.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n order: referencingField[0],\n ffield: filter_fields.map(function (f, i) {\n var value = undefined === data[0].features[0].get(f) ? '' + G3W_SELECT2_NULL_VALUE : data[0].features[0].get(f);\n\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: value,\n disabled: chain_filters && i > 0 && '' + G3W_SELECT2_NULL_VALUE === _this4.filterFields[filter_fields[i - 1]]\n });\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f,\n value: value\n });\n }).join('|AND,')\n })).data || []).map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n value = _ref8[0],\n key = _ref8[1];\n\n return { key: key, value: value };\n });\n\n if (chain_filters) {\n (yield relationLayer.getFilterData({\n unique: filter_fields[0],\n ordering: filter_fields[0],\n formatter: 0\n })).forEach(function (v) {\n return _this4.filterFields[0].values.push({ key: v, value: v });\n });\n\n (yield Promise.allSettled(filter_fields.slice(1).map(function (f, i) {\n return relationLayer.getFilterData({\n unique: filter_fields[i + 1],\n ordering: filter_fields[i + 1],\n formatter: 0,\n field: _this4.filterFields.slice(0, i + 1).filter(function (f) {\n return 'null' !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,')\n });\n }))).forEach(function (_ref9, i) {\n var status = _ref9.status,\n data = _ref9.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i + 1].values.push({ key: v, value: v });\n });\n }\n });\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f) {\n return relationLayer.getFilterData({ unique: f, ordering: f, formatter: 0 });\n }))).forEach(function (_ref10, index) {\n var status = _ref10.status,\n data = _ref10.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[index].values.push({ key: v, value: v });\n });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f, i) {\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: '' + G3W_SELECT2_NULL_VALUE,\n disabled: chain_filters && i > 0\n });\n return relationLayer.getFilterData({\n unique: f,\n formatter: 0,\n ordering: f\n });\n }))).forEach(function (_ref11, i) {\n var status = _ref11.status,\n data = _ref11.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i].values.push({ key: v, value: v });\n });\n }\n });\n }\n\n this.filterFieldsUnwatches = this.filterFields.map(function (f, index) {\n return _this4.$watch(function () {\n return f.value;\n }, function () {\n var _ref12 = _asyncToGenerator(function* (value) {\n _this4.setLoading(true);\n\n if (chain_filters) {\n for (var i = index + 1; i < _this4.filterFields.length; i++) {\n _this4.filterFields[i].value = '' + G3W_SELECT2_NULL_VALUE;\n _this4.filterFields[i].values = [_this4.filterFields[i].values[0]];\n _this4.filterFields[i].disabled = '' + G3W_SELECT2_NULL_VALUE === value;\n }\n try {\n var filter = _this4.filterFields.slice(0, index + 1).filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,');\n\n var _ref13 = yield relationLayer.getFilterData({ field: filter }),\n _ref13$data = _ref13.data,\n rdata = _ref13$data === undefined ? [] : _ref13$data;\n\n if (rdata[0] && rdata[0].features) {\n var filterReferencedFieldValues = [];\n rdata[0].features.forEach(function (f) {\n filterReferencedFieldValues.push(f.get(referencedField));\n if (index < _this4.filterFields.length - 1) {\n var _value = f.get(_this4.filterFields[index + 1].id);\n _this4.filterFields[index + 1].values.push({ key: _value, value: _value });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n _this4.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n ordering: referencingField[0],\n ffield: _this4.filterFields.filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: f.id, value: f.value });\n }).join('|AND,')\n })).data || []).map(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n value = _ref15[0],\n key = _ref15[1];\n\n return { key: key, value: value };\n });\n\n if (_this4.state.input.options.values.length > 0) {\n _this4.state.value = _this4.state.input.options.values[0].value;\n _this4.select2.val(_this4.state.value).trigger('change');\n yield _this4.changeSelect(_this4.state.value);\n }\n\n _this4.setLoading(false);\n });\n\n return function (_x2) {\n return _ref12.apply(this, arguments);\n };\n }());\n });\n\n this.setLoading(false);\n\n this.isFilterFieldsReady = true;\n }\n\n if ('select_autocomplete' === this.state.input.type) {\n var dependencyLayerId = this.state.input.options.layer_id;\n if (dependencyLayerId) {\n try {\n var dependencyLayer = _gui2.default.getService('map').getProjectLayer(dependencyLayerId).getEditingLayer() || (0, _getCatalogLayerById.getCatalogLayerById)(dependencyLayerId);\n\n this.showPickLayer = dependencyLayer && Layer.LayerTypes.TABLE !== dependencyLayer.getType();\n if (this.showPickLayer) {\n var _state$input$options2 = this.state.input.options,\n key = _state$input$options2.key,\n value = _state$input$options2.value,\n layer_id = _state$input$options2.layer_id;\n\n this.pickLayerInputService = new PickLayerInputService({\n layer_id: layer_id,\n fields: [value, key],\n pick_type: dependencyLayer.isStarted && dependencyLayer.isStarted() ? 'map' : null\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n }\n });\n\n function created() {\n return _ref5.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n var selectElement = $(this.$refs.select);\n var language = this.getLanguage();\n var dropdownParent = undefined === this.state.dropdownParent && $('#g3w-view-content');\n if (this.autocomplete) {\n this.select2 = selectElement.select2({\n minimumInputLength: 1,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n allowClear: this.showNullOption,\n placeholder: '',\n language: language,\n ajax: {\n delay: 250,\n transport: function transport(params, success, failure) {\n var search = params.data.term;\n\n $('.select2-results__option.loading-results').siblings().hide();\n _this5.service.getData({\n key: _this5.state.input.options.value,\n value: _this5.state.input.options.key,\n search: search\n }).then(function (values) {\n return success(values);\n }).catch(function (e) {\n console.warn(e);failure(e);\n });\n },\n processResults: function processResults(data, params) {\n params.page = params.page || 1;\n return {\n results: data,\n pagination: {\n more: false\n }\n };\n } }\n });\n\n if (this.state.value) {\n this.state.input.options.values.splice(0);\n yield this.service.getKeyByValue({\n search: this.multiple ? this.getMultiValues() : this.state.value\n });\n }\n } else {\n this.select2 = selectElement.select2({\n language: language,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n minimumResultsForSearch: this.isMobile() ? -1 : null\n });\n }\n this.setAndListenSelect2Change();\n\n if (this.multiple && this.getMultiValues().length > 0) {\n this.select2.val(this.getMultiValues()).trigger('change');\n } else {\n this.setValue();\n }\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.pickLayerInputService) {\n this.pickLayerInputService.clear();\n this.pickLayerInputService = null;\n }\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n }\n\n if (this.filterFieldsUnwatches) {\n this.filterFieldsUnwatches.forEach(function (uw) {\n return uw();\n });\n this.filterFieldsUnwatches = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[(_vm.showPickLayer)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.form.inputs.tooltips.picklayer'),expression:\"'sdk.form.inputs.tooltips.picklayer'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],staticClass:\"g3w-input-pick-layer skin-color\",attrs:{\"slot\":\"label-action\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.pickLayerValue($event)}},slot:\"label-action\"},[_c('i',{class:_vm.g3wtemplate.font['crosshairs']})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex},slot:\"body\"},[(_vm.filterFields.length > 0 && _vm.isFilterFieldsReady)?_c('div',{staticClass:\"g3w-relation-reference-fields-content\"},[_vm._l((_vm.filterFields),function(rf,index){return [_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('filterFields'),expression:\"'filterFields'\"}],ref:(\"filterField_\" + (rf.id)),refInFor:true,staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"select2_value\":rf.value,\"indexItem\":index,\"id\":rf.id,\"disabled\":rf.disabled}},_vm._l((rf.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])}),0)]}),_vm._v(\" \"),_c('divider')],2):_vm._e(),_vm._v(\" \"),_c('select',{ref:\"select\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"}},[(_vm.showNullOption)?_c('option',{domProps:{\"value\":_vm.select2NullValue}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{key:_vm.getValue(value),domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])})],2)]),_vm._v(\" \"),('error' === _vm.loadingState )?_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('server_error'),expression:\"'server_error'\"}],staticClass:\"error-input-message\",attrs:{\"slot\":\"message\"},slot:\"message\"}):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6b3d29b0\"\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19,\"map/layers/layer\":156,\"mixins\":166,\"services/gui\":173,\"store/application\":178,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],76:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-slider-range',\n\n mixins: [Input],\n watch: {\n 'state.input.options.min': function stateInputOptionsMin() {\n this.service.changeInfoMessage();\n },\n 'state.input.options.max': function stateInputOptionsMax() {\n this.service.changeInfoMessage();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"min\":_vm.state.input.options.min,\"max\":_vm.state.input.options.max,\"type\":\"range\",\"step\":_vm.state.input.options.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],77:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-text\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"keyup\":function($event){_vm.isMobile() ? _vm.mobileChange($event) : _vm.change()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],78:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"textarea[data-v-3ac5abe4]{resize:none;border:1px solid #ccc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-textarea\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('textarea',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"max-width\":\"100%\",\"min-width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"rows\":\"3\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":function($event){$event.stopPropagation();},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"change\":_vm.change},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3ac5abe4\"\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],79:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"button.ql-html{width:40px!important}button.ql-html:after{content:\\\"html\\\"}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-html\",\n\n mixins: [Input],\n methods: {\n setupTableCustomTools: function setupTableCustomTools() {\n var buttonColumnLeft = this.$el.querySelector('.ql-column-left');\n buttonColumnLeft.innerHTML = '';\n buttonColumnLeft.title = \"Add column left\";\n\n var buttonColumnRight = this.$el.querySelector('.ql-column-right');\n buttonColumnRight.innerHTML = '';\n buttonColumnRight.title = \"Add column right\";\n\n var buttonColumnRemove = this.$el.querySelector('.ql-column-remove');\n buttonColumnRemove.innerHTML = '';\n buttonColumnRemove.title = \"Remove column\";\n\n var buttonRowAbove = this.$el.querySelector('.ql-row-above');\n buttonRowAbove.innerHTML = '';\n buttonRowAbove.title = \"Add row above\";\n\n\n var buttonRowBelow = this.$el.querySelector('.ql-row-below');\n buttonRowBelow.innerHTML = '';\n buttonRowBelow.title = \"Add row below\";\n\n var buttonRowRemove = this.$el.querySelector('.ql-row-remove');\n buttonRowRemove.innerHTML = '';\n buttonRowRemove.title = \"Remove row\";\n }\n },\n created: function created() {\n this.edit_state = {\n edit: false,\n show_html: false\n };\n\n if (!this.state.edit_states) {\n this.state.edit_states = [];\n }\n this.state.edit_states.push(this.edit_state);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var toolbarOptions = [[{ header: [1, 2, 3, 4, 5, 6, false] }], [{ 'align': '' }, { 'align': 'center' }, { 'align': 'right' }, { 'align': 'justify' }], [{ 'color': [] }, { 'background': [] }], ['bold', 'italic', 'underline', { 'list': 'ordered' }, { 'list': 'bullet' }, 'link', 'clean', 'html'], ['table', 'column-left', 'column-right', 'column-remove', 'row-above', 'row-below', 'row-remove']];\n yield this.$nextTick();\n this.quill = new Quill(this.$refs.quill_editor, {\n modules: {\n table: true,\n toolbar: {\n container: toolbarOptions,\n handlers: {\n html: function html() {\n _this.edit_state.show_html = !_this.edit_state.show_html;\n if (_this.edit_state.show_html) {\n _this.quill.container.firstChild.innerText = _this.quill.container.firstChild.innerHTML;\n } else {\n _this.quill.container.firstChild.innerHTML = _this.quill.container.firstChild.innerText;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.$el.querySelectorAll('.ql-formats')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var qlformat = _step.value;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = qlformat.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var child = _step2.value;\n\n if (!child.classList.contains('ql-html')) {\n child.classList.toggle('g3w-disabled');\n } else {\n child.classList.toggle('skin-color');\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n },\n 'column-left': function columnLeft() {\n return _this.table.insertColumnLeft();\n },\n 'column-right': function columnRight() {\n return _this.table.insertColumnRight();\n },\n 'column-remove': function columnRemove() {\n return _this.table.deleteColumn();\n },\n 'row-above': function rowAbove() {\n return _this.table.insertRowAbove();\n },\n 'row-below': function rowBelow() {\n return _this.table.insertRowBelow();\n },\n 'row-remove': function rowRemove() {\n return _this.table.deleteRow();\n }\n }\n\n }\n },\n theme: 'snow'\n });\n this.quill.container.firstChild.innerHTML = this.state.value;\n\n this.table = this.quill.getModule('table');\n this.setupTableCustomTools();\n\n this.handler = function () {\n _this.state.value = _this.edit_state.show_html ? _this.quill.container.firstChild.innerText : _this.quill.container.firstChild.innerHTML;\n _this.edit_state.edit = true;\n _this.change();\n setTimeout(function () {\n return _this.edit_state.edit = false;\n });\n };\n\n this.quill.on('text-change', this.handler);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n 'state.value': function stateValue(value) {\n if (!this.edit_state.edit) {\n if (this.edit_state.show_html) {\n this.quill.container.firstChild.innerText = value;\n } else {\n this.quill.container.firstChild.innerHTML = value;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.quill.off('text-change', this.handler);\n this.handler = null;\n this.quill = null;\n this.edit_state.edit = false;\n this.edit_state.show_html = false;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('div',{ref:\"quill_editor\",staticClass:\"form-control\",style:({border: _vm.novalid ? '1px solid reed' : '1px solid #ccc'}),attrs:{\"slot\":\"body\"},on:{\"keydown\":function($event){$event.stopPropagation();}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],80:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-unique\",\n\n mixins: [Input, _mixins.selectMixin],\n data: function data() {\n return { id: 'unique_' + (0, _getUniqueDomId.getUniqueDomId)() };\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.select2 = $('#' + this.id).select2({\n dropdownParent: $('#g3w-view-content'),\n tags: this.state.input.options.editable,\n language: this.getLanguage()\n });\n if (null !== this.state.value) {\n this.select2.val(this.state.value).trigger('change');\n }\n this.select2.on('select2:select', function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n _this.state.value = 'null' === value ? null : ['integer', 'float', 'bigint'].includes(_this.state.type) ? Number(value) : value;\n\n _this.changeSelect(_this.state.value);\n yield _this.$nextTick();\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('select',{staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"id\":_vm.id,\"tabIndex\":_vm.tabIndex},slot:\"body\"},[_c('option',{attrs:{\"value\":\"null\"}}),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(value){return _c('option',{key:value,domProps:{\"value\":_vm.getValue(value)}},[_vm._v(_vm._s(_vm.getValue(value)))])})],2)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"utils/getUniqueDomId\":217}],81:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#marker[data-v-70e886b4]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-70e886b4]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-70e886b4]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:hsla(0,0%,100%,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-70e886b4]{position:relative;width:100%;height:100%}.g3w-map[data-v-70e886b4]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-70e886b4]{display:block}.g3w-map.hide[data-v-70e886b4]{display:none}#map_footer[data-v-70e886b4]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:hsla(0,0%,100%,.7)}#permalink[data-v-70e886b4]{font-weight:700;font-size:1.2em;padding:5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-70e886b4]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-70e886b4]{padding:3px}#map_footer_right[data-v-70e886b4]{flex-shrink:0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _copyUrl = require('utils/copyUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-map',\n\n data: function data() {\n var service = this.$options.service;\n\n return {\n target: this.$options.service.target,\n hidemaps: service.state.hidemaps,\n map_info: service.state.map_info,\n service: service,\n mouse: {\n visible: true,\n switch_icon: false,\n epsg_4326: false,\n tooltip: null\n },\n urlCopied: false,\n mapunit: _application2.default.map.unit\n };\n },\n\n\n computed: {\n version: function version() {\n return 'Powered by G3W-SUITE ' + initConfig.version;\n },\n showmapunits: function showmapunits() {\n return this.service.state.mapunits.length > 1;\n }\n },\n\n methods: {\n showHideControls: function showHideControls() {\n this.service.getMapControls().forEach(function (c) {\n return \"scaleline\" !== c.type && c.control.showHide();\n });\n },\n createCopyMapExtentUrl: function createCopyMapExtentUrl() {\n var _this = this;\n\n var url = new URL(location.href);\n url.searchParams.set('map_extent', this.service.getMapExtent().toString());\n (0, _copyUrl.copyUrl)(url.toString());\n this.urlCopied = !this.urlCopied;\n setTimeout(function () {\n return _this.urlCopied = false;\n }, 5000);\n },\n switchMapsCoordinateTo4326: function switchMapsCoordinateTo4326() {\n this.mouse.epsg_4326 = !this.mouse.epsg_4326;\n this.service.getMapControlByType({ type: 'mouseposition' }).dispatchEvent({\n type: 'change:epsg',\n epsg: this.mouse.epsg_4326 ? 'EPSG:4326' : this.service.getEpsg()\n });\n }\n },\n\n watch: {\n 'mapunit': function mapunit(unit) {\n _application2.default.map.unit = unit;\n this.service.changeScaleLineUnit(unit);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.crs = this.service.getCrs();\n\n yield this.$nextTick();\n\n this.service.onafter('addHideMap', _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref3.ratio,\n _ref3$layers = _ref3.layers,\n layers = _ref3$layers === undefined ? [] : _ref3$layers,\n _ref3$mainview = _ref3.mainview,\n mainview = _ref3$mainview === undefined ? false : _ref3$mainview,\n _ref3$switchable = _ref3.switchable,\n switchable = _ref3$switchable === undefined ? false : _ref3$switchable;\n\n yield _this2.$nextTick();\n _this2.service._addHideMap({ ratio: ratio, layers: layers, mainview: mainview, switchable: switchable });\n }));\n\n this.service.once('ready', function () {\n if (_this2.service.getMapControlByType({ type: 'mouseposition' })) {\n _this2.mouse.switch_icon = _this2.service.getMapControlByType({ type: 'mouseposition' }) && 'EPSG:4326' !== _this2.service.getEpsg();\n _this2.mouse.tooltip = 'ESPG ' + _this2.service.getCrs().split(':')[1] + ' \\u2194 WGS84';\n } else {\n _this2.mouse.visible = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g3w-maps\"}},[_vm._l((_vm.hidemaps),function(hidemap){return _c('div',{key:hidemap.id,staticClass:\"g3w-map hidemap\",attrs:{\"id\":hidemap.id}})}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map\",attrs:{\"id\":_vm.target}},[_c('div',{ref:\"g3w-map-controls\",staticClass:\"g3w-map-controls rv\",staticStyle:{\"display\":\"flex\"}}),_vm._v(\" \"),(_vm.map_info.info)?_c('div',{ref:\"g3w-map-info\",style:(_vm.map_info.style),attrs:{\"id\":\"g3w-map-info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.map_info.info)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map-controls-left-bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"skin-border-color\",attrs:{\"id\":\"map_footer\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_left\"}},[_c('a',{staticStyle:{\"margin-left\":\"5px\",\"align-self\":\"center\"},attrs:{\"href\":\"https://g3wsuite.it/\",\"target\":\"_blank\",\"title\":_vm.version}},[_c('img',{attrs:{\"height\":\"15\",\"src\":\"/static/client/images/g3wsuite_logo.png\",\"alt\":\"\"}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_right\"}},[(_vm.mouse.visible && _vm.mouse.switch_icon && !_vm.isMobile())?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.mouse.tooltip),expression:\"mouse.tooltip\",arg:\"top\",modifiers:{\"create\":true}}],attrs:{\"id\":\"switch-mouse-coordinate\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.switchMapsCoordinateTo4326($event)}}},[_c('span',{staticClass:\"skin-color-dark hide-cursor-caret-color\",class:_vm.$fa('mouse')})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mouse.visible),expression:\"mouse.visible\"}],attrs:{\"id\":\"mouse-position-control\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.copy_map_extent_url'),expression:\"'sdk.tooltips.copy_map_extent_url'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"skin-color-dark\",class:( _obj = {}, _obj[_vm.$fa('link')] = !_vm.urlCopied, _obj[_vm.$fa('success')] = _vm.urlCopied, _obj ),attrs:{\"id\":\"permalink\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.createCopyMapExtentUrl($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"scale-control\"}}),_vm._v(\" \"),(_vm.showmapunits)?_c('div',{attrs:{\"id\":\"scale-line-units\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mapunit),expression:\"mapunit\"}],staticClass:\"skin-color-dark\",staticStyle:{\"padding\":\"5px 2px\",\"font-weight\":\"bold\",\"border\":\"0\",\"cursor\":\"pointer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mapunit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.service.state.mapunits),function(unit){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.mapcontrols.scaleline.units.\" + unit)),expression:\"`sdk.mapcontrols.scaleline.units.${unit}`\"}],staticStyle:{\"font-weight\":\"bold\"},domProps:{\"value\":unit,\"selected\":_vm.mapunit === unit}})}),0)]):_vm._e()])])],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{attrs:{\"id\":\"marker\"}})])}]\n__vue__options__._scopeId = \"data-v-70e886b4\"\n\n},{\"store/application\":178,\"utils/copyUrl\":190,\"vueify/lib/insert-css\":2}],82:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li[data-v-547bdae4]:not(.skin-background-color){display:flex;align-items:center;gap:10px}li.gcd-icon-poi .gcd-city[data-v-547bdae4],li.gcd-icon-poi .gcd-country[data-v-547bdae4],li.gcd-icon-poi .gcd-road[data-v-547bdae4],li.gcd-icon-road .gcd-icon[data-v-547bdae4],li.gcd-icon-road .gcd-name[data-v-547bdae4],li.gcd-icon-road .gcd-type[data-v-547bdae4]{display:none}#gcd-search[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;border-radius:0;background-color:var(--skin-color,#fff)}#gcd-trash[data-v-547bdae4],#markers-visibility-layer[data-v-547bdae4],#show-markers-results[data-v-547bdae4]{z-index:1;border-radius:0!important;color:#fff;border-left:1px solid #fff}#gcd-trash[data-v-547bdae4]{color:red}#gcd-input-query[data-v-547bdae4]{font-weight:700}.gcd-txt-reset[data-v-547bdae4]:after{content:\\\"\\\\d7\\\";display:inline-block;font-weight:700;font-size:2em;cursor:pointer;color:var(--skin-color)}.gcd-txt-reset[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;line-height:100%;border:none;background-color:transparent;display:inline-block;vertical-align:middle;outline:0;cursor:pointer}.gcd-txt-input[data-v-547bdae4]:focus{outline:none}.gcd-txt-input[data-v-547bdae4]{z-index:1;border:0;width:100%;height:100%;padding:5px;text-indent:6px;background-color:transparent;font-family:inherit;font-size:1em}.gcd-txt-control[data-v-547bdae4]{position:relative;display:flex;justify-content:flex-end;height:41px;background-color:#fff;overflow:hidden;border-radius:2px;width:100%;border:2px solid var(--skin-color)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gcd-road[data-v-547bdae4]{font-size:.875em;font-weight:500}.gcd-city[data-v-547bdae4]{font-size:1em;font-weight:700}.gcd-country[data-v-547bdae4]{font-size:.75em}.gcd-spin[data-v-547bdae4]:after{animation:spin .7s linear infinite}.gcd-hidden[data-v-547bdae4]{display:none!important}li.skin-background-color[data-v-547bdae4]{position:sticky;top:0}li.selected[data-v-547bdae4]{background-color:#f7fabf!important}li.gcd-noresult[data-v-547bdae4]:hover{background-color:transparent!important}li.gcd-noresult[data-v-547bdae4]{font-weight:700;color:#384247;margin:10px;border-bottom:0!important}\\n.ol-geocoder{box-sizing:border-box;position:absolute;max-width:300px;top:3px;left:45px;width:50%;height:6px;font-size:1.1em}@media (max-width:767px){.ol-geocoder{left:10px}}.ol-geocoder>ul>li:hover{background-color:#eee}.ol-geocoder>ul>li{width:100%;overflow:hidden;padding:0;min-height:30px;padding-left:3px;border-bottom:2px solid var(--skin-color);min-height:20px;padding:10px}.ol-geocoder>ul{border-radius:3px!important;width:100%;max-height:200px;padding:0;margin-top:3px;background-color:#fff;border-top:none;overflow-x:hidden;overflow-y:auto;transition:max-height .3s ease-in;margin-bottom:0}.ol-geocoder>ul>li>a{display:block;text-decoration:none;padding:3px 5px;color:#000}.ol-geocoder>ul>li:last-child{border-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _QueryResultsActionChooseLayer = require('components/QueryResultsActionChooseLayer.vue');\n\nvar _QueryResultsActionChooseLayer2 = _interopRequireDefault(_QueryResultsActionChooseLayer);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _flattenObject = require('utils/flattenObject');\n\nvar _addZValueToOLFeatureGeometry = require('utils/addZValueToOLFeatureGeometry');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _convertSingleMultiGeometry = require('utils/convertSingleMultiGeometry');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar PROVIDERS = window.initConfig.mapcontrols.geocoding ? window.initConfig.mapcontrols.geocoding.providers : {};\nObject.keys(PROVIDERS).forEach(function (p) {\n var script = document.createElement('script');\n script.src = window.initConfig.staticurl + 'client/geocoding-providers/' + p + '.js';\n script.async = true;\n document.head.appendChild(script);\n});\n\nvar LAYER = new ol.layer.Vector({\n id: '__g3w_marker',\n name: 'Geocoding',\n source: new ol.source.Vector(),\n style: function style(feature) {\n if ('__g3w_marker_coordinates' === feature.getId()) {\n return new ol.style.Style({\n text: new ol.style.Text({\n offsetY: -15,\n text: '\\uF3C5',\n font: '900 3em \"Font Awesome 5 Free\"',\n stroke: new ol.style.Stroke({\n color: 'red',\n width: 3\n }),\n fill: new ol.style.Fill({\n color: 'rgba(255, 0,0, 0.7)'\n })\n })\n });\n } else {\n return [new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/pushpin.svg',\n scale: 0.8\n })\n }), new ol.style.Style({\n image: new ol.style.RegularShape({\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 0] }),\n points: 4,\n radius: 50,\n angle: Math.PI / 4\n })\n })];\n }\n }\n});\n\nvar is_clearing = false;\n\nexports.default = {\n data: function data() {\n return {\n results: [],\n\n disabled: false,\n results_panel_open: false };\n },\n\n\n props: {\n providers: {\n type: Object,\n default: {}\n }\n\n },\n\n computed: {\n is_layer_visible: function is_layer_visible() {\n return LAYER.getVisible();\n },\n features: function features() {\n return LAYER.getSource().getFeatures();\n },\n has_providers: function has_providers() {\n return Object.keys(this.providers).length > 0;\n },\n extent: function extent() {\n var map = _gui2.default.getService('map');\n var project = map.getProject().state;\n return ol.proj.transformExtent(Object.keys(this.providers).filter(function (p) {\n return 'nominatim' != p;\n }).length > 0 ? map.getMapExtent() : project.initextent || project.extent, project.crs.epsg, 'EPSG:4326');\n },\n placeholder: function placeholder() {\n return _application2.default.language && t('mapcontrols.geocoding.placeholder');\n }\n },\n\n methods: {\n _hideMarker: function _hideMarker() {\n LAYER.getSource().clear();\n\n if (false === this.is_layer_visible) {\n this.toggleLayerVisibility();\n }\n },\n toggleLayerVisibility: function toggleLayerVisibility() {\n LAYER.setVisible(!this.is_layer_visible);\n },\n clearResults: function clearResults() {\n this.results.splice(0);\n\n if (LAYER.getSource().getFeatureById('__g3w_marker_coordinates')) {\n LAYER.getSource().removeFeature(LAYER.getSource().getFeatureById('__g3w_marker_coordinates'));\n }\n },\n clearMarkers: function clearMarkers() {\n is_clearing = true;\n this._hideMarker();\n\n this.results.forEach(function (i) {\n return i.__selected = false;\n });\n var layer = _gui2.default.getService('queryresults').getState().layers.find(function (l) {\n return l.id === LAYER.get('id');\n });\n\n if (layer) {\n layer.features.forEach(function (f) {\n return _gui2.default.getService('queryresults').removeFeatureLayerFromResult(layer, f);\n });\n }\n is_clearing = false;\n },\n clear: function clear() {\n this.clearResults();\n this.clearMarkers();\n },\n query: function () {\n var _ref = _asyncToGenerator(function* (q) {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n var isNumber = function isNumber(value) {\n return 'number' === typeof value && !Number.isNaN(value);\n };\n var coordinates = null;\n var transform = false;\n\n var _split = (q || '').split(','),\n _split2 = _slicedToArray(_split, 3),\n x = _split2[0],\n y = _split2[1],\n epsg = _split2[2];\n\n var projection = epsg && (yield _projections2.default.registerProjection('EPSG:' + epsg.trim()));\n\n if (isNumber(1 * x) && isNumber(1 * y)) {\n coordinates = [1 * x, 1 * y];\n }\n\n try {\n if (projection) {\n coordinates = ol.proj.transform(coordinates, projection.getCode(), 'EPSG:4326');\n transform = true;\n }\n } catch (e) {\n console.warn(e);\n }\n\n if (coordinates) {\n var source = LAYER.getSource();\n\n if (source.getFeatureById('__g3w_marker_coordinates')) {\n source.removeFeature(source.getFeatureById('__g3w_marker_coordinates'));\n }\n\n var feature = new ol.Feature({\n geometry: new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates),\n\n lon: coordinates[0],\n lat: coordinates[1]\n });\n\n feature.setId('__g3w_marker_coordinates');\n\n LAYER.getSource().addFeature(feature);\n\n map.zoomToGeometry(new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates));\n return coordinates;\n }\n\n if (!coordinates) {\n this.clearResults();\n this.$refs.reset.classList.add(\"gcd-spin\");\n\n (yield Promise.allSettled(Object.entries(this.providers).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n p = _ref3[0],\n _ref3$ = _ref3[1],\n config = _ref3$ === undefined ? {} : _ref3$;\n\n return PROVIDERS[p].fetch({\n url: config.url,\n icon: config.icon,\n query: q,\n lang: _application2.default.language || 'it-IT',\n\n limit: 5,\n extent: _this.extent\n });\n }))).filter(function (p) {\n return 'fulfilled' === p.status;\n }).forEach(function (p) {\n _this.results.push({\n __heading: true,\n provider: p.value.provider,\n label: _this.providers[p.value.provider].label || p.value.label\n });\n\n if (!(p.value.results && p.value.results.length)) {\n _this.results.push({\n __no_results: !(p.value.results && p.value.results.length)\n });\n return;\n }\n\n p.value.results.forEach(function (item) {\n _this.results.push((0, _flattenObject.flattenObject)(_extends({}, item, {\n provider: p.value.provider,\n __uid: (0, _getUniqueDomId.getUniqueDomId)(),\n __icon: _this.providers[p.value.provider].icon || p.value.icon,\n __selected: false\n })));\n });\n });\n\n this.$refs.reset.classList.remove(\"gcd-spin\");\n }\n });\n\n function query(_x) {\n return _ref.apply(this, arguments);\n }\n\n return query;\n }(),\n onQuery: function onQuery(evt) {\n if ('Enter' === evt.key || 13 === evt.which || 13 === evt.keyCode) {\n evt.preventDefault();\n this.query(evt.target.value.trim());\n }\n },\n onValue: function onValue(e) {\n this.$refs.reset.classList.toggle(\"gcd-hidden\", 0 === e.target.value.trim().length);\n },\n onReset: function onReset() {\n this.$refs.input.focus();\n this.$refs.input.value = '';\n this.$refs.reset.classList.add(\"gcd-hidden\");\n this.clearResults();\n },\n _removeItem: function _removeItem(uid) {\n var item = (this.results || []).find(function (r) {\n return uid === r.__uid;\n });\n\n if (this.features.length) {\n var source = LAYER.getSource();\n source.removeFeature(source.getFeatureById(uid));\n }\n\n if (item) {\n item.__selected = false;\n }\n\n if (0 === this.features.length) {\n this._hideMarker();\n }\n\n if (!is_clearing) {\n this.showMarkerResults(undefined, 0 === this.features.length);\n }\n },\n onItemClick: function onItemClick(evt, item) {\n if (!item.lat || !item.lon) {\n return;\n }\n evt.preventDefault();\n try {\n var source = LAYER.getSource();\n\n if (source.getFeatureById(item.__uid)) {\n this._removeItem(item.__uid);\n } else {\n var __uid = item.__uid,\n __icon = item.__icon,\n __selected = item.__selected,\n _item = _objectWithoutProperties(item, ['__uid', '__icon', '__selected']);\n\n var feature = new ol.Feature(_extends({\n geometry: new ol.geom.Point(ol.proj.transform([parseFloat(item.lon), parseFloat(item.lat)], 'EPSG:4326', _gui2.default.getService('map').getEpsg()))\n }, _item));\n\n feature.setId(__uid);\n source.addFeature(feature);\n _gui2.default.getService('map').zoomToFeatures([feature]);\n item.__selected = true;\n this.showMarkerResults([feature]);\n }\n } catch (e) {\n console.warn(e);\n }\n },\n showMarkerResults: function () {\n var _ref4 = _asyncToGenerator(function* (features) {\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.results_panel_open && toggle) {\n _gui2.default.closeContent();\n return;\n }\n\n if (_gui2.default.getCurrentContent()) {\n yield _gui2.default.closeContent();\n }\n _gui2.default.showQueryResults('Geocoding', { data: [{ layer: LAYER, features: features || LAYER.getSource().getFeatures() }] });\n this.results_panel_open = true;\n });\n\n function showMarkerResults(_x3) {\n return _ref4.apply(this, arguments);\n }\n\n return showMarkerResults;\n }(),\n _editItem: function () {\n var _ref5 = _asyncToGenerator(function* (layerId, feature) {\n var editing = _plugins2.default.getPlugin('editing');\n\n if (!editing) {\n return;\n }\n\n this.disabled = true;\n try {\n var type = (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getGeometryType();\n\n var _feature = (0, _addZValueToOLFeatureGeometry.addZValueToOLFeatureGeometry)({\n geometryType: type,\n feature: new ol.Feature(_extends({}, Object.entries(feature.attributes).reduce(function (acc, attr) {\n return _extends({}, acc, _defineProperty({}, attr[0].replace(feature.attributes.provider + '_', '').toLowerCase(), attr[1]));\n }, {}), feature.attributes, {\n geometry: (0, _convertSingleMultiGeometry.convertSingleMultiGeometry)(feature.geometry, type)\n }))\n });\n\n yield editing.getApi().addLayerFeature({ layerId: layerId, feature: _feature });\n } catch (e) {\n console.warn(e);\n }\n this.disabled = false;\n });\n\n function _editItem(_x4, _x5) {\n return _ref5.apply(this, arguments);\n }\n\n return _editItem;\n }()\n },\n\n created: function created() {\n var _this2 = this;\n\n var queryresults = _gui2.default.getService('queryresults');\n var mapService = _gui2.default.getService('map');\n var map = mapService.getMap();\n\n map.addLayer(LAYER);\n\n mapService.on('set-layer-zindex', function (_ref6) {\n var layer = _ref6.layer,\n zindex = _ref6.zindex;\n\n if (layer.get('id') !== LAYER.get('id')) {\n LAYER.setZIndex(zindex + 1);\n }\n });\n\n queryresults.registerVectorLayer(LAYER);\n\n _gui2.default.on('closecontent', function () {\n _this2.results_panel_open = false;\n });\n _gui2.default.onafter('setContent', function () {\n if (_this2.results_panel_open) _this2.results_panel_open = false;\n });\n\n queryresults.onafter('removeFeatureLayerFromResult', function (layer, feature) {\n if (LAYER.get('id') === layer.id) {\n _this2._removeItem(feature.id);\n }\n });\n\n queryresults.onafter('addActionsForLayers', function (actions, layers) {\n\n var layer = layers.find(function (l) {\n return LAYER.get('id') === l.id;\n });\n\n if (!layer) {\n return;\n }\n\n var editablePointLayers = (0, _getCatalogLayers.getCatalogLayers)({ EDITABLE: true, GEOLAYER: true }).filter(function (l) {\n return (0, _isPointGeometryType.isPointGeometryType)(l.getGeometryType());\n }).map(function (l) {\n return { id: l.getId(), name: l.getName(), inediting: l.isInEditing() };\n });\n\n if (editablePointLayers.find(function (l) {\n return l.inediting;\n })) {\n return;\n }\n\n queryresults.addCurrentActionToolsLayer({\n id: _QueryResultsActionChooseLayer2.default.name,\n layer: layer,\n action: {\n id: 'choose_layer',\n class: _gui2.default.getFontClass('pencil'),\n state: Vue.observable({ toggled: Array(layer.features.length).fill(null) }),\n toggleable: true,\n hint: 'Choose a layer',\n cbk: function cbk(layer, feature, action, index) {\n if (1 === editablePointLayers.length) {\n _this2._editItem(editablePointLayers[0].id, feature);\n return;\n }\n\n action.state.toggled[index] = !action.state.toggled[index];\n queryresults.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: action.state.toggled[index] ? _QueryResultsActionChooseLayer2.default : null\n });\n }\n },\n config: {\n layers: editablePointLayers,\n icon: 'pencil',\n label: 'mapcontrols.geocoding.choose_layer',\n nolayers: 'mapcontrols.geocoding.nolayers',\n cbk: _this2._editItem\n }\n });\n });\n },\n destroyed: function destroyed() {\n _gui2.default.getService('queryresults').unregisterVectorLayer(LAYER);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has_providers)?_c('div',{class:[ 'ol-geocoder', { 'g3w-disabled': _vm.disabled }]},[_c('div',{staticClass:\"gcd-txt-control\"},[_c('input',{ref:\"input\",staticClass:\"gcd-txt-input\",attrs:{\"type\":\"text\",\"id\":\"gcd-input-query\",\"autocomplete\":\"off\",\"placeholder\":_vm.placeholder},on:{\"keyup\":_vm.onQuery,\"input\":_vm.onValue}}),_vm._v(\" \"),_c('button',{ref:\"reset\",staticClass:\"gcd-txt-reset gcd-hidden\",attrs:{\"type\":\"button\",\"id\":\"gcd-input-reset\",\"title\":\"Reset search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onReset($event)}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"gcd-search\",\"title\":\"Submit search\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.query(_vm.$refs.input.value); })($event)}}},[_c('i',{class:_vm.$fa('search'),staticStyle:{\"color\":\"#fff\"},attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"gcd-trash\",\"title\":\"Clear markers selection\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMarkers($event)}}},[_c('i',{class:_vm.$fa('trash'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"markers-visibility-layer\",\"title\":\"Toggle markers visibility\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLayerVisibility($event)}}},[_c('i',{class:_vm.$fa(_vm.is_layer_visible ? 'eye-close': 'eye'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"show-markers-results\",\"title\":\"Toggle sidebar panel\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.showMarkerResults(undefined, true); })($event)}}},[_c('code',{style:({ opacity: _vm.results_panel_open ? 0.5 : undefined })},[_vm._v(\"\\n \"+_vm._s(_vm.features.length > 99 ? '99+' : _vm.features.length)+\"\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('ul',{ref:\"result\",staticClass:\"gcd-txt-result\"},_vm._l((_vm.results),function(item,i){return _c('li',{key:item.__uid,class:[\n item.provider,\n item.__icon ? 'gcd-icon-' + item.__icon : '',\n item.__heading ? 'skin-background-color' : '',\n item.__no_results ? 'gcd-noresult' : '',\n item.__selected ? 'selected' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.onItemClick($event, item)}}},[(item.__heading)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"5px\"}},[_c('span',{staticStyle:{\"color\":\"#FFF\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.label))])]):(item.__no_results)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.geocoding.noresults'),expression:\"'mapcontrols.geocoding.noresults'\"}]}):[_c('span',{class:_vm.$fa(item.__selected ? 'check' : 'uncheck'),staticStyle:{\"color\":\"#000\",\"padding\":\"5px\"}}),_vm._v(\" \"),('road' === item.__icon)?_c('i',{staticClass:\"fa fa-road\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}):('poi' === item.__icon)?_c('img',{staticClass:\"gcd-icon\",attrs:{\"src\":\"/static/client/images/pushpin.svg\",\"width\":\"24\",\"height\":\"24\"}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"\",\"draggable\":\"false\"}},[(item.type)?_c('div',{staticClass:\"gcd-type\"},[_vm._v(_vm._s(item.type))]):_vm._e(),_vm._v(\" \"),(item.name)?_c('div',{staticClass:\"gcd-name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_vm._v(\" \"),(item.address_name)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_name))]):_vm._e(),_vm._v(\" \"),(item.address_road || item.address_building || item.address_house_number)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_building)+\" \"+_vm._s(item.address_road)+\" \"+_vm._s(item.address_house_number))]):_vm._e(),_vm._v(\" \"),(item.address_city || item.address_town || item.address_village)?_c('div',{staticClass:\"gcd-city\"},[_vm._v(_vm._s(item.address_postcode)+\" \"+_vm._s(item.address_city)+\" \"+_vm._s(item.address_town)+\" \"+_vm._s(item.address_village))]):_vm._e(),_vm._v(\" \"),(item.address_state || item.address_country)?_c('div',{staticClass:\"gcd-country\"},[_vm._v(_vm._s(item.address_state)+\" \"+_vm._s(item.address_country))]):_vm._e()])]],2)}),0)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-547bdae4\"\n\n},{\"components/QueryResultsActionChooseLayer.vue\":94,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/addZValueToOLFeatureGeometry\":182,\"utils/convertSingleMultiGeometry\":188,\"utils/flattenObject\":201,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getUniqueDomId\":217,\"utils/isPointGeometryType\":225,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".ol-zoom-history[data-v-5ba4faea]{display:flex!important;gap:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"MapControlZoomHistory\",\n data: function data() {\n return {\n history: {\n index: 0,\n items: []\n }\n };\n },\n\n methods: {\n last: function last() {\n this.history.index--;\n this.setMapExtent();\n },\n next: function next() {\n this.history.index++;\n this.setMapExtent();\n },\n setMapExtent: function setMapExtent() {\n _gui2.default.getService('map').getMap().getView().fit(this.history.items[this.history.index]);\n }\n },\n computed: {\n hasEmptyHistory: function hasEmptyHistory() {\n return 0 === this.history.index && 1 === this.history.items.length || this.history.items.length - 1 === this.history.index;\n }\n },\n\n created: function created() {\n var _this = this;\n\n var map = _gui2.default.getService('map').getMap();\n var view = map.getView();\n\n this.history.items.push(view.calculateExtent(map.getSize()));\n\n this.changeKeyEvent = view.on('change', (0, _debounce.debounce)(function (evt) {\n if (_this.history.index !== _this.history.items.length - 1) {\n _this.history.items.splice(_this.history.index - _this.history.items.length + 1);\n }\n _this.history.items.push(evt.target.calculateExtent(map.getSize()));\n _this.history.index++;\n }, 600));\n },\n beforeDestroy: function beforeDestroy() {\n ol.Observable.unByKey(this.changeKeyEvent);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ol-zoom-history ol-unselectable ol-control\"},[_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_last'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_last'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.history.index),expression:\"0 === history.index\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.last($event)}}},[_c('i',{class:_vm.$fa('reply')})])]),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_next'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_next'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.hasEmptyHistory),expression:\"hasEmptyHistory\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.next($event)}}},[_c('i',{class:_vm.$fa('share')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5ba4faea\"\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],84:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-81ff9972]{margin:10px 0;position:relative;border:2px dashed #97a1a8;display:flex;flex-direction:column;text-align:center;gap:8px;opacity:.8}#addcustomlayer input[data-v-81ff9972]{position:absolute;outline:none;opacity:0;cursor:pointer;inset:0}#add_custom_url_wms_input[data-v-81ff9972]::placeholder{font-size:85%;opacity:.5}.g3w-wms-panel-title[data-v-81ff9972]{font-size:1.2em;font-weight:700;margin-bottom:10px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueColor = require('vue-color');\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _XHR = require('utils/XHR');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n RasterLayer: _imagelayer.RasterLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nfunction _CSVToArray(text) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n\n var pattern = new RegExp('(' + separator + '|\\r?\\n|\\r|^)' + '(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|' + '([^\"' + separator + \"\\r\\n]*))\", \"gi\");\n\n var data = [[]];\n var matches = null;\n\n while (matches = pattern.exec(text)) {\n if (matches[0] === '\\r\\n') {\n break;\n }\n\n if (matches[1].length && matches[1] !== separator) {\n data.push([]);\n }\n\n data.at(-1).push(matches[2] ? matches[2].replace(new RegExp('\"\"', 'g'), '\"') : matches[3]);\n }\n\n return data;\n}\n\nexports.default = {\n name: 'modal-addlayer',\n\n data: function data() {\n\n return {\n layer_type: undefined,\n file_type: null,\n layer_name: null,\n layer_crs: _application2.default.project.getProjection().getCode(),\n layer_color: {\n hex: '#194d33',\n rgba: { r: 25, g: 77, b: 51, a: 1 },\n a: 1\n },\n wms_config: null,\n wms_urls: [],\n wms_layers: [],\n url: null,\n id: null,\n olLayer: null,\n map_crs: _application2.default.project.getProjection().getCode(),\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n csv_x: null,\n csv_y: null,\n csv_wkt: null,\n csv_separator: ',',\n csv_loading: false,\n name: undefined,\n title: null,\n layers: [],\n projections: [],\n epsg: null,\n error_message: '',\n parse_errors: []\n };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n feature_count: function feature_count() {\n return this.olLayer && this.olLayer.getSource().getFeatures().length || 0;\n }\n },\n\n watch: {\n wms_layers: function wms_layers() {\n var _this = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (0 === layers.length) {\n this.epsg = null;\n this.projections = [];\n } else if (1 === layers.length) {\n this.epsg = this.wms_projections[layers.at(-1)].crss[0];\n this.projections = this.wms_projections[layers.at(-1)].crss;\n } else {\n this.projections = this.projections.filter(function (p) {\n return _this.wms_projections[layers.at(-1)].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref4) {\n var name = _ref4.name;\n return _this2.wms_projections[name].crss.includes(_this2.epsg);\n });\n });\n\n function epsg() {\n return _ref3.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function () {\n var _ref5 = _asyncToGenerator(function* (type, oldtype) {\n if (type && oldtype) {\n this.layer_type = undefined;\n yield this.$nextTick();\n this.layer_type = type;\n }\n if ('file' === oldtype) {\n this.unloadFile();\n }\n if ('wms' === oldtype) {\n this.unloadWMS();\n }\n });\n\n function layer_type(_x3, _x4) {\n return _ref5.apply(this, arguments);\n }\n\n return layer_type;\n }(),\n url: function url() {\n var _this3 = this;\n\n if (this.url && !this.wms_config && this.wms_urls.some(function (l) {\n return l.url == _this3.url;\n })) {\n this.id = this.wms_urls.find(function (l) {\n return l.url == _this3.url;\n }).id;\n }\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer_color = val;\n },\n parseFile: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var input = this.$refs.input_file;\n\n if (!input.accept.split(',').includes('.' + input.files[0].name.split('.').at(-1).toLowerCase())) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n if (_gui2.default.getService('map').getLayerByName(input.files[0].name)) {\n this.error_message = 'layer_is_added';\n return;\n }\n\n try {\n\n this.error_message = '';\n this.parse_errors = [];\n this.layer_name = input.files[0].name;\n this.file_type = input.files[0].name.split('.').at(-1).toLowerCase();\n this.layer_data = null;\n\n var epsg = ['zip', 'kml', 'kmz'].includes(this.file_type) ? 'EPSG:4326' : this.layer_crs;\n var features = [];\n var data = void 0;\n\n (this.fields || []).splice(0);\n if ('kmz' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n var zip = new JSZip();\n zip.load((yield input.files[0].arrayBuffer(input.files[0])));\n data = zip.file(/.kml$/i).at(-1).asText();\n }\n\n if ('zip' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n data = JSON.stringify((yield shp((yield input.files[0].arrayBuffer(input.files[0])))));\n }\n\n if ('csv' === this.file_type) {\n this.csv_loading = true;\n\n data = _CSVToArray((yield input.files[0].text()), this.csv_separator);\n var X = ['x', 'lng', 'longitude', 'longitudine'];\n var Y = ['y', 'lat', 'latitude', 'latitudine'];\n this.fields = data.shift();\n var wkt = this.fields.findIndex(function (f) {\n return 'wkt' === f.toLowerCase();\n });\n var x = this.fields.findIndex(function (f) {\n return X.includes(f.toLowerCase());\n });\n var y = this.fields.findIndex(function (f) {\n return Y.includes(f.toLowerCase());\n });\n this.csv_wkt = this.csv_wkt || this.fields[wkt];\n this.csv_x = this.csv_wkt || this.csv_x || this.fields[x] || this.fields[0];\n this.csv_y = this.csv_wkt || this.csv_y || this.fields[y] || this.fields[1];\n data.forEach(function (row, i) {\n var X = Number(row[x]);\n var Y = Number(row[y]);\n\n if (!_this4.csv_wkt && (Number.isNaN(X) || Number.isNaN(Y))) {\n return _this4.parse_errors.push({ row: i + 1, value: data[i] });\n }\n try {\n var feat = new ol.Feature(_extends({\n geometry: new ol.format.WKT().readGeometry(_this4.csv_wkt ? row[wkt] : 'POINT (' + X + ' ' + Y + ')', {\n dataProjection: _this4.layer_crs,\n featureProjection: _gui2.default.getService('map').getEpsg()\n })\n }, row.reduce(function (props, value, i) {\n props[_this4.fields[i]] = value;return props;\n }, {})));\n feat.setId(i);\n features.push(feat);\n } catch (e) {\n console.warn(e);\n }\n });\n\n this.csv_loading = false;\n }\n\n if (!data) {\n data = (yield input.files[0].text()) || {};\n }\n\n this.layer_data = data;\n\n if ('csv' !== this.file_type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[this.file_type].readFeatures(data, {\n dataProjection: epsg,\n featureProjection: _gui2.default.getService('map').getEpsg() || epsg\n });\n }\n\n if (['kml', 'kmz'].includes(this.file_type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (features.length > 0) {\n this.olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: this.layer_name,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n });\n this.fields = 'csv' === this.file_type ? this.fields : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n });\n }\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n });\n\n function parseFile() {\n return _ref6.apply(this, arguments);\n }\n\n return parseFile;\n }(),\n addLayer: function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n this.loading = true;\n\n if ('wms' === this.layer_type) {\n var name = (this.name || 'wms_' + (0, _getUniqueDomId.getUniqueDomId)()).trim();\n\n try {\n var data = this.getLocalWMSData();\n var found = this.wms_config && (data.wms[this.url] || []).some(function (wms) {\n return wms.layers.length === _this5.wms_layers.length && _this5.wms_layers.every(function (l) {\n return wms.layers.includes(l);\n });\n });\n\n if (found) {\n yield this.fetchWMS(this.url);\n }\n\n var config = {\n url: this.url,\n name: name,\n layers: this.wms_layers,\n epsg: this.epsg,\n position: this.position,\n visible: true,\n opacity: 1\n };\n\n data.wms[this.url] = data.wms[this.url] || [];\n data.wms[this.url].push(config);\n\n this.updateLocalWMSData(data);\n\n try {\n yield this._addExternalWMSLayer(config);\n } catch (e) {\n console.warn(e);\n _gui2.default.getService('map').removeExternalLayer(name);\n this.deleteWMS(name);\n setTimeout(function () {\n _gui2.default.showUserMessage({ type: 'warning', message: 'sidebar.wms.layer_add_error' });\n });\n }\n } catch (e) {\n console.warn(e);\n }\n if (this.wms_config) {\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n }\n }\n\n if ('file' === this.layer_type) {\n try {\n yield _projections2.default.registerProjection(this.layer_crs);\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.' + e;\n return;\n }\n try {\n yield _gui2.default.getService('map').addExternalLayer(this.olLayer, {\n crs: this.layer_crs,\n position: this.position,\n color: this.layer_color,\n field: this.field,\n persistent: !!this.persistent\n });\n $(this.$refs.modal_addlayer).modal('hide');\n this.unloadFile();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n }\n this.loading = false;\n });\n\n function addLayer() {\n return _ref7.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n unloadFile: function unloadFile() {\n this.error_message = '';\n this.parse_errors = [];\n this.loading = false;\n this.layer_name = null;\n this.file_type = null;\n this.layer_crs = _gui2.default.getService('map').getCrs();\n this.layer_color = { hex: '#194d33', rgba: { r: 25, g: 77, b: 51, a: 1 }, a: 1 };\n this.layer_data = null;\n this.olLayer = null;\n this.fields = [];\n this.field = null;\n this.csv_x = null;\n this.csv_y = null;\n this.csv_wkt = null;\n\n if (this.$refs.input_file) {\n this.$refs.input_file.value = null;\n }\n },\n unloadWMS: function unloadWMS() {\n this.error_message = '';\n this.wms_config = null;\n this.wms_layers = [];\n this.name = null;\n this.loading = false;\n },\n addWmsURL: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.loading = true;\n var wms = { url: this.url, id: this.id, show: true };\n var found = this.wms_urls.find(function (l) {\n return l.url === _this6.url;\n });\n try {\n var response = yield this.fetchWMS(this.url);\n if (!found && response) {\n var data = this.getLocalWMSData();\n this.wms_urls.push(wms);\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading = false;\n });\n\n function addWmsURL() {\n return _ref8.apply(this, arguments);\n }\n\n return addWmsURL;\n }(),\n deleteWmsUrl: function deleteWmsUrl(id) {\n this.wms_urls = this.wms_urls.filter(function (l) {\n return id !== l.id;\n });\n var data = this.getLocalWMSData();\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n },\n _addExternalWMSLayer: function _addExternalWMSLayer() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref9.url,\n layers = _ref9.layers,\n name = _ref9.name,\n _ref9$epsg = _ref9.epsg,\n epsg = _ref9$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref9$epsg,\n _ref9$position = _ref9.position,\n position = _ref9$position === undefined ? 'top' : _ref9$position,\n opacity = _ref9.opacity,\n _ref9$visible = _ref9.visible,\n visible = _ref9$visible === undefined ? true : _ref9$visible;\n\n return new Promise(function (res, rej) {\n var wmslayer = new _imagelayer.RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: ol.proj.get(epsg), url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n _gui2.default.getService('map').addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n },\n fetchWMS: function () {\n var _ref10 = _asyncToGenerator(function* (url) {\n this.loading = true;\n try {\n this.loading = false;\n var config = yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url || this.url, service: \"wms\" })\n });\n\n console.log(config);\n\n if (!config.result) {\n throw 'invalid response';\n }\n\n config.wmsurl = url || this.url;\n\n if (config.methods && config.methods.GetMap) {\n this.url = (config.methods.GetMap.urls || []).find(function (u) {\n return 'Get' === u.type;\n }).url;\n } else {\n this.url = config.wmsurl;\n }\n\n this.title = config.title;\n this.name = config.title + ' ' + (0, _getUniqueDomId.getUniqueDomId)();\n\n this.wms_projections = config.layers.reduce(function (projections, _ref11) {\n var name = _ref11.name,\n crss = _ref11.crss,\n title = _ref11.title;\n\n projections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n return projections;\n }, {});\n\n this.layers = config.layers;\n\n this.wms_config = config;\n this.error_message = null;\n } catch (e) {\n console.warn(e);\n this.error_message = e;\n }\n this.loading = false;\n });\n\n function fetchWMS(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return fetchWMS;\n }(),\n deleteWMS: function deleteWMS(name) {\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (w) {\n return w.name == name;\n });\n\n if (-1 !== i) {\n data.wms[url].splice(i, 1);\n }\n\n if (-1 !== i && 0 == data.wms[url].length) {\n delete data.wms[url];\n }\n return true;\n });\n this.updateLocalWMSData(data);\n },\n changeLayerData: function changeLayerData(name) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (l) {\n return l.name == name;\n });\n if (-1 !== i) {\n data.wms[url][i][attr.key] = attr.value;\n return true;\n }\n });\n this.updateLocalWMSData(data);\n },\n getLocalWMSData: function getLocalWMSData() {\n var item = window.localStorage.getItem('externalwms');\n return ((item ? JSON.parse(item) : undefined) || {})[_application2.default.project.getId()];\n },\n updateLocalWMSData: function updateLocalWMSData(data) {\n var item = window.localStorage.getItem('externalwms');\n var alldata = (item ? JSON.parse(item) : undefined) || {};\n alldata[_application2.default.project.getId()] = data;\n try {\n window.localStorage.setItem('externalwms', JSON.stringify(alldata));\n } catch (e) {\n console.warn(e);\n }\n }\n },\n\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this7.layer_type = undefined;\n _this7.url = null;\n _this7.id = null;\n _this7.unloadFile();\n _this7.unloadWMS();\n });\n\n yield _gui2.default.isReady();\n yield _gui2.default.getService('map').isReady();\n\n this.deleteWMS = this.deleteWMS.bind(this);\n\n _gui2.default.getService('map').on('remove-external-layer', this.deleteWMS);\n\n var data = this.getLocalWMSData();\n\n if (undefined === data) {\n data = {\n urls: [],\n wms: {} };\n this.updateLocalWMSData(data);\n }\n\n setTimeout(function () {\n var map = _gui2.default.getService('map');\n map.on('change-layer-position-map', function () {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref13.id,\n position = _ref13.position;\n\n return _this7.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref14.id,\n opacity = _ref14.opacity;\n\n return _this7.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref15.id,\n visible = _ref15.visible;\n\n return _this7.changeLayerData(name, { key: 'visible', value: visible });\n });\n\n Object.keys(data.wms).forEach(function (url) {\n data.wms[url].forEach(function (d) {\n return _this7._addExternalWMSLayer(_extends({ url: url }, d));\n });\n });\n });\n\n this.wms_urls = data.urls;\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unloadFile();\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').remove();\n\n _gui2.default.getService('map').off('remove-external-layer', this.deleteWMS);\n this.$data = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal_addlayer\",staticClass:\"modal fade\",attrs:{\"id\":\"modal-addlayer\",\"role\":\"dialog\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}],staticClass:\"modal-title\",staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_type'),expression:\"'layer_type'\"}]}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_type),expression:\"layer_type\"}],staticClass:\"form-control\",attrs:{\"id\":\"add-layer-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_type=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('choose_type'),expression:\"'choose_type'\"}],attrs:{\"disabled\":\"\"},domProps:{\"value\":undefined}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('remote_wms_url'),expression:\"'remote_wms_url'\"}],attrs:{\"value\":\"wms\"}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('local_file'),expression:\"'local_file'\"}],attrs:{\"value\":\"file\"}})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),('wms' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#wms\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config}},[_c('label',{attrs:{\"for\":\"add_custom_url_wms_input\"}},[_vm._v(\"URL\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.url),expression:\"url\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_url_wms_input\",\"placeholder\":\"http://example.org/?&service=WMS&request=GetCapabilities\",\"type\":\"url\",\"list\":\"wms_urls\",\"required\":\"\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(!_vm.wms_config)?_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('add_new_wms_url_help'),expression:\"'add_new_wms_url_help'\"}]}):_vm._e(),_vm._v(\" \"),_c('datalist',{attrs:{\"id\":\"wms_urls\"}},_vm._l((_vm.wms_urls),function(wms){return _c('option',{key:wms.id,domProps:{\"value\":wms.url}},[_vm._v(_vm._s(wms.id))])}),0)]),_vm._v(\" \"),(_vm.url && !_vm.wms_config && !_vm.loading)?_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config || _vm.wms_urls.some(function (l) { return l.url == _vm.url; })}},[_c('label',{attrs:{\"for\":\"add_custom_name_url_wms_input\",\"title\":\"required\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}]}),_vm._v(\" \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.id),expression:\"id\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_name_url_wms_input\",\"required\":\"\"},domProps:{\"value\":(_vm.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.id=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(null !== _vm.id && _vm.wms_urls.some(function (l) { return l.id === _vm.id; }) && _vm.wms_urls.every(function (l) { return l.url !== _vm.url; }))?_c('p',{staticStyle:{\"color\":\"red\",\"margin\":\"10px 0\"}},[_vm._v(\"\\n ⚠️ \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}]})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('button',{staticClass:\"btn btn-block btn-success\",attrs:{\"disabled\":!(_vm.id || '').trim() || _vm.wms_urls.some(function (l) { return l.id === _vm.id && l.url !== _vm.url; }) || !(_vm.url || '').trim().match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g)},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.addWmsURL($event)}}},[_c('b',{class:_vm.$fa('plus-square')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('connect_to_wms'),expression:\"'connect_to_wms'\"}]})]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('div',{staticClass:\"form-group\"},[_c('hr'),_vm._v(\" \"),_vm._l((_vm.wms_urls),function(wms){return _c('div',{key:wms.id,staticStyle:{\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"padding-top\":\"3px\"}},[_c('b',{staticStyle:{\"flex-grow\":\"1\",\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.id))]),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('connect_to_wms'),expression:\"'connect_to_wms'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('eye'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.deleteWmsUrl(wms.id)}}})]),_vm._v(\" \"),_c('small',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.url))])])})],2):_vm._e(),_vm._v(\" \"),(_vm.wms_config)?_c('fieldset',{attrs:{\"disabled\":_vm.loading}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('disconnect_from_wms'),expression:\"'disconnect_from_wms'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin-top\":\"15px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadWMS}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.wms_config.abstract)?_c('fieldset',{staticClass:\"form-group\",staticStyle:{\"border\":\"1px solid #c0c0c0\",\"padding\":\"4.9px 8.75px 8.75px 10.5px\",\"border-radius\":\"3px\"}},[_c('legend',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border\":\"1px solid\",\"border-radius\":\"50%\",\"background-color\":\"#222d32\",\"font-weight\":\"bold\",\"color\":\"#fff\",\"font-size\":\"0.7em\",\"text-align\":\"center\",\"margin\":\"0 -14px\",\"user-select\":\"none\"}},[_vm._v(\"i\")]),_vm._v(\"\\n \"+_vm._s(_vm.wms_config.abstract)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.layers'),expression:\"'sidebar.wms.panel.label.layers'\"}],attrs:{\"for\":\"g3w-wms-layers\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('wms_layers'),expression:\"'wms_layers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(l){return _c('option',{key:l.name,domProps:{\"value\":l.name}},[_vm._v(_vm._s(l.title))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.projections'),expression:\"'sidebar.wms.panel.label.projections'\"}],attrs:{\"for\":\"g3w-wms-projections\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('epsg'),expression:\"'epsg'\"}],attrs:{\"id\":\"g3w-wms-projections\"}},_vm._l((_vm.projections),function(p){return _c('option',[_vm._v(_vm._s(p))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}],attrs:{\"for\":\"g3w-wms-layer-name\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-wms-layer-name\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[(_vm.layer_data)?_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin\":\"5px 0 0 8px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadFile}},[_vm._v(\"×\")]):_vm._e(),_vm._v(\" \"),_c('form',{style:({ padding: _vm.layer_data ? '0' : '20px 0' }),attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"accept\":\".zip,.geojson,.GEOJSON,.kml,.kmz,.KMZ,.KML,.json,.gpx,.gml,.csv\"},on:{\"change\":_vm.parseFile}}),_vm._v(\" \"),_c('h4',{staticClass:\"skin-color\"},[(!_vm.layer_data)?_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}):(_vm.layer_name)?_c('b',[_vm._v(_vm._s(_vm.layer_name))]):_vm._e()]),_vm._v(\" \"),(!_vm.layer_data)?_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.layer_data)?_c('span',{staticStyle:{\"font-family\":\"Monospace\"}},[_vm._v(\".gml, .geojson, .kml, .kmz, .gpx, .csv, .zip (shapefile)\")]):_vm._e()]),_vm._v(\" \"),('csv' === _vm.file_type)?_c('div',{staticClass:\"form-group\",staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv_loading}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_separator'),expression:\"'mapcontrols.add_layer_control.select_csv_separator'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_separator),expression:\"csv_separator\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-separator\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_separator=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},[_c('option',[_vm._v(\",\")]),_vm._v(\" \"),_c('option',[_vm._v(\";\")])]),_vm._v(\" \"),(_vm.fields.length > 1 && !_vm.csv_wkt)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_x_field'),expression:\"'mapcontrols.add_layer_control.select_csv_x_field'\"}],attrs:{\"for\":\"g3w-select-x-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_x),expression:\"csv_x\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-x-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_x=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_y_field'),expression:\"'mapcontrols.add_layer_control.select_csv_y_field'\"}],attrs:{\"for\":\"g3w-select-y-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_y),expression:\"csv_y\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_y=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.csv_wkt)?[_c('label',{attrs:{\"for\":\"g3w-select-wkt-field\"}},[_vm._v(\"WKT\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_wkt),expression:\"csv_wkt\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_wkt=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(0 === _vm.fields.length)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_csv_fields'),expression:\"'no_csv_fields'\"}]}):_vm._e(),_vm._v(\" \"),(_vm.olLayer)?_c('small',{staticStyle:{\"color\":\"red\",\"display\":\"inline-block\",\"margin-top\":\"1em\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(\" \"+_vm._s(_vm.feature_count))]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://epsg.io/\" + ((_vm.layer_crs || '').toLowerCase().replace('epsg:', ''))),\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.layer_data || ['kmz', 'zip'].includes(_vm.file_type)}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_projection'),expression:\"'mapcontrols.add_layer_control.select_projection'\"}],attrs:{\"for\":\"projection-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_crs),expression:\"layer_crs\"}],staticClass:\"form-control\",attrs:{\"id\":\"projection-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_crs=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((new Set([_vm.map_crs, 'EPSG:3003','EPSG:3004', 'EPSG:3045', 'EPSG:3857', 'EPSG:4326', 'EPSG:6708', 'EPSG:23032', 'EPSG:23033', 'EPSG:25833', 'EPSG:32632', 'EPSG:32633'])),function(crs){return _c('option',[_vm._v(_vm._s(crs))])}),0)]),_vm._v(\" \"),(_vm.parse_errors.length)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"csv_parse_errors\"}},[_vm._v(\"⚠️ Parse errors:\")]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",staticStyle:{\"background-color\":\"gold\",\"font-family\":\"Monospace\"},attrs:{\"id\":\"csv_parse_errors\"}},_vm._l((_vm.parse_errors),function(ref){\nvar value = ref.value;\nvar row = ref.row;\nreturn _c('option',[_vm._v(\"[\"+_vm._s(row)+\"] \"+_vm._s(value))])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_data'),expression:\"'mapcontrols.add_layer_control.persistent_data'\"}],attrs:{\"for\":\"persistent-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.persistent),expression:\"persistent\"}],staticClass:\"form-control\",attrs:{\"id\":\"persistent-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.persistent=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('no'),expression:\"'no'\"}],domProps:{\"value\":false}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('yes'),expression:\"'yes'\"}],domProps:{\"value\":true}})]),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_help'),expression:\"'mapcontrols.add_layer_control.persistent_help'\"}]})]):_vm._e(),_vm._v(\" \"),((_vm.fields || []).length)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('label'),expression:\"'label'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.field),expression:\"field\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-field-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.field=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---\")]),_vm._v(\" \"),_vm._l((_vm.fields),function(f){return _c('option',{key:f,domProps:{\"value\":f}},[_vm._v(_vm._s(f))])})],2),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',[_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_color'),expression:\"'mapcontrols.add_layer_control.select_color'\"}],staticStyle:{\"font-weight\":\"700\"}}),_vm._v(\" \"),_c('chrome-picker',{staticStyle:{\"width\":\"100%\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer_color),callback:function ($$v) {_vm.layer_color=$$v},expression:\"layer_color\"}})],1):_vm._e()]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.error_message)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.error_message),expression:\"error_message\"}],staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"1.2em\",\"background-color\":\"orange\",\"padding\":\"10px\",\"text-align\":\"center\",\"margin-bottom\":\"5px\"}}):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":'wms' === _vm.layer_type ? !_vm.wms_layers.length : !_vm.layer_data},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81ff9972\"\n\n},{\"g3w-constants\":126,\"map/layers/imagelayer\":155,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getUniqueDomId\":217,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],85:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-1cd24885]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-1cd24885]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-1cd24885]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-1cd24885]:hover{opacity:1}.menu-item-image img[data-v-1cd24885]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-1cd24885]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-1cd24885]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-1cd24885]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar get_macro = function () {\n var _ref = _asyncToGenerator(function* (id) {\n get_macro[id] = get_macro[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/') }));\n return get_macro[id];\n });\n\n return function get_macro(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar get_group = function () {\n var _ref2 = _asyncToGenerator(function* (id) {\n get_group[id] = get_group[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/projects/') }));\n return get_group[id];\n });\n\n return function get_group(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _XHR = require('utils/XHR');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar LOGO_GIS3W = 'images/logo_gis3w_156_85.png';\n\nexports.default = {\n name: 'modal-changemap',\n\n data: function data() {\n return {\n state: null,\n\n loading: false,\n\n current: 'projects',\n\n items: [],\n\n parent: null,\n\n steps: [],\n\n curr_group: null\n\n };\n },\n\n\n methods: {\n back: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var last_step = this.steps.pop();\n var has_steps = this.steps.length > 0;\n var item = has_steps && this.steps[this.steps.length - 1];\n if (has_steps && undefined !== item.macrogroup_id || !has_steps && undefined === last_step && Array.isArray(this.parent.macrogroup_id) && this.parent.macrogroup_id.length > 0) {\n var macrogroup_id = has_steps ? item.macrogroup_id : this.parent.macrogroup_id;\n var add = !has_steps;\n return this.showMacroGroups(macrogroup_id, add);\n }\n\n if (has_steps && undefined === item.macrogroup_id) {\n return this.showGroups(item, false);\n }\n\n if (!has_steps) {\n return this.showRoot();\n }\n });\n\n function back() {\n return _ref3.apply(this, arguments);\n }\n\n return back;\n }(),\n showMacroGroups: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var macrogroup_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (1 === macrogroup_id.length) {\n this.parent = this.macrogroups.find(function (mg) {\n return mg.id === macrogroup_id[0];\n });\n return yield this.showGroups(this.parent);\n }\n\n this.items = this.macrogroups.filter(function (m) {\n return macrogroup_id.includes(m.id);\n });\n this.current = 'macrogroups';\n this.parent = {\n macrogroup_id: macrogroup_id,\n title: null,\n name: null };\n\n if (addStep) {\n this.steps.push(this.parent);\n }\n });\n\n function showMacroGroups() {\n return _ref4.apply(this, arguments);\n }\n\n return showMacroGroups;\n }(),\n showGroups: function () {\n var _ref5 = _asyncToGenerator(function* (item) {\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = yield get_macro(item.id);\n this.current = 'groups';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n if (addStep) {\n this.steps.push(this.parent);\n }\n this.loading = false;\n }\n });\n\n function showGroups(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return showGroups;\n }(),\n showProjects: function () {\n var _ref6 = _asyncToGenerator(function* (item) {\n var _this = this;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = this.parent.id === this.curr_group ? (0, _getListableProjects.getListableProjects)() : yield get_group(item.id, function (item) {\n return _this.setItemImageSrc({ item: item, type: 'project' });\n });\n this.current = 'projects';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n this.steps.push(this.parent);\n this.loading = false;\n }\n });\n\n function showProjects(_x7) {\n return _ref6.apply(this, arguments);\n }\n\n return showProjects;\n }(),\n showRoot: function showRoot() {\n this.current = 'root';\n this.items = [].concat(_toConsumableArray(this.macrogroups), _toConsumableArray(this.groups));\n this.steps = [];\n },\n changeMapProject: function () {\n var _ref7 = _asyncToGenerator(function* (item) {\n var url = void 0;\n var base_url = window.initConfig.urls.baseurl;\n var epsg = this.parent.srid ? 'EPSG:' + this.parent.srid : this.parent.crs.epsg;\n yield _projections2.default.registerProjection(epsg);\n try {\n new URL(base_url);\n url = '' + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n } catch (e) {\n url = '' + location.origin + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n }\n url = yield _gui2.default.getService('map').addMapExtentUrlParameterToUrl(url, epsg);\n history.replaceState(null, null, url);\n location.replace(url);\n });\n\n function changeMapProject(_x8) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapProject;\n }(),\n trigger: function () {\n var _ref8 = _asyncToGenerator(function* (item) {\n switch (this.current) {\n case 'root':\n return undefined === item.srid ? this.showGroups(item) : this.showProjects(item);\n case 'macrogroups':\n return this.showGroups(item);\n case 'groups':\n return yield this.showProjects(item);\n case 'projects':\n return yield this.changeMapProject(item);\n }\n });\n\n function trigger(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return trigger;\n }(),\n setItemImageSrc: function setItemImageSrc() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n item = _ref9.item,\n type = _ref9.type;\n\n switch (type) {\n case 'project':\n item.thumbnail = this._setSrc(item.thumbnail);break;\n case 'group':\n item.header_logo_img = this._setSrc(item.header_logo_img);break;\n case 'macrogroup':\n item.logo_img = this._setSrc(item.logo_img);break;\n\n case 'net_error':\n if (item.thumbnail || item.logo_img) {\n item.thumbnail = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n } else if (item.header_logo_img) {\n item.header_logo_img = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n }\n break;\n }\n },\n _setSrc: function _setSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var mediaurl = window.initConfig.mediaurl;\n var clienturl = window.initConfig.urls.clienturl;\n var has_media = src && src.includes(mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + mediaurl + src;\n } else {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n }\n\n return '' + host + imageSrc;\n }\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var config = window.initConfig;\n\n this.items = (0, _getListableProjects.getListableProjects)();\n this.parent = window.initConfig;\n this.curr_group = this.parent.id;\n this.macrogroups = config.macrogroups;\n this.groups = config.groups;\n\n Object.entries({ 'project': this.items, 'magrocroup': this.macrogroups, 'group': this.groups }).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n type = _ref12[0],\n d = _ref12[1];\n\n return d.forEach(function (item) {\n return _this2.setItemImageSrc({ item: item, type: type });\n });\n });\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-changemap\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"height\":\"80vh\"}},[('root' !== this.current)?_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"color\":\"#fff\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('change_session'),expression:\"'change_session'\",arg:\"bottom\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"font-size\":\"2em\",\"margin\":\"5px\",\"cursor\":\"pointer\",\"padding\":\"3px\",\"border\":\"2px solid #fff\",\"border-radius\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('i',{class:_vm.$fa('reply'),staticStyle:{\"color\":\"#FFF\"}})]),_vm._v(\" \"),(_vm.parent)?_c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('h3',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parent.title || _vm.parent.name))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.items.length)?_c('div',{staticClass:\"g3w-change-map-menu-container\"},_vm._l((_vm.items),function(item){return _c('div',{key:item.name,staticClass:\"menu-item\"},[_c('div',{staticClass:\"menu-item-image\",on:{\"click\":function($event){$event.stopPropagation();return _vm.trigger(item)}}},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":item.thumbnail || item.header_logo_img || item.logo_img,\"alt\":\"logo\"},on:{\"error\":function($event){return _vm.setItemImageSrc({ item: item, type: 'net_error' })}}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu-item-content\"},[_c('div',{staticClass:\"menu-item-text\"},[_c('h4',{staticClass:\"menu-item-title\"},[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(item.description)}})])])])}),0):_c('h3',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"no_other_\" + _vm.current)),expression:\"`no_other_${current}`\"}],staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-1cd24885\"\n\n},{\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getListableProjects\":209,\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'modal-login',\n\n computed: {\n login_url: function login_url() {\n return window.initConfig.user.login_url;\n }\n },\n\n methods: {\n onIframeLoaded: function onIframeLoaded(e) {\n var iframe = this.$refs.login_iframe.contentWindow.g3wsdk && this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;\n if (iframe && iframe.user && iframe.user.logout_url) {\n window.location.reload();\n }\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-login\",\"tabindex\":\"-1\",\"role\":\"document\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"height\":\"60%\",\"width\":\"60%\"}},[_c('div',{staticClass:\"modal-content\",staticStyle:{\"height\":\"100%\",\"background\":\"#d2d6de\",\"display\":\"grid\",\"grid-template-areas\":\"'iframe'\",\"place-items\":\"center\"}},[_c('button',{staticClass:\"close\",staticStyle:{\"position\":\"absolute\",\"inset\":\"0 0 auto auto\",\"padding\":\"10px 15px\"},attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"grid-area\":\"iframe\"}},[_vm._v(\"Loading..\")]),_vm._v(\" \"),_c('iframe',{ref:\"login_iframe\",staticStyle:{\"border\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"grid-area\":\"iframe\"},attrs:{\"loading\":\"lazy\",\"src\":_vm.login_url},on:{\"load\":_vm.onIframeLoaded}})])])])}\n__vue__options__.staticRenderFns = []\n\n},{}],87:[function(require,module,exports){\n(function (process){(function (){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-7923edc6]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-7923edc6]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-7923edc6]{color:var(--skin-success)}#project-catalog[data-v-7923edc6]{background:transparent}.modal-header.nav[data-v-7923edc6]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-7923edc6]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-7923edc6]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-7923edc6]{border-bottom-color:#222d32!important;border-bottom-width:4px;background-color:transparent!important;color:#2c3b41!important}.modal-header.nav li a.metadata-item-tab[data-v-7923edc6]{height:100%;margin:0;font-size:1.1em;border-top:0;border-right:0;border-left:0;border-bottom:4px solid #e2e2e2}.modal-header.nav li a[data-v-7923edc6]{text-align:center}.modal-header.nav li a i[data-v-7923edc6]{margin-right:5px}.metadata-item-tab[data-v-7923edc6]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-7923edc6]{position:absolute;bottom:10px;right:auto}.row-info[data-v-7923edc6]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-7923edc6]{font-weight:700}.h_100[data-v-7923edc6]{height:100%}#project-catalog[data-v-7923edc6]{position:relative;overflow:auto}.nav-tabs[data-v-7923edc6]{border-bottom:0 none}.metadata-label[data-v-7923edc6]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-7923edc6],.metadata-contact-label[data-v-7923edc6]{font-weight:700}.contact-icon[data-v-7923edc6]{margin-right:3px}.metadata-contact-row[data-v-7923edc6]{margin-bottom:5px}.layer_header[data-v-7923edc6]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-7923edc6]{font-weight:700}.layer-header-icon[data-v-7923edc6]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-7923edc6]{position:absolute;right:5px;color:#999}.layer-row[data-v-7923edc6]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-7923edc6]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li.active>a[data-v-7923edc6]:focus,.layer-nav-tabs>li.active>a[data-v-7923edc6]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-7923edc6]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li>a[data-v-7923edc6]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-7923edc6]:after{content:\\\"\\\";height:2px;position:absolute;width:100%;left:0;bottom:-1px;transition:all .25s ease 0s;transform:scale(0)}.layer-nav-tabs>li.active>a[data-v-7923edc6]:after,.layer-nav-tabs>li:hover>a[data-v-7923edc6]:after{transform:scale(1)}.layer-tab-content[data-v-7923edc6]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-7923edc6]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-7923edc6],.metadata-nav-tabs>li>a[data-v-7923edc6]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-7923edc6]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-7923edc6]:hover{background-color:transparent}.credit-title-logo[data-v-7923edc6]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-7923edc6]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-7923edc6]{width:50%!important}.customcredits[data-v-7923edc6]{margin-bottom:10px;margin-top:5px;text-align:center}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n\n name: \"modal-metadata\",\n\n data: function data() {\n var project = _application2.default.project.getState();\n var version = window.initConfig.version.split('-')[0].split('.');\n\n return {\n customcredits: false,\n powered_by: window.initConfig.powered_by,\n urls: window.initConfig.urls,\n docs_url: 'https://g3w-suite.readthedocs.io/en/v' + version[0].replace('v', '') + '.' + version[1] + '.x/',\n groups: Object.entries({\n general: ['title', 'name', 'description', 'abstract', 'keywords', 'fees', 'accessconstraints', 'contactinformation', 'wms_url'],\n spatial: ['crs', 'extent'],\n layers: ['layers']\n }).reduce(function (g, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n fields = _ref2[1];\n\n g[name] = fields.reduce(function (f, field) {\n var value = project.metadata && project.metadata[field] ? project.metadata[field] : project[field];\n if (value) {\n f[field] = { value: value, label: 'sdk.metadata.groups.' + name + '.fields.' + field };\n }\n return f;\n }, {});\n return g;\n }, {}),\n g3wsdk_info: ''\n };\n },\n\n\n methods: {\n showHideInfo: function showHideInfo(e) {\n var box = e.target.closest(\".layer_header\");\n box.querySelector(\".open-close\").classList.toggle('fa-plus');\n box.querySelector(\".open-close\").classList.toggle('fa-minus');\n },\n sanitizeValue: function sanitizeValue(value) {\n if (Array.isArray(value) || 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && null !== value) {\n value = Object.values(value).length ? value : '';\n }\n return value;\n },\n copy_g3wsdk_info: function copy_g3wsdk_info(e) {\n var range = document.createRange();\n range.selectNode(e.target);\n window.getSelection().removeAllRanges();\n window.getSelection().addRange(range);\n document.execCommand('copy');\n window.getSelection().removeAllRanges();\n alert('Copied to clipboard!');\n }\n },\n\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if (!!window.initConfig.credits) {\n try {\n var credits = yield _XHR.XHR.get({ url: window.initConfig.credits });\n this.customcredits = 'None' !== credits && credits;\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function mounted() {\n var _this = this;\n\n $('#modal-metadata').on('show.bs.modal', _asyncToGenerator(function* () {\n yield Promise.allSettled([new Promise(function (resolve) {\n return $script('https://unpkg.com/platform@1.3.6/platform.js', resolve);\n }), new Promise(function (resolve) {\n return _application4.default.complete ? resolve() : _application4.default.on('complete', resolve);\n })]);\n\n var platform = window.platform || {};\n\n _this.g3wsdk_info = ('\\n[g3wsdk.info]\\n\\n- g3w-admin: __' + initConfig.version + '__\\n- g3w-client: __' + \"3.11.0-alpha.1\" + '__\\n' + Object.entries(_application2.default.pluginsConfigs).map(function (p) {\n return ' - ' + p[0] + ': __' + p[1].version + '__';\n }).join('\\n') + '\\n- browser: __' + platform.name + ' ' + platform.version + '__\\n- operating system: __' + platform.os.toString() + '__\\n').trim();\n }));\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-metadata\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('ul',{staticClass:\"modal-header nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((['general', 'spatial', 'layers', 'credits']),function(tab){return _c('li',{class:{ active: 'general' === tab }},[_c('a',{class:'metadata-item-tab '+ tab,attrs:{\"data-toggle\":\"tab\",\"href\":'#metadata_' + tab}},[_c('i',{staticClass:\"action-button\",class:_vm.$fa(({ general: 'info', spatial: 'globe', layers: 'bars', credits: 'copyright' })[tab]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.'+ tab +'.title'),expression:\"'sdk.metadata.groups.'+ tab +'.title'\"}]})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"65vh\",\"max-height\":\"70vh\"},attrs:{\"id\":\"project-catalog\"}},[_c('div',{staticClass:\"tab-content\"},[_vm._l((['general', 'spatial']),function(item){return _c('div',{staticClass:\"tab-pane fade\",class:{ in: 'general' === item, active: 'general' === item },attrs:{\"id\":'metadata_' + item}},_vm._l((_vm.groups[item]),function(data,field){return _c('div',{staticClass:\"row row-info\"},[_c('div',{staticClass:\"wrap-content-tab\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(data.label),expression:\"data.label\"}],staticClass:\"col-sm-2 metadata-label\"}),_vm._v(\" \"),('keywords' === field || 'wms_url'=== field)?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',[_vm._v(_vm._s([].concat(data.value).join(', ')))])]):('abstract' === field || (!Array.isArray(data.value) && typeof data.value !== 'object'))?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]):('contactinformation' !== field)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,index){return _c('div',[('extent' === field)?_c('span',{staticClass:\"bbox-labels\"},[_vm._v(_vm._s((['MINX', 'MINY', 'MAXX', 'MAXY'])[index]))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,info){return _c('div',[_c('div',{staticClass:\"row metadata-contact-row\"},[_c('div',{staticClass:\"col-sm-2 metadata-contact-label\"},[_c('i',{staticClass:\"contact-icon\",class:_vm.$fa(({ contactelectronicmailaddress: 'mail', personprimary: 'user', contactvoicetelephone: 'mobile' })[info]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + info)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${info}`\"}]})]),_vm._v(\" \"),('personprimary' === info)?_c('div',{staticClass:\"col-sm-10\"},_vm._l((value),function(subvalue,key){return _c('div',[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + key)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${key}`\"}],staticClass:\"metadata-contact-label\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(subvalue))])])}),0):('contactelectronicmailaddress' === info )?_c('div',{staticClass:\"col-sm-10\"},[_c('a',{attrs:{\"href\":(\"mailto: \" + (_vm.sanitizeValue(value)))}},[_c('b',[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])]):_c('div',{staticClass:\"col-sm-10\"},[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])])}),0)])])}),0)}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_layers\"}},_vm._l((_vm.groups.layers.layers.value),function(layer){return _c('div',{staticClass:\"row-info\"},[_c('h4',{staticClass:\"layer_header\",attrs:{\"data-toggle\":\"collapse\",\"data-target\":(\"#\" + (layer.id))},on:{\"click\":_vm.showHideInfo}},[_c('i',{class:'layer-header-icon action-button ' + _vm.g3wtemplate.font['NoGeometry' === layer.geometrytype ? 'table' : 'map'],attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"layer-name\"},[_vm._v(_vm._s(layer.name))]),_vm._v(\" \"),_c('span',{staticClass:\"action-button open-close\",class:_vm.$fa('plus')})]),_vm._v(\" \"),_c('div',{staticClass:\"collapse\",attrs:{\"id\":layer.id}},[_c('ul',{staticClass:\"metadata-nav-tabs nav nav-tabs layer-nav-tabs\",attrs:{\"role\":\"tablist\"}},[_c('li',{staticClass:\"active spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.general'),expression:\"'sdk.metadata.groups.layers.groups.general'\"}],attrs:{\"href\":(\"#layer_general_\" + (layer.id)),\"aria-controls\":\"general\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]),_vm._v(\" \"),('NoGeometry' !== layer.geometrytype)?_c('li',{staticClass:\"spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.spatial'),expression:\"'sdk.metadata.groups.layers.groups.spatial'\"}],attrs:{\"href\":(\"#layer_spatial_\" + (layer.id)),\"aria-controls\":\"profile\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content layer-tab-content\"},[_c('div',{staticClass:\"tab-pane active\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_general_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['metadata.title', 'name', 'source', 'metadata.abstract', 'metadata.keywords', 'metadata.metadataurl.onlineresource', 'metadata.dataurl.onlineresources', 'metadata.attributes']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('metadata.title' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.title))]):_vm._e(),_vm._v(\" \"),('name' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.name))]):_vm._e(),_vm._v(\" \"),('source' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.source.type))]):_vm._e(),_vm._v(\" \"),('metadata.abstract' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",domProps:{\"innerHTML\":_vm._s(layer.metadata.abstract)}}):('metadata.keywords' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.keywords.join(', ')))]):('metadata.metadataurl.onlineresource' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.metadataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.metadataurl.onlineresources))])]):('metadata.dataurl.onlineresources' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.dataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.dataurl.onlineresources))])]):('metadata.attributes' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",staticStyle:{\"overflow\":\"auto\"}},[_c('table',{staticClass:\"table table-striped\",staticStyle:{\"background-color\":\"#eee !important\"}},[_c('thead',[_c('tr',_vm._l((layer.metadata.attributes[0]),function(value,header){return _c('th',[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('tbody',_vm._l((layer.metadata.attributes),function(a){return _c('tr',_vm._l((a),function(value,header){return _c('td',[_vm._v(_vm._s(value))])}),0)}),0)])]):_vm._e()]):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_spatial_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['crs', 'geometrytype', 'bbox', 'metadata.crs']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[('metadata.crs' === attr)?_c('div',{staticClass:\"col-md-2 col-sm-12 metadata-label\"},[_vm._v(\"CRS\")]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.crs.epsg))]):('geometrytype' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.geometrytype))]):('bbox' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.bbox),function(value,key){return _c('p',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(key))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):('metadata.crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.metadata.crs),function(crs){return _c('div',[_c('span',[_vm._v(_vm._s(crs))])])}),0):_vm._e()]):_vm._e()]})],2)])])])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_credits\"}},[(!!_vm.customcredits)?_c('div',{staticClass:\"customcredits\",domProps:{\"innerHTML\":_vm._s(_vm.customcredits)}}):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticClass:\"g3w-credits-block\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteFramework'),expression:\"'credits.g3wSuiteFramework'\"}],staticClass:\"credit-title-logo\",staticStyle:{\"padding\":\"5px\"}}),_vm._v(\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://g3wsuite.it/\"}},[_c('img',{staticClass:\"g3w-suite-logo\",attrs:{\"src\":((_vm.urls.clienturl) + \"images/g3wsuite_logo.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteDescription'),expression:\"'credits.g3wSuiteDescription'\"}],staticStyle:{\"margin-top\":\"10px\"}})]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('credits.productOf'),expression:\"'credits.productOf'\",arg:\"pre\"}],staticClass:\"credit-title-logo g3w-credits-block\",staticStyle:{\"font-size\":\"1em\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('a',{staticStyle:{\"text-align\":\"center!important\"},attrs:{\"href\":\"http://www.gis3w.it\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"img-responsive center-block\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"width\":\"60\",\"src\":((_vm.urls.clienturl) + \"images/logo_gis3w_156_85.png\"),\"alt\":\"\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('address',{staticStyle:{\"line-height\":\"1.3\",\"text-align\":\"center\",\"margin-top\":\"5px\",\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"5px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_vm._v(\"📍 Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"📱 +39 393 8534336\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"mailto:info@gis3w.it\"}},[_vm._v(\"✉️ info@gis3w.it\")])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"20px\"}},[_c('a',{attrs:{\"href\":_vm.docs_url,\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_vm._v(\"📖 Docs\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"mailto:info@gis3w.it?subject=Sponsoring%20G3W-SUITE%20development&body=Hi%20there,%20I'd%20like%20to%20fund%20some%20code%20changes:\"}},[_vm._v(\"❤️ Sponsor\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/g3w-suite\"}},[_vm._v(\"🐞 Report a bug\")])]):_vm._e(),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),(_vm.powered_by && _vm.g3wsdk_info)?_c('pre',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":\"click to copy\"},on:{\"click\":_vm.copy_g3wsdk_info}},[_vm._v(_vm._s(_vm.g3wsdk_info))]):_vm._e()])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7923edc6\"\n\n}).call(this)}).call(this,require('_process'))\n},{\"_process\":1,\"services/application\":171,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],88:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print .select2-container--open{width:100%}#print .select2-container--open input.select2-search__field{color:#555;width:100%}#print.treeview-menu .select2.select2-container{display:block}\\n.print-labels-content[data-v-9e025612]{margin-top:5px;color:#fff}.print-labels-content>span.skin-color[data-v-9e025612]{font-weight:700;font-size:1.1em;display:block;border-bottom:2px solid #fff;margin-bottom:5px}.print-labels-content>.labels-input-content[data-v-9e025612]{max-height:120px;overflow-y:auto}label[data-v-9e025612]{color:#fff}.box-footer[data-v-9e025612]{background-color:transparent}#printbutton[data-v-9e025612]{width:100%;font-weight:700;background-color:var(--skin-color)}#fid-print-atals-instruction[data-v-9e025612]{margin-top:5px;color:#fff}#fids_intruction[data-v-9e025612]{white-space:pre-line}#fids_examples_values[data-v-9e025612]{margin-top:3px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _PrintPage = require('components/PrintPage.vue');\n\nvar vueComp = _interopRequireWildcard(_PrintPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'print',\n\n mixins: [_resize2.default],\n\n data: function data() {\n this.init();\n return {\n state: this.state || {},\n disabled: false,\n\n atlas_values: []\n };\n },\n\n\n computed: {\n has_maps: function has_maps() {\n return (this.state.maps || []).length > 0;\n },\n has_autocomplete: function has_autocomplete() {\n return !!(this.state.atlas && this.state.atlas.field_name);\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n init: function init() {\n this._init = undefined !== this._init ? this._init : false;\n this._moveKey = this._moveKey || null;\n this._page = this._page || null;\n this._resolutions = this._resolutions || {};\n\n var print = _application2.default.project.getPrint() || [];\n var visible = print.length > 0;\n\n var PRINT_FORMATS = [{ value: 'png', label: 'PNG' }, { value: 'jpg', label: 'JPG' }, { value: 'svg', label: 'SVG' }, { value: 'pdf', label: 'PDF' }, { value: 'geopdf', label: 'GEOPDF' }];\n\n this.state = Object.assign(this.state || {}, {\n visible: visible,\n print: print,\n loading: false,\n downloading: false,\n url: null,\n layers: true,\n maps: visible ? print[0].maps : undefined,\n labels: visible ? print[0].labels : undefined,\n template: visible ? print[0].name : undefined,\n atlas: visible ? print[0].atlas : undefined,\n rotation: visible ? 0 : undefined,\n inner: [0, 0, 0, 0],\n scales: [],\n scale: visible ? null : undefined,\n dpis: [150, 300],\n dpi: 150,\n formats: PRINT_FORMATS,\n format: PRINT_FORMATS[0].value\n });\n\n this.print_extent = null;\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n },\n changeTemplate: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n if (!this.state.template) {\n return;\n }\n\n yield this.$nextTick();\n\n if (this.select2) {\n this.select2.select2('destroy');\n this.select2.off();\n this.select2 = null;\n }\n\n this.disabled = false;\n\n var has_previous = this.state.atlas || 0 === this.state.maps.length;\n var print = this.state.print.find(function (p) {\n return p.name === _this.state.template;\n });\n\n Object.assign(this.state, {\n maps: print.maps,\n atlas: print.atlas,\n labels: print.labels\n });\n\n this.atlas_values = [];\n\n if (this.state.atlas) {\n this._clearPrint();\n this.initSelect2Field();\n } else if (has_previous) {\n this.showPrintArea(true);\n } else {\n this._setPrintArea();\n }\n\n yield this.$nextTick();\n });\n\n function changeTemplate() {\n return _ref.apply(this, arguments);\n }\n\n return changeTemplate;\n }(),\n changeScale: function changeScale() {\n\n try {\n if (this.state.scale.includes(':')) {\n var scale = Number(this.state.scale.split(':')[1].trim());\n\n this.$refs.scales.children[this.$refs.scales.children.length - 1].value = scale;\n\n this.state.scale = scale;\n }\n } catch (e) {\n console.warn(e);\n this.state.scale = this.state.scales[0].value;\n }\n\n if (Number.isNaN(Number(this.state.scale)) || this.state.scale > this.state.scales[0].value) {\n this.state.scale = this.state.scales[0].value;\n }\n\n if (this.state.scale < 0) {\n this.state.scale = this.state.scales[this.state.scales.length - 1].value;\n }\n\n $(this.$refs.scales).val(this.state.scale).trigger('change');\n\n if (this.state.scale) {\n this._setPrintArea();\n }\n },\n changeDpi: function changeDpi() {\n if (Number.isNaN(Number(this.state.dpi))) {\n this.state.dpi = this.state.dpis[0];\n\n $(this.$refs.dpi).val(this.state.dpi).trigger('change');\n }\n },\n changeRotation: function changeRotation() {\n this.state.rotation = this.state.rotation >= 0 ? Math.min(this.state.rotation || 0, 360) : Math.max(this.state.rotation || 0, -360);\n _gui2.default.getService('map').setInnerGreyCoverBBox({ rotation: this.state.rotation });\n },\n isAxisOrientationInverted: function isAxisOrientationInverted() {\n return 'neu' === _gui2.default.getService('map').getProjection().getAxisOrientation();\n },\n getOverviewExtent: function getOverviewExtent() {\n var extent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var xmin = extent.xmin,\n xmax = extent.xmax,\n ymin = extent.ymin,\n ymax = extent.ymax;\n\n return (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n },\n getPrintExtent: function getPrintExtent() {\n var map = _gui2.default.getService('map').viewer.map;\n\n try {\n var _map$getCoordinateFro = map.getCoordinateFromPixel([this.state.inner[0], this.state.inner[1]]),\n _map$getCoordinateFro2 = _slicedToArray(_map$getCoordinateFro, 2),\n xmin = _map$getCoordinateFro2[0],\n ymin = _map$getCoordinateFro2[1];\n\n var _map$getCoordinateFro3 = map.getCoordinateFromPixel([this.state.inner[2], this.state.inner[3]]),\n _map$getCoordinateFro4 = _slicedToArray(_map$getCoordinateFro3, 2),\n xmax = _map$getCoordinateFro4[0],\n ymax = _map$getCoordinateFro4[1];\n\n this.print_extent = (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n } catch (e) {\n console.warn(e);\n }\n\n return this.print_extent;\n },\n print: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var has_atlas = !!this.state.atlas;\n var err = void 0;\n var response = void 0;\n\n this.state.loading = true;\n\n try {\n _gui2.default.disableSideBar(true);\n\n if (this._page) {\n yield (0, _promisify.promisify)(_gui2.default.closeContent());\n }\n\n if (has_atlas) {\n _application2.default.download = true;\n yield (0, _downloadFile.downloadFile)({\n url: (yield (0, _printAtlas.printAtlas)({\n template: this.state.template,\n field: this.state.atlas.field_name || '$id',\n values: this.atlas_values,\n download: true\n })).url,\n filename: this.state.template,\n mime_type: 'application/pdf'\n });\n }\n\n if (!has_atlas) {\n this.state.url = null;\n this.state.layers = true;\n\n this._page = new _g3wComponent2.default({ service: { state: this.state }, vueComponentObject: vueComp });\n\n _gui2.default.setContent({\n content: this._page,\n title: 'print',\n perc: 100\n });\n\n var has_theme = this.state.maps.some(function (m) {\n return undefined !== m.preset_theme;\n });\n var store = _application2.default.project.getLayersStore();\n var layers = store.getLayers({ PRINTABLE: { scale: this.state.scale }, SERVERTYPE: 'QGIS' }).reverse();\n var LAYERS = (layers || []).map(function (l) {\n return l.getPrintLayerName();\n }).join();\n var url = store.getWmsUrl();\n var mime_type = { pdf: 'application/pdf', jpg: 'image/jpeg', svg: 'image/svg' }[this.state.format] || this.state.format;\n var params = layers.length && new URLSearchParams(_extends({\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrint',\n TEMPLATE: this.state.template,\n DPI: this.state.dpi,\n STYLES: layers.map(function (l) {\n return l.getStyle();\n }).join(',')\n }, has_theme ? {} : { LAYERS: LAYERS }, {\n FORMAT: { png: 'png', pdf: 'application/pdf', geopdf: 'application/pdf' }[this.state.format] || this.state.format\n }, 'geopdf' === this.state.format ? { FORMAT_OPTIONS: 'WRITE_GEO_PDF:TRUE' } : {}, {\n CRS: store.getProjection().getCode(),\n filtertoken: _application2.default.tokens.filtertoken\n }, this.state.maps.map(function (m) {\n return {\n name: m.name,\n preset_theme: m.preset_theme,\n scale: m.overview ? m.scale : _this2.state.scale,\n extent: m.overview ? _this2.getOverviewExtent(m.extent) : _this2.getPrintExtent()\n };\n }).reduce(function (params, map) {\n var _extends2;\n\n return Object.assign(params, _extends((_extends2 = {}, _defineProperty(_extends2, map.name + ':SCALE', map.scale), _defineProperty(_extends2, map.name + ':EXTENT', map.extent), _defineProperty(_extends2, map.name + ':ROTATION', _this2.state.rotation), _extends2), has_theme && undefined === map.preset_theme ? _defineProperty({}, map.name + ':LAYERS', LAYERS) : {}));\n }, {}), (this.state.labels || []).reduce(function (params, label) {\n return Object.assign(params, _defineProperty({}, label.id, label.text));\n }, {}))).toString();\n\n var method = layers.length && ('geopdf' === this.state.format ? 'GET' : _application2.default.project.state.ows_method);\n\n response = yield 'GET' === method ? Promise.resolve({ ok: true }) : fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: params\n });\n\n this.state.url = 'GET' === method ? url + '?' + params : URL.createObjectURL((yield response.blob()));\n this.state.layers = !!response.ok;\n\n this._page.getInternalComponent().$on('hook:mounted', function () {\n return _this2.state.loading = false;\n });\n\n this._page.unmount = function () {\n _gui2.default.getService('map').viewer.map.once('postrender', _this2._setPrintArea.bind(_this2));\n var promise = _g3wComponent2.default.prototype.unmount.call(_this2._page);\n _this2._page = null;\n return promise;\n };\n }\n } catch (e) {\n if (response && !response.ok && 500 === response.status) {\n err = 500 === response.status ? 'Internal Server Error' : 'Request Failed';\n } else {\n err = e;\n }\n this.state.loading = false;\n\n _gui2.default.disableSideBar(false);\n console.warn(e);\n }\n\n this.state.loading = false;\n\n _application2.default.download = false;\n\n if (has_atlas || !this.state.layers) {\n _gui2.default.disableSideBar(false);\n }\n\n if (err) {\n console.warn(err);\n _gui2.default.notify.error(err || t(\"info.server_error\"));\n _gui2.default.closeContent();\n }\n });\n\n function print() {\n return _ref2.apply(this, arguments);\n }\n\n return print;\n }(),\n showPrintArea: function showPrintArea(show) {\n var _this3 = this;\n\n var reset = !show;\n if (reset && this.select2) {\n this.select2.val(null).trigger('change');\n }\n if (reset) {\n this.atlas_values = [];this.print_extent = null;\n }\n\n if (0 === this.state.print.length) {\n return;\n }\n _gui2.default.closeContent().then(function (component) {\n setTimeout(function () {\n var map = component.getService();\n map.getMap().once('postrender', function () {\n if (!show) {\n return _this3._clearPrint();\n }\n _this3._moveKey = map.viewer.map.on('moveend', _this3._setPrintArea.bind(_this3));\n _this3._initPrintConfig();\n\n if (undefined === _this3.state.atlas && _this3._setPrintArea()) {\n map.startDrawGreyCover();\n }\n });\n map.getMap().renderSync();\n });\n });\n },\n _setPrintArea: function _setPrintArea() {\n if (!this.has_maps) {\n this._clearPrint();\n return false;\n }\n var map = _gui2.default.getService('map').viewer.map;\n var size = map.getSize();\n var resolution = map.getView().getResolution();\n\n var _state$maps$find = this.state.maps.find(function (m) {\n return !m.overview;\n }),\n h = _state$maps$find.h,\n w = _state$maps$find.w;\n\n var res = resolution * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n var w2 = w / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var h2 = h / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var x = size[0] / 2,\n y = size[1] / 2;\n\n this.state.inner = [x - w2, y + h2, x + w2, y - h2];\n _gui2.default.getService('map').setInnerGreyCoverBBox({\n type: 'pixel',\n inner: this.state.inner,\n rotation: this.state.rotation\n });\n return true;\n },\n _clearPrint: function _clearPrint() {\n ol.Observable.unByKey(this._moveKey);\n this._moveKey = null;\n _gui2.default.getService('map').stopDrawGreyCover();\n },\n _setScales: function _setScales(maxRes) {\n var _this4 = this;\n\n var units = _gui2.default.getService('map').getMapUnits();\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(maxRes, units);\n var scales = _g3wConstants.PRINT_SCALES.sort(function (a, b) {\n return b.value - a.value;\n });\n var below = scales.filter(function (s) {\n return s.value < mapScale;\n });\n var above = scales.findLast(function (s) {\n return s.value >= mapScale;\n });\n this.state.scales = (above ? [above] : []).concat(below);\n this.state.scales.forEach(function (s) {\n return _this4._resolutions[s.value] = (0, _getResolutionFromScale.getResolutionFromScale)(s.value, units);\n });\n },\n _initPrintConfig: function _initPrintConfig() {\n var _this5 = this;\n\n var view = _gui2.default.getService('map').viewer.map.getView();\n if (!this._initialized) {\n this._setScales(view.getMaxResolution());\n this._initialized = true;\n }\n var resolution = view.getResolution();\n\n Object.entries(this._resolutions).find(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n scala = _ref5[0],\n res = _ref5[1];\n\n if (resolution <= res) {\n _this5.state.scale = scala;\n return true;\n }\n });\n },\n reload: function reload() {\n var _this6 = this;\n\n this.state.print = _application2.default.project.state.print || [];\n var visible = this.state.print.length > 0;\n var init = this._initialized;\n this.state.template = visible ? this.state.print[0].name : this.state.template;\n if (visible && !init) {\n this.init();\n }\n if (visible) {\n this._initPrintConfig();\n var map = _gui2.default.getService('map');\n map.on('changeviewaftercurrentproject', function () {\n _this6.state.scales = _g3wConstants.PRINT_SCALES;\n _this6._setScales(map.viewer.map.getView().getMaxResolution());\n });\n } else {\n this._clearPrint();\n }\n },\n initSelect2Field: function initSelect2Field() {\n var _this7 = this;\n\n this.select2 = $('#print_atlas_autocomplete').select2({\n width: '100%',\n multiple: true,\n dropdownParent: $(this.$refs.print_atlas),\n minimumInputLength: 1,\n ajax: {\n delay: 500,\n transport: function () {\n var _ref6 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getCatalogLayerById.getCatalogLayerById)(_this7.state.atlas.qgs_layer_id).getFilterData({\n suggest: _this7.state.atlas.field_name + '|' + d.data.q,\n unique: _this7.state.atlas.field_name\n })).map(function (v) {\n return { id: v, text: v };\n })\n });\n } catch (e) {\n console.warn(e);\n ko(e);\n }\n });\n\n function transport(_x2, _x3, _x4) {\n return _ref6.apply(this, arguments);\n }\n\n return transport;\n }()\n },\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n this.select2.on('select2:select', function (e) {\n _this7.atlas_values.push(e.params.data.id);\n });\n this.select2.on('select2:unselect', function (e) {\n _this7.atlas_values = _this7.atlas_values.filter(function (v) {\n return v != e.params.data.id;\n });\n });\n }\n },\n\n watch: {\n has_autocomplete: function () {\n var _ref7 = _asyncToGenerator(function* (b) {\n if (!b) {\n return;\n }\n yield this.$nextTick();\n this.initSelect2Field();\n });\n\n function has_autocomplete(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return has_autocomplete;\n }(),\n\n\n atlas_values: {\n immediate: true,\n handler: function () {\n var _ref8 = _asyncToGenerator(function* (vals) {\n var _this8 = this;\n\n if (this._skip_atlas_check || !this.state.atlas) {\n return;\n }\n if (this.has_autocomplete) {\n this.disabled = 0 === vals.length;\n return;\n }\n var validate = function validate(n) {\n return n && Number.isInteger(1 * n) && 1 * n >= 0 && 1 * n < _this8.state.atlas.feature_count || null;\n };\n var values = new Set();\n var value = (vals ? vals[0] : '') || '';\n value.split(',').filter(function (v) {\n return v;\n }).forEach(function (value) {\n if (!value.includes('-') && null !== validate(value)) {\n values.add(value);\n return;\n }\n var _values = value.split('-');\n var range = _values.filter(function (v) {\n return validate(v) !== null;\n });\n if (range.length === _values.length && range.reduce(function (bool, value, i) {\n return bool && (0 === i || range[i - 1] <= value);\n }, true)) {\n for (var i = 1; i < range.length; i++) {\n for (var j = range[i - 1]; j < range[i]; j++) {\n values.add(j + '');\n }\n }\n values.add(range[range.length - 1]);\n }\n });\n this._skip_atlas_check = true;\n this.atlas_values = Array.from(values);\n yield this.$nextTick();\n this._skip_atlas_check = false;\n this.disabled = '' === value.trim();\n });\n\n function handler(_x6) {\n return _ref8.apply(this, arguments);\n }\n\n return handler;\n }()\n },\n\n 'state.url': function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n var _this9 = this;\n\n if (!url) {\n return;\n }\n var timeout = void 0;\n\n try {\n\n yield this.$nextTick();\n\n timeout = setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this9.state.downloading = false;\n _gui2.default.showUserMessage({ type: 'alert', message: 'timeout' });\n }, _g3wConstants.TIMEOUT);\n\n var response = yield fetch(url);\n\n if (!response.ok) {\n throw response.statusText;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(e || t(\"info.server_error\"));\n _gui2.default.closeContent();\n } finally {\n clearTimeout(timeout);\n _gui2.default.disableSideBar(false);\n this.state.downloading = false;\n }\n });\n\n function stateUrl(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return stateUrl;\n }()\n\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n\n if (this.state.atlas) {\n this.initSelect2Field();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu\",attrs:{\"id\":\"print\"}},[_c('li',[(_vm.state.print.length)?_c('form',{staticClass:\"g3w-search-form form-horizonal\"},[_c('div',{staticClass:\"box-body\"},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}})],1),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.print.help\"}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.template'),expression:\"'sdk.print.template'\"}],attrs:{\"for\":\"templates\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.template'),expression:\"'state.template'\"}],staticClass:\"form-control\",style:({ marginBottom: this.state.atlas && '10px' }),attrs:{\"id\":\"templates\",\"select2_value\":_vm.state.template},on:{\"change\":_vm.changeTemplate}},_vm._l((_vm.state.print),function(print){return _c('option',{domProps:{\"value\":print.name}},[_vm._v(_vm._s(print.name))])}),0),_vm._v(\" \"),(!_vm.state.atlas)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.scale'),expression:\"'sdk.print.scale'\"}],attrs:{\"for\":\"scale\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"select2\",rawName:\"v-select2\",value:('state.scale'),expression:\"'state.scale'\"}],ref:\"scales\",staticClass:\"form-control\",attrs:{\"id\":\"scale\",\"select2_value\":_vm.state.scale,\"createTag\":true},on:{\"change\":_vm.changeScale}},_vm._l((_vm.state.scales),function(scale){return _c('option',{domProps:{\"value\":scale.value}},[_vm._v(_vm._s(scale.label))])}),0),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"dpi\"}},[_vm._v(\"dpi\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.dpi'),expression:\"'state.dpi'\"}],ref:\"dpi\",staticClass:\"form-control\",attrs:{\"id\":\"dpi\",\"select2_value\":_vm.state.dpi,\"createTag\":true},on:{\"change\":_vm.changeDpi}},_vm._l((_vm.state.dpis),function(dpi){return _c('option',[_vm._v(_vm._s(dpi))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.rotation'),expression:\"'sdk.print.rotation'\"}],attrs:{\"for\":\"rotation\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.rotation),expression:\"state.rotation\"}],staticClass:\"form-control\",attrs:{\"id\":\"rotation\",\"min\":\"-360\",\"max\":\"360\",\"type\":\"number\"},domProps:{\"value\":(_vm.state.rotation)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"rotation\", $event.target.value)},_vm.changeRotation]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.format'),expression:\"'sdk.print.format'\"}],attrs:{\"for\":\"format\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.format'),expression:\"'state.format'\"}],staticClass:\"form-control\",attrs:{\"id\":\"format\",\"select2_value\":_vm.state.format}},_vm._l((_vm.state.formats),function(format){return _c('option',{domProps:{\"value\":format.value}},[_vm._v(_vm._s(format.label))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.state.atlas)?_c('div',{ref:\"print_atlas\",staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[(_vm.has_autocomplete)?[_c('label',{attrs:{\"for\":\"print_atlas_autocomplete\"}},[_c('span',[_vm._v(_vm._s(_vm.state.atlas.field_name))])]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"print_atlas_autocomplete\",\"name\":_vm.state.atlas.field_name}})]:[_c('label',[_c('span',[_vm._v(\"fids [max: \"+_vm._s(_vm.state.atlas.feature_count - 1)+\"]\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.atlas_values),expression:\"atlas_values\"}],staticClass:\"form-control\",domProps:{\"value\":(_vm.atlas_values)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();},\"input\":function($event){if($event.target.composing){ return; }_vm.atlas_values=$event.target.value}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"fid-print-atals-instruction\"}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_instruction'),expression:\"'sdk.print.fids_instruction'\"}],attrs:{\"id\":\"fids_intruction\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_example'),expression:\"'sdk.print.fids_example'\"}],attrs:{\"id\":\"fids_examples_values\"}})])]],2):_vm._e(),_vm._v(\" \"),(_vm.state.labels && _vm.state.labels.length > 0)?_c('div',{staticClass:\"print-labels-content\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.labels'),expression:\"'sdk.print.labels'\"}],staticClass:\"skin-color\"}),_vm._v(\" \"),_c('div',{staticClass:\"labels-input-content\"},_vm._l((_vm.state.labels),function(label){return _c('span',{key:label.id},[_c('label',{attrs:{\"for\":(\"g3w_label_id_input_\" + (label.id))}},[_vm._v(\" \"+_vm._s(label.id))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(label.text),expression:\"label.text\"}],staticClass:\"form-control\",attrs:{\"id\":(\"g3w_label_id_input_\" + (label.id))},domProps:{\"value\":(label.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(label, \"text\", $event.target.value)}}})])}),0)]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"box-footer\"},[_c('span',[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"},{name:\"download\",rawName:\"v-download\"},{name:\"t\",rawName:\"v-t\",value:('create_print'),expression:\"'create_print'\"}],staticClass:\"sidebar-button-run btn\",attrs:{\"id\":\"printbutton\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.print($event)}}})])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"padding\":\"1em\",\"text-align\":\"center\"}},[_c('b',[_c('a',{attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/training_manual/map_composer/map_composer.html\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')}),_vm._v(\" Edit in QGIS\\n \")])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9e025612\"\n\n},{\"components/PrintPage.vue\":89,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/printAtlas\":231,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],89:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print-output[data-v-184574a6]{height:100%;position:relative}#print-output>iframe[data-v-184574a6]{border:0;width:100%;height:100%}.g3w-print-image-output[data-v-184574a6]{display:flex;flex-direction:column;position:relative;height:100%}#g3w-print-header[data-v-184574a6]{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:5px;margin-bottom:5px}#g3w-print-header button[data-v-184574a6]{font-weight:700}.g3w-print-url[data-v-184574a6]{height:100%;width:100%;position:relative;overflow-y:auto}.g3w-print-url>img[data-v-184574a6]{height:auto;max-width:100%}#print-output>h4[data-v-184574a6]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'print-page',\n\n data: function data() {\n var state = this.$options.service.state || {};\n return {\n state: state,\n\n format: state.format,\n ready: false\n };\n },\n\n\n methods: {\n downloadImage: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n _gui2.default.disableSideBar(true);\n this.state.downloading = true;\n if (['jpg', 'png', 'svg'].includes(this.format)) {\n yield this.imageToDataURL({ src: this.state.url, type: 'image/' + this.format });\n setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this.state.downloading = false;\n });\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function downloadImage() {\n return _ref.apply(this, arguments);\n }\n\n return downloadImage;\n }(),\n imageToDataURL: function imageToDataURL(_ref2) {\n var src = _ref2.src,\n _ref2$type = _ref2.type,\n type = _ref2$type === undefined ? 'image/jpeg' : _ref2$type,\n _ref2$callback = _ref2.callback,\n callback = _ref2$callback === undefined ? function () {} : _ref2$callback;\n\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.height = this.naturalHeight;\n canvas.width = this.naturalWidth;\n context.drawImage(this, 0, 0);\n var dataURL = canvas.toDataURL(type);\n callback(dataURL);\n resolve(dataURL);\n };\n image.onerror = reject;\n image.src = src;\n });\n }\n },\n\n watch: {\n ready: {\n handler: function handler(bool) {\n _gui2.default.setLoadingContent(!bool);\n },\n\n immediate: true\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this.state.url && 'POST' === _application2.default.project.state.ows_method) {\n window.URL.revokeObjectURL(this.state.url);\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"print-output\"}},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading && _vm.state.layers}})],1),_vm._v(\" \"),(_vm.state.layers)?[(['pdf', 'geopdf'].includes(_vm.format))?_c('iframe',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}}):_c('div',{staticClass:\"g3w-print-image-output\"},[_c('div',{attrs:{\"id\":\"g3w-print-header\"}},[_c('div',{class:{ 'g3w-disabled': !!(_vm.state.downloading && _vm.state.layers) }},[_c('a',{attrs:{\"href\":_vm.state.url,\"download\":(\"download.\" + _vm.format)}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sdk.print.download_image'),expression:\"'sdk.print.download_image'\",modifiers:{\"create\":true}}],staticClass:\"btn skin-button skin-tooltip-left\",class:_vm.$fa('download'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadImage($event)}}})])])]),_vm._v(\" \"),(_vm.state.url)?_c('div',{staticClass:\"g3w-print-url\"},[_c('img',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}})]):_vm._e()])]:_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.no_layers'),expression:\"'sdk.print.no_layers'\"}]})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-184574a6\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],90:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".project-menu[data-v-4c9dd89f]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-4c9dd89f]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-4c9dd89f]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-4c9dd89f]{padding:15px;background:hsla(0,0%,100%,.3)}.project-menu-item-text[data-v-4c9dd89f]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-4c9dd89f]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}#menu-projects[data-v-4c9dd89f]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-4c9dd89f]{display:flex;flex-wrap:wrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'projects-menu',\n\n data: function data() {\n return {\n state: null,\n loading: false\n };\n },\n\n\n methods: {\n trigger: function trigger(item) {\n if (item.cbk) this._initCallback(item);else if (item.href) window.open(item.href, '_blank');else if (item.route) _gui2.default.goto(item.route);else console.log(\"No action for \" + item.title);\n },\n _initCallback: function _initCallback(item) {\n var _this = this;\n\n this._toggleModal(true);\n item.cbk.call(item, { gid: item.gid }).then(function (promise) {\n promise.then(function (project) {\n if (project) document.title = project.state.html_page_title;\n }).fail(function () {\n _gui2.default.notify.error(\"

\" + t(\"error_map_loading\") + \"

\" + \"
\" + t(\"check_internet_connection_or_server_admin\") + \"
\");\n }).always(function () {\n _this._toggleModal(false);\n });\n });\n },\n _toggleModal: function _toggleModal(state) {\n _gui2.default.showFullModal({ show: state });\n _gui2.default.setLoadingContent(state);\n },\n logoSrc: function logoSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var has_media = src && src.includes(window.initConfig.mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + window.initConfig.mediaurl + src;\n } else {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n }\n\n return '' + host + imageSrc;\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"menu-projects\"}},[_c('div',{staticClass:\"row row-equal\"},[_vm._l((_vm.state.menuitems),function(menuitem){return _c('div',{key:menuitem.title,staticClass:\"col-xs-12 col-sm-4 project-menu\",on:{\"click\":function($event){return _vm.trigger(menuitem)}}},[_c('div',{staticClass:\"project-menu-item-image\"},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":_vm.logoSrc(menuitem.thumbnail)}})]),_vm._v(\" \"),_c('div',{staticClass:\"project-menu-item-content\"},[_c('div',{staticClass:\"project-menu-item-text\"},[_c('h4',{staticClass:\"project-menu-item-title\"},[_vm._v(_vm._s(menuitem.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(menuitem.description)}})])])])}),_vm._v(\" \"),(!_vm.state.menuitems.length)?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},[_c('h2',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_other_projects'),expression:\"'no_other_projects'\"}]})]):_vm._e()],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c9dd89f\"\n\n},{\"g3w-i18n\":129,\"services/gui\":173,\"vueify/lib/insert-css\":2}],91:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#query_builder[data-v-81e8d74e]{font-family:monospace;margin-bottom:0;height:100%;display:flex;flex-wrap:nowrap;flex-direction:column}#query_builder .select2.select2-container[data-v-81e8d74e]{font-weight:700}.querybuilder-title[data-v-81e8d74e]{color:#fff;font-weight:700}select[data-v-81e8d74e]{background-color:#fff;color:#000;border:none}option[data-v-81e8d74e]{padding:8px;cursor:pointer}option[data-v-81e8d74e]:checked{background:var(--skin-color) linear-gradient(0deg,var(--skin-color),var(--skin-color));color:#fff}option[data-v-81e8d74e]:nth-of-type(odd){background-color:#f9f9f9}.query_builder_button[data-v-81e8d74e]{margin:1px;flex-basis:78px;flex-grow:1;color:#000}.content-wrap[data-v-81e8d74e]{display:flex;flex-wrap:wrap}.content-end[data-v-81e8d74e]{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.margin-between-element[data-v-81e8d74e]{margin-bottom:5px}#query_builder_expression_content[data-v-81e8d74e]{width:100%;resize:none;height:100px;color:#000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'query-builder',\n\n data: function data() {\n return {\n edit: undefined !== this.$options.options,\n currentlayer: null,\n message: '',\n filter: undefined !== this.$options.options ? this.$options.options.filter : '',\n loading: {\n test: false,\n values: false\n },\n values: [],\n manual: true,\n manualvalue: null,\n select: {\n field: null,\n value: null\n }\n };\n },\n\n\n computed: {\n fields: function fields() {\n return this.currentlayer ? this.currentlayer.fields : [];\n },\n disabled: function disabled() {\n return !this.filter;\n }\n },\n\n watch: {\n 'select.field': function selectField() {\n this.values = [];\n this.manual = true;\n }\n },\n\n methods: {\n addToExpression: function addToExpression() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref.value,\n type = _ref.type;\n\n switch (type) {\n case 'operator':\n value = ' ' + value + ' ';break;\n case 'field':\n value = '\"' + value + '\"';break;\n case 'value':\n value = '\\'' + value + '\\'';break;\n }\n if (value) this.filter = '' + this.filter + value;\n },\n all: function () {\n var _ref2 = _asyncToGenerator(function* () {\n this.loading.values = true;\n try {\n var layerId = this.currentlayer.id;\n var field = this.select.field;\n var CACHE = _application2.default.querybuilder.cache;\n CACHE[layerId] = CACHE[layerId] || {};\n if (undefined !== CACHE[layerId][field]) {\n this.values = CACHE[layerId][field];\n } else {\n var response = yield _XHR.XHR.get({\n url: (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getUrl('data'),\n params: { ordering: field, formatter: 1, fformatter: field }\n });\n if (response.result) {\n CACHE[layerId][field] = CACHE[layerId][field] || response.data;\n }\n this.values = CACHE[layerId][field] || [];\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading.values = false;\n yield this.$nextTick();\n this.manualvalue = null;\n this.manual = false;\n });\n\n function all() {\n return _ref2.apply(this, arguments);\n }\n\n return all;\n }(),\n reset: function reset() {\n this.filter = '';\n this.message = '';\n this.filterElement.previous = null;\n this.filterElement.current = null;\n this.filterElement.operator = null;\n this.select.field = null;\n if (this.$refs.search_fields) {\n this.$refs.search_fields.selectedIndex = -1;\n }\n if (this.$refs.search_values) {\n this.$refs.search_values.selectedIndex = -1;\n }\n },\n run: function () {\n var _ref3 = _asyncToGenerator(function* () {\n try {\n this.loading.test = true;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id);\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: this.filter }),\n feature_count: 100\n },\n outputs: true\n }),\n data = _ref4.data;\n\n var n = data.length && data[0].features.length;\n this.message = undefined !== n ? ' ' + n : '';\n return data;\n } catch (e) {\n console.warn(e);\n } finally {\n this.loading.test = false;\n }\n });\n\n function run() {\n return _ref3.apply(this, arguments);\n }\n\n return run;\n }(),\n save: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var id = this.projectId || _application2.default.project.getId();\n var edit_id = this.edit && this.$options.options.id;\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var searches = item ? JSON.parse(item) : undefined;\n\n var query = void 0;\n\n try {\n query = {\n layerId: this.currentlayer.id,\n filter: this.filter,\n layerName: (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id).getName(),\n name: edit_id ? this.edit && this.$options.options.name : yield new Promise(function (res, rej) {\n _gui2.default.dialog.prompt(t('sdk.querybuilder.additem'), function (d) {\n return d ? res(d) : rej();\n });\n }),\n id: edit_id || (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n if (edit_id) {\n var i = searches[id].findIndex(function (s) {\n return s.id === query.id;\n });\n if (-1 !== i) {\n searches[id][i] = query;\n }\n } else {\n _gui2.default.getService('search').state.querybuildersearches.push(query);\n if (undefined === searches) {\n searches = _defineProperty({}, id, [query]);\n } else {\n searches[id] = [].concat(_toConsumableArray(searches[id] || []), [query]);\n }\n }\n } catch (e) {\n console.warn(e);\n return;\n }\n\n var ITEMS = _application2.default.querybuilder.searches;\n\n try {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(searches));\n } catch (e) {\n console.warn(e);\n }\n\n setTimeout(function () {\n searches[id].forEach(function (q) {\n return ITEMS[id].push(q);\n });\n }, 0);\n ITEMS[id].splice(0);\n _gui2.default.showUserMessage({ type: 'success', message: t(\"sdk.querybuilder.messages.changed\"), autoclose: true });\n });\n\n function save() {\n return _ref5.apply(this, arguments);\n }\n\n return save;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.filterElement = {\n current: null,\n previous: null,\n operator: null\n };\n\n var project = _application2.default.project;\n\n this.layers = project.getLayers().filter(function (l) {\n return !l.baselayer && Array.isArray(l.fields);\n }).map(function (layer) {\n var exclude = [];\n project.state.relations.filter(function (r) {\n return layer.id === r.referencedLayer && 'ONE' === r.type;\n }).forEach(function (r) {\n var l = project.getLayerById(r.referencingLayer);\n r.customPrefix = r.customPrefix === undefined ? l.getName() + '_' : r.customPrefix;\n exclude = [].concat(_toConsumableArray(exclude), _toConsumableArray(l.getFields().map(function (field) {\n return '' + r.customPrefix + field.name;\n })));\n });\n return {\n id: layer.id,\n label: layer.title,\n fields: layer.fields.filter(function (f) {\n return f.show;\n }).map(function (f) {\n return { label: f.label, name: f.name };\n }).filter(function (f) {\n return !exclude.includes(f);\n })\n };\n });\n\n this.operators = Object.values(_g3wConstants.FILTER_OPERATORS);\n\n this.currentlayer = this.edit ? this.layers.find(function (l) {\n return l.id === _this.$options.options.layerId;\n }) : this.layers[0];\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.select2 = $('#query_builder_layers_select').select2({ width: '100%' });\n\n if (this.edit) {\n this.select2.val(this.layers.indexOf(this.currentlayer));\n this.select2.trigger('change');\n }\n\n this.select2.on('select2:select', function (e) {\n _this2.currentlayer = _this2.layers[e.params.data.id];\n _this2.select.field = null;\n _this2.select.value = null;\n _this2.reset();\n });\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.select2.select2('destroy');\n this.select2 = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"query_builder\"}},[_c('div',{staticClass:\"margin-between-element\",attrs:{\"id\":\"query_builder_layers\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.expression'),expression:\"'sdk.querybuilder.panel.expression'\"}],staticClass:\"querybuilder-title\"}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#search-and-query-builder\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"query_builder_layers_select\"}},_vm._l((_vm.layers),function(layer,i){return _c('option',{key:layer.label,staticClass:\"bold\",domProps:{\"value\":i}},[_vm._v(_vm._s(layer.label))])}),0)]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],attrs:{\"id\":\"query_builder_expression_content\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filter=$event.target.value}}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.test}}),_vm._v(\" \"),_c('b',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],staticClass:\"skin-color\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"content-end\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.run'),expression:\"'sdk.querybuilder.panel.button.run'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.run}},[_c('i',{class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.clear'),expression:\"'sdk.querybuilder.panel.button.clear'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":_vm.reset}},[_c('i',{class:_vm.$fa('clear')})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.save'),expression:\"'sdk.querybuilder.panel.button.save'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.save}},[_c('i',{class:_vm.$fa('save')})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.fields'),expression:\"'sdk.querybuilder.panel.fields'\"}]}),_vm._v(\" \"),_c('select',{ref:\"search_fields\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field.name,on:{\"click\":function($event){_vm.select.field = field.name; _vm.addToExpression({ value: field.name, type: 'field' })}}},[_vm._v(_vm._s(field.label))])})],2),_vm._v(\" \"),_c('div',{staticClass:\"content-wrap margin-between-element\"},_vm._l((_vm.operators),function(operator){return _c('button',{key:operator,staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":function($event){return _vm.addToExpression({ value: operator, type: 'operator' })}}},[_vm._v(_vm._s(operator))])}),0),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.values}}),_vm._v(\" \"),(!_vm.manual)?_c('select',{ref:\"search_values\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.values),function(ref){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('option',{key:key,on:{\"click\":function($event){_vm.select.value = key; _vm.addToExpression({ value: key, type: 'value' })}}},[_vm._v(_vm._s(value))])})],2):_vm._e(),_vm._v(\" \"),(_vm.select.field !== null && !_vm.values.length)?_c('button',{staticClass:\"btn btn-secondary bold\",class:{'skin-border-color' : !_vm.manual },staticStyle:{\"color\":\"#000\"},on:{\"click\":_vm.all}},[_c('i',{class:_vm.g3wtemplate.getFontClass('search')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.all'),expression:\"'sdk.querybuilder.panel.button.all'\"}]})]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81e8d74e\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],92:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".feature_attributes tr[data-v-09a18998]{line-height:1.8em}.featurebox-body+tr[data-v-09a18998]{border-top:2px groove #000}#g3w-queryresults-pagination[data-v-09a18998]{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;flex-wrap:wrap}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination span[data-v-09a18998]{background-color:transparent;margin:2px;font-weight:700;font-size:.8em}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination select[data-v-09a18998]{min-width:0}#pagination-pages[data-v-09a18998]{display:flex;align-items:baseline}#pagination-pages label[data-v-09a18998]{margin-left:3px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nvar _QueryResultsTableAttributeFieldValue = require('components/QueryResultsTableAttributeFieldValue.vue');\n\nvar _QueryResultsTableAttributeFieldValue2 = _interopRequireDefault(_QueryResultsTableAttributeFieldValue);\n\nvar _QueryResultsActionInfoFormats = require('components/QueryResultsActionInfoFormats.vue');\n\nvar _QueryResultsActionInfoFormats2 = _interopRequireDefault(_QueryResultsActionInfoFormats);\n\nvar _QueryResultsHeaderFeatureBody = require('components/QueryResultsHeaderFeatureBody.vue');\n\nvar _QueryResultsHeaderFeatureBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureBody);\n\nvar _QueryResultsHeaderFeatureActionsBody = require('components/QueryResultsHeaderFeatureActionsBody.vue');\n\nvar _QueryResultsHeaderFeatureActionsBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureActionsBody);\n\nvar _toRawType = require('utils/toRawType');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar MAX_SUBSET_LENGTH = 3;\nvar headerExpandActionCellWidth = 10;\nvar headerActionsCellWidth = 10;\nvar HEADERTYPESFIELD = ['varchar', 'integer', 'float', 'bigint', 'date'];\n\nexports.default = {\n name: 'queryresults',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n headerExpandActionCellWidth: headerExpandActionCellWidth,\n headerActionsCellWidth: headerActionsCellWidth\n };\n },\n\n mixins: [_mixins.fieldsMixin],\n components: {\n Select2: _mixins.Select2,\n TableAttributeFieldValue: _QueryResultsTableAttributeFieldValue2.default,\n 'infoformats': _QueryResultsActionInfoFormats2.default,\n 'header-feature-body': _QueryResultsHeaderFeatureBody2.default,\n HeaderFeatureActionsBody: _QueryResultsHeaderFeatureActionsBody2.default\n },\n computed: {\n onelayerresult: function onelayerresult() {\n return 1 === this.state.layers.length;\n },\n hasLayers: function hasLayers() {\n return this.hasResults || !!this.state.components.length;\n },\n hasResults: function hasResults() {\n return this.state.layers.length > 0;\n },\n info: function info() {\n if (this.state.query) {\n var query = this.state.query;\n\n var decimalNumber = 'degrees' === _gui2.default.getService('map').getMapUnits() ? 4 : 2;\n switch (query.type) {\n case 'coordinates':\n return {\n icon: 'marker',\n message: ' ' + query.coordinates[0].toFixed(decimalNumber) + ', ' + query.coordinates[1].toFixed(decimalNumber)\n };\n case 'bbox':\n return {\n icon: 'square',\n message: ' [' + query.bbox.map(function (c) {\n return c.toFixed(decimalNumber);\n }).join(' , ') + ']'\n };\n case 'polygon':\n case 'drawpolygon':\n return {\n icon: 'draw',\n message: query.layerName ? query.layerName + ' ' + (undefined !== query.fid ? ' - Feature Id: ' + query.fid : '') : ' ' };\n case 'circle':\n return {\n icon: 'empty-circle',\n message: ' ' };\n default:\n console.warn('Unsupported query type: ' + query.type);\n break;\n }\n } else if (this.state.search) {}\n\n return { icon: null, message: null };\n },\n queryableLayers: function queryableLayers() {\n return (0, _getMapLayersByFilter.getMapLayersByFilter)({ QUERYABLE: true });\n },\n selectedLayer: function selectedLayer() {\n return _gui2.default.getService('map').getSelectedLayer();\n }\n },\n methods: {\n showInPagination: function showInPagination(layer) {\n return !layer.filter.pagination;\n },\n getLayerDownloads: function getLayerDownloads() {\n var downloads = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return downloads.filter(function (d) {\n return 'pdf' !== d;\n });\n },\n showLayer: function showLayer(layer) {\n return layer.show && (this.layerHasFeatures(layer) || layer.rawdata || Array.isArray(layer.infoformats) && layer.infoformats.length > 0);\n },\n getLayerCustomComponents: function getLayerCustomComponents(layerId) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'feature';\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'after';\n\n return this.state.layerscustomcomponents[layerId] && this.state.layerscustomcomponents[layerId][type] && this.state.layerscustomcomponents[layerId][type][position] || [];\n },\n getLayerField: function getLayerField(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature,\n fieldName = _ref.fieldName;\n\n var layerField = layer.attributes.find(function (a) {\n return fieldName === a.name;\n });\n return _extends({}, layerField, {\n label: null,\n value: feature.attributes[fieldName]\n });\n },\n getQueryFields: function getQueryFields(layer, feature) {\n var fields = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = layer.formStructure.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n var _field = _extends({}, field);\n _field.query = true;\n _field.value = feature.attributes[field.name];\n _field.input = {\n type: '' + this.getFieldType(_field)\n };\n fields.push(_field);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return fields;\n },\n getColSpan: function getColSpan(layer) {\n return this.attributesSubsetLength(layer) + !this.hasLayerOneFeature(layer) * 1;\n },\n addLayerFeaturesToResults: function addLayerFeaturesToResults(layer) {\n this.$options.service.addLayerFeaturesToResultsAction(layer);\n },\n printAtlas: function printAtlas(layer) {\n this.$options.service.printAtlas(layer);\n },\n showLayerDownloadFormats: function showLayerDownloadFormats(layer) {\n this.$options.service.showLayerDownloadFormats(layer);\n },\n saveLayerResult: function saveLayerResult(layer) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"csv\";\n\n this.$options.service.downloadFeatures(type, layer, layer.features);\n },\n hasLayerOneFeature: function hasLayerOneFeature(layer) {\n return 1 === layer.features.length;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function () {\n var _ref2 = _asyncToGenerator(function* (layer) {\n var _this = this;\n\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n\n if (layer.filter.active) {\n layer.features.filter(function (f) {\n return !f.selection.selected;\n }).forEach(function (f) {\n return _this.$options.service.removeFeatureLayerFromResult(layer, f);\n });\n }\n });\n\n function addRemoveFilter(_x5) {\n return _ref2.apply(this, arguments);\n }\n\n return addRemoveFilter;\n }(),\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref3.layer,\n index = _ref3.index;\n\n return $('#' + layer.id + '_' + index + ' > td');\n },\n hasOneLayerAndOneFeature: function hasOneLayerAndOneFeature(layer) {\n return this.hasLayerOneFeature(layer);\n },\n hasFormStructure: function hasFormStructure(layer) {\n return !!layer.formStructure;\n },\n layerHasFeatures: function layerHasFeatures(layer) {\n return Array.isArray(layer.features) && layer.features.length > 0;\n },\n addToSelection: function addToSelection(layer) {\n this.$options.service.addToSelection(layer);\n },\n extractAttributesFromFirstTabOfFormStructureLayers: function extractAttributesFromFirstTabOfFormStructureLayers(layer) {\n var _this2 = this;\n\n var attributes = new Set();\n var traverseStructure = function traverseStructure(item) {\n if (item.nodes) {\n item.nodes.forEach(function (node) {\n return traverseStructure(node);\n });\n } else {\n var field = layer.formStructure.fields.find(function (f) {\n return item.field_name === f.name;\n });\n if (field) {\n if (_this2.state.type === 'ows') {\n field = _extends({}, field);\n field.name = field.name.replace(/ /g, '_');\n }\n attributes.add(field);\n }\n }\n };\n if (layer.formStructure.structure.length) {\n layer.formStructure.structure.forEach(function (structure) {\n return traverseStructure(structure);\n });\n }\n return Array.from(attributes);\n },\n attributesSubset: function attributesSubset(layer) {\n var attributes = this.hasFormStructure(layer) ? this.extractAttributesFromFirstTabOfFormStructureLayers(layer) : layer.attributes;\n var _attributes = attributes.filter(function (attribute) {\n return attribute.show && HEADERTYPESFIELD.includes(attribute.type);\n });\n\n var end = Math.min(MAX_SUBSET_LENGTH, attributes.length);\n return _attributes.slice(0, end);\n },\n attributesSubsetLength: function attributesSubsetLength(layer) {\n return this.attributesSubset(layer).length;\n },\n getLayerFormStructure: function getLayerFormStructure(layer) {\n return layer.formStructure.structure.map(function (n) {\n return Vue.observable(structuredClone(n));\n });\n },\n getLayerFeatureBox: function getLayerFeatureBox(layer, feature, relation_index) {\n var _this3 = this;\n\n var boxid = this.getBoxId(layer, feature, relation_index);\n if (undefined === this.state.layersFeaturesBoxes[boxid]) {\n this.state.layersFeaturesBoxes[boxid] = Vue.observable({\n collapsed: true\n });\n this.$watch(function () {\n return _this3.state.layersFeaturesBoxes[boxid].collapsed;\n }, function (collapsed) {\n var index = layer.features.findIndex(function (_feature) {\n return feature.id === _feature.id;\n });\n var container = _this3.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this3.$options.service.openCloseFeatureResult({ open: !collapsed, layer: layer, feature: feature, container: container });\n });\n this.state.layersFeaturesBoxes[boxid].collapsed = layer.features.length > 1;\n }\n return this.state.layersFeaturesBoxes[boxid];\n },\n collapsedFeatureBox: function collapsedFeatureBox(layer, feature, relation_index) {\n var box = this.state.layersFeaturesBoxes[this.getBoxId(layer, feature, relation_index)];\n return box ? box.collapsed : true;\n },\n showFeatureInfo: function showFeatureInfo(layer, boxid) {\n var box = this.state.layersFeaturesBoxes[boxid];\n this.$options.service.emit('show-query-feature-info', {\n layer: layer,\n tabs: this.hasFormStructure(layer),\n show: box ? !box.collapsed : false\n });\n },\n getBoxId: function getBoxId(layer, feature, relation_index) {\n return this.$options.service.getBoxId(layer, feature, relation_index);\n },\n toggleFeatureBox: function () {\n var _ref4 = _asyncToGenerator(function* (layer, feature, relation_index) {\n var boxid = this.getBoxId(layer, feature, relation_index);\n this.state.layersFeaturesBoxes[boxid].collapsed = !this.state.layersFeaturesBoxes[boxid].collapsed;\n yield this.$nextTick();\n this.showFeatureInfo(layer, boxid);\n });\n\n function toggleFeatureBox(_x7, _x8, _x9) {\n return _ref4.apply(this, arguments);\n }\n\n return toggleFeatureBox;\n }(),\n toggleFeatureBoxAndZoom: function toggleFeatureBoxAndZoom(layer, feature, relation_index) {\n if (!this.hasLayerOneFeature(layer)) {\n this.toggleFeatureBox(layer, feature, relation_index);\n }\n },\n trigger: function () {\n var _ref5 = _asyncToGenerator(function* (action, layer, feature, index) {\n if (action.opened && 'none' === $('#' + layer.id + '_' + index).css('display')) {\n this.toggleFeatureBox(layer, feature);\n yield this.$nextTick();\n }\n yield this.$options.service.trigger(action.id, layer, feature, index, this.getContainerFromFeatureLayer({ layer: layer, index: index }));\n });\n\n function trigger(_x10, _x11, _x12, _x13) {\n return _ref5.apply(this, arguments);\n }\n\n return trigger;\n }(),\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n },\n isJSON: function isJSON(field) {\n return !this.isVue(field) && this.isSimple(field) && 'Object' === (0, _toRawType.toRawType)(field.value);\n },\n openAttributeTable: function openAttributeTable(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).openAttributeTable({ perc: 100 });\n },\n highLightLayerFeatures: function highLightLayerFeatures(layer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: true };\n\n if (layer.hasgeometry) {\n this.$options.service.highLightLayerFeatures(layer, opts);\n }\n },\n collapseSidebar: function collapseSidebar(e) {\n var box = e.target.closest(\".box\");\n var collapsed = box.classList.contains('collapsed-box');\n box.classList.toggle('collapsed-box');\n box.querySelector(\".btn-collapser\").classList.toggle('fa-plus', !collapsed);\n box.querySelector(\".btn-collapser\").classList.add('fa-minus', collapsed);\n },\n showPagination: function showPagination(index) {\n return this.state.query.pagination && this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n },\n loadPaginationData: function () {\n var _ref6 = _asyncToGenerator(function* (index, page, page_size) {\n this.state.layers[index].loading = true;\n try {\n yield this.$options.service.loadPaginationData(index, page, page_size, this.state.query);\n } catch (e) {\n console.warn(e);\n }\n this.state.layers[index].loading = false;\n });\n\n function loadPaginationData(_x15, _x16, _x17) {\n return _ref6.apply(this, arguments);\n }\n\n return loadPaginationData;\n }(),\n getCurrentPagSize: function getCurrentPagSize(index) {\n return this.state.query.pagination.getData.params[index].page_size;\n }\n },\n\n watch: {\n 'state.layers': function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (layer) {\n if (layer.attributes.length <= MAX_SUBSET_LENGTH && !layer.hasImageField) {\n layer.expandable = false;\n }\n layer.features.forEach(function (feature) {\n _this4.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this4.state.layersFeaturesBoxes[layer.id + '_' + feature.id + '_' + relation.name + index] = { collapsed: true };\n });\n });\n }\n });\n });\n\n if (this.onelayerresult && this.hasLayerOneFeature(layers[0])) {\n var layer = layers[0];\n var feature = layer.features[0];\n var boxid = this.getBoxId(layer, feature);\n this.$options.service.onceafter('postRender', function () {\n _this4.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this4.$options.service.postRender(_this4.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref7.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool && !this.state.query.pagination) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this5 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this5.$options.service.zoomToLayerFeaturesExtent(layer);\n });\n },\n destroyed: function destroyed() {\n this.$options.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"queryresults-wrapper\",attrs:{\"id\":\"search-results\"}},[(_vm.info.message)?_c('div',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"margin-bottom\":\"3px\",\"font-size\":\"1.1em\"}},[(_vm.info.icon)?_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.info.icon)}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.info.message)+\" \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"queryresults-container\"},[(_vm.state.layers.length)?[(_vm.hasLayers)?_c('ul',{staticClass:\"queryresults\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"queryresults\"}},[_vm._l((_vm.state.layers),function(layer,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLayer(layer)),expression:\"showLayer(layer)\"}]},[_c('bar-loader',{attrs:{\"loading\":layer.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"box box-primary\"},[_c('div',{staticClass:\"box-header with-border\",class:{'mobile': _vm.isMobile()},on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":function($event){$event.stopPropagation();return _vm.collapseSidebar($event)}}},[_c('div',{staticClass:\"box-title query-layer-title\",style:({fontSize: _vm.isMobile() && '1em !important'})},[(!layer.external)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.contextmenu.open_attribute_table'),expression:\"'catalog_items.contextmenu.open_attribute_table'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAttributeTable(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('list')})]):_vm._e(),_vm._v(\"\\n \"+_vm._s(layer.title)+\"\\n \"),[(_vm.state.query.pagination)?_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length + ((_vm.state.query.pagination.current[index] - 1) * _vm.getCurrentPagSize(index)))+\" - \"+_vm._s(_vm.state.query.pagination.counts[index])+\")\\n \")]):_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\\n \")])]],2),_vm._v(\" \"),_c('div',{staticClass:\"box-features-action\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('infoformats',{attrs:{\"layer\":layer}}),_vm._v(\" \"),(layer.features.length > 1)?[(layer.hasgeometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'),expression:\"'sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToLayerFeaturesExtent(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('marker')})]):_vm._e(),_vm._v(\" \"),(layer.atlas.length)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.atlas.hint'),expression:\"'sdk.mapcontrols.query.actions.atlas.hint'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.printAtlas(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('print')})]):_vm._e(),_vm._v(\" \"),(1 === _vm.getLayerDownloads(layer.downloads).length )?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:((\"sdk.mapcontrols.query.actions.download_features_\" + (layer.downloads[0]) + \".hint\")),expression:\"`sdk.mapcontrols.query.actions.download_features_${layer.downloads[0]}.hint`\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();_vm.saveLayerResult(layer, _vm.getLayerDownloads(layer.downloads)[0])}}})])]:(_vm.getLayerDownloads(layer.downloads).length > 1)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('Downloads'),expression:\"'Downloads'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayerDownloadFormats(layer)}}})])]:_vm._e()]:_vm._e(),_vm._v(\" \"),(layer.external || (layer.source && 'wms' !== layer.source.type && !_vm.state.query.pagination))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_features_to_results.hint'),expression:\"'sdk.mapcontrols.query.actions.add_features_to_results.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': layer.addfeaturesresults.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayerFeaturesToResults(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('plus-square')})]):_vm._e(),_vm._v(\" \"),(\n layer.toc &&\n layer.id !== '__g3w_marker' &&\n layer.features.length > 1 &&\n (layer.external\n || (\n layer.source\n && layer.source.type !== 'wms'\n && (layer.selection.active || _vm.showInPagination(layer, index))\n )\n )\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_selection.hint'),expression:\"'sdk.mapcontrols.query.actions.add_selection.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.selection.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addToSelection(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('success')})]):_vm._e(),_vm._v(\" \"),(!layer.external && layer.selection.active && _vm.showInPagination(layer, index))?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.filter.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addRemoveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('filter')})]),_vm._v(\" \"),(\n _vm.state.logged\n && layer.filter.active\n && (null === layer.filter.current || layer.selection.active)\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('save')})]):_vm._e()]:_vm._e()],2),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-box-tool\",staticStyle:{\"pointer-events\":\"none\"}},[_c('i',{staticClass:\"btn-collapser skin-color\",class:_vm.g3wtemplate.font['minus']})])]),_vm._v(\" \"),(_vm.state.layeractiontool[layer.id].component)?[_c('div',{staticClass:\"g3w-layer-action-tools with-border\",class:{'mobile': _vm.isMobile()},staticStyle:{\"padding\":\"5px\"}},[_c(_vm.state.layeractiontool[layer.id].component,{tag:\"component\",attrs:{\"layer\":layer,\"config\":_vm.state.layeractiontool[layer.id].config}})],1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'before')),function(ref){\n var component = ref.component;\nreturn _c(component,{tag:\"component\",attrs:{\"layer\":layer}})}),_vm._v(\" \"),(_vm.state.query.pagination && _vm.state.query.pagination.page_sizes[index].length > 1)?_c('section',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.loading),expression:\"layer.loading\"}],attrs:{\"id\":\"g3w-queryresults-pagination\"}},[_c('section',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"id\":\"pagination-pages\"}},[_c('select',{staticClass:\"form-control\",on:{\"change\":function($event){_vm.loadPaginationData(index, 1, Number($event.target.value))}}},_vm._l((_vm.state.query.pagination.page_sizes[index]),function(p){return _c('option',{key:p,domProps:{\"value\":p}},[_vm._v(_vm._s(p))])}),0)]),_vm._v(\" \"),(!layer.loading)?_c('section',{attrs:{\"id\":\"pagination-buttons\"}},[(_vm.state.query.pagination.counts[index] > layer.features.length)?_c('button',{staticClass:\"btn\",attrs:{\"disabled\":1 === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] - 1)}}},[_c('i',{class:_vm.g3wtemplate.font['backward']})]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.features.length === _vm.state.query.pagination.counts[index]),expression:\"layer.features.length === state.query.pagination.counts[index]\"}],staticClass:\"btn\",class:{ 'skin-background-color': 1 === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, 1)}}},[_vm._v(_vm._s(1)+\"\\n \")]),_vm._v(\" \"),(_vm.state.query.pagination.counts[index] > layer.features.length)?[(_vm.state.query.pagination.pages[index] > 4 && _vm.state.query.pagination.current[index] > 2 )?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),_vm._l(((\n (_vm.state.query.pagination.pages[index] < 4 || _vm.state.query.pagination.current[index] < 3)\n ? Array.from(Array(_vm.state.query.pagination.pages[index] - 2).keys()).slice(0, 2).map(function (i) { return i + 2; })\n : (_vm.state.query.pagination.pages[index] - _vm.state.query.pagination.current[index]) > 2\n ? [_vm.state.query.pagination.current[index], _vm.state.query.pagination.current[index] + 1 ]\n : [_vm.state.query.pagination.pages[index] - 2, _vm.state.query.pagination.pages[index] - 1 ]\n )),function(page){return _c('button',{staticClass:\"btn\",class:{ 'skin-background-color': page === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, page)}}},[_vm._v(_vm._s(page)+\"\\n \")])}),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 4 && (_vm.state.query.pagination.current[index] < _vm.state.query.pagination.pages[index] - 2))?_c('span',{staticStyle:{\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 1)?_c('button',{staticClass:\"btn\",class:{ 'skin-background-color': _vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.pages[index])}}},[_vm._v(_vm._s(_vm.state.query.pagination.pages[index])+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"disabled\":_vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] + 1)}}},[_c('i',{class:_vm.g3wtemplate.font['forward']})])]:_vm._e()],2):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[(layer.rawdata)?[_c('div',{staticClass:\"queryresults-text-html\",class:{text: layer.infoformat === 'text/plain'},domProps:{\"innerHTML\":_vm._s(layer.rawdata)}})]:(_vm.hasFormStructure(layer))?[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},[_c('tbody',[_vm._l((layer.features),function(feature,index){return (feature.show)?[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{noAttributes: _vm.attributesSubset(layer).length === 0},staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('tabs',{attrs:{\"fields\":_vm.getQueryFields(layer, feature),\"layerid\":layer.id,\"feature\":feature,\"tabs\":_vm.getLayerFormStructure(layer)}})],1)]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})]:_vm._e()})],2)])]:[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},_vm._l((layer.features),function(feature,index){return (feature.show)?_c('tbody',{key:feature.id},[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{ noAttributes: 0 === _vm.attributesSubset(layer).length },staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('table',{staticClass:\"feature_attributes\"},[_vm._l((layer.attributes.filter(function (attribute) { return attribute.show; })),function(attribute){return [(_vm.isJSON(_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})))?[_vm._l((_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name}).value),function(v,k){\n var _obj;\nreturn _vm._l((('object' === typeof v ? v : ( _obj = {}, _obj[k] = v, _obj ))),function(v2,k2){return _c('tr',{staticStyle:{\"padding-top\":\"10px\",\"padding-bottom\":\"10px\"}},[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label)+\".\"),(('object' === typeof v))?[_vm._v(_vm._s(k)+\".\")]:_vm._e(),_vm._v(_vm._s(k2))],2),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\"},[_vm._v(_vm._s(v2))])])})})]:_c('tr',[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label))]),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\",attrs:{\"attribute\":attribute.name}},[_c('table-attribute-field-value',{attrs:{\"feature\":feature,\"field\":_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})}})],1)])]})],2)])]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":\"getColSpan(layer)\"}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})],2):_c('tbody')}),0)]],2),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'after')),function(ref){\n var component = ref.component;\nreturn _c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer}})],1)})],2)],1)}),_vm._v(\" \"),_vm._l((_vm.state.components),function(component){return _c('li',[_c(component,{tag:\"component\",on:{\"showresults\":function($event){return _vm.showResults()}}})],1)})],2):_vm._e()]:[(_vm.state.changed)?_c('div',{staticClass:\"query-results-not-found\"},[_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.no_results'),expression:\"'info.no_results'\"}],staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}})]):_vm._e()]],2),_vm._v(\" \"),(_vm.state.query)?_c('div',{staticStyle:{\"visibility\":\"hidden\",\"position\":\"sticky\",\"bottom\":\"-8px\",\"background\":\"#eee\",\"padding\":\"8px 0\",\"display\":\"flex\",\"gap\":\"1em\"}},[_c('label',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.$t('query_filter')))]),_vm._v(\" \"),_c('select',{staticStyle:{\"flex\":\"1\"}},[_vm._l((_vm.queryableLayers),function(layer){return _c('option',{domProps:{\"selected\":layer === _vm.selectedLayer}},[_vm._v(_vm._s(layer.getName()))])}),_vm._v(\" \"),_c('option',{domProps:{\"selected\":!_vm.selectedLayer}},[_vm._v(_vm._s(_vm.$t('sdk.mapcontrols.queryby.all')))])],2)]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-09a18998\"\n\n},{\"components/QueryResultsActionInfoFormats.vue\":96,\"components/QueryResultsHeaderFeatureActionsBody.vue\":99,\"components/QueryResultsHeaderFeatureBody.vue\":100,\"components/QueryResultsTableAttributeFieldValue.vue\":101,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/getMapLayersByFilter\":210,\"utils/throttle\":241,\"utils/toRawType\":242,\"vueify/lib/insert-css\":2}],93:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"action\",\n data: function data() {\n return {\n show: true\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n action: {\n type: Object,\n required: true\n }\n },\n methods: {\n clickAction: function () {\n var _ref = _asyncToGenerator(function* (action, layer, feature, featureIndex, event) {\n yield this.trigger(action, layer, feature, featureIndex);\n if (action.hint_change) {\n var element = $(event.target).parent();\n var originalDataTitle = element.attr('data-original-title');\n element.attr('data-original-title', t(action.hint_change.hint));\n element.tooltip('show');\n setTimeout(function () {\n element.attr('data-original-title', originalDataTitle);\n element.tooltip('show');\n }, action.hint_change.duration || 600);\n }\n this.$emit('action-clicked', action);\n });\n\n function clickAction(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n }\n\n return clickAction;\n }()\n },\n created: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (this.action.init) {\n this.action.init({ layer: this.layer, feature: this.feature, index: this.featureIndex, action: this.action });\n }\n if (typeof this.action.condition === 'function') {\n var show = this.action.condition({ layer: this.layer, feature: this.feature });\n this.show = show instanceof Promise ? yield show : show;\n }\n });\n\n function created() {\n return _ref2.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (typeof this.action.clear === 'function') {\n this.action.clear({ layer: this.layer, feature: this.feature });\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show && (undefined === (_vm.action.state || {}).show ? _vm.show : _vm.action.state.show))?_c('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!!(_vm.action.state || {}).disabled),expression:\"!!(action.state || {}).disabled\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.action.hint),expression:\"action.hint\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': (_vm.action.state || {}).toggled && _vm.action.state.toggled[_vm.featureIndex] },on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();},\"click\":function($event){$event.stopPropagation();return _vm.clickAction(_vm.action, _vm.layer, _vm.feature, _vm.featureIndex, $event)}}},[_c('span',{class:(\"action-button-icon \" + (_vm.action.class)),staticStyle:{\"padding\":\"2px\"},style:(_vm.action.style)})]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129}],94:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'choose_layer',\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: {\n icon: 'pencil',\n label: 'Choose a Layer',\n nolayers: 'No layers found',\n layers: [],\n cbk: function cbk() {}\n }\n }\n },\n\n data: function data() {\n return {\n layerId: null\n };\n },\n\n\n computed: {\n has_layers: function has_layers() {\n return this.config.layers && this.config.layers.length > 0;\n }\n },\n\n created: function created() {\n if (this.has_layers) {\n this.layerId = this.config.layers[0].id;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"action-choose-layer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.label),expression:\"config.label\"}]}),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('layerId'),expression:\"'layerId'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false,\"disabled\":!_vm.has_layers}},[_vm._l((_vm.config.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_c('b',[_vm._v(_vm._s(layer.name))])])}),_vm._v(\" \"),(!_vm.has_layers)?_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.nolayers),expression:\"config.nolayers\"}]}):_vm._e()],2),_vm._v(\" \"),(_vm.has_layers)?_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.config.cbk(_vm.layerId, _vm.feature); })($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.config.icon)})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n\n},{}],95:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"downloadformats\",\n\n data: function data() {\n return {\n download_format: this.config.downloads[0].format\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n var _download = this.config.downloads.find(function (action) {\n return action.format === _this.download_format;\n });\n yield _download.cbk(this.layer, this.feature ? this.feature : this.layer.features, _download, this.featureIndex, 'pdf' === _download.format ? document.querySelector(\"[feature-html-content=\\\"\" + this.layer.id + \"_\" + this.featureIndex + \"\\\"]\").innerHTML : null);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function download() {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3w-download-formats-content\",staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('download_format'),expression:\"'download_format'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false}},_vm._l((_vm.config.downloads),function(download){return _c('option',{directives:[{name:\"download\",rawName:\"v-download\"}],key:download.id,domProps:{\"value\":download.format}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(download.format))])])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"download\",rawName:\"v-download\"}],staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.download($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])}\n__vue__options__.staticRenderFns = []\n\n},{}],96:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _parsers = require('utils/parsers');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'Infoformats',\n\n props: {\n layer: {\n type: Object,\n required: true\n }\n },\n\n data: function data() {\n return {\n infoformat: this.layer.infoformat\n };\n },\n\n\n computed: {\n infoformats: function infoformats() {\n return this.layer.infoformats || [];\n },\n hasInfo: function hasInfo() {\n return this.infoformats.length;\n }\n },\n\n methods: {\n reloadLayerDataWithChangedContentType: function () {\n var _ref = _asyncToGenerator(function* (contenttype) {\n this.layer.loading = true;\n\n this.$el.disabled = true;\n try {\n var response = yield this.projectLayer.changeProxyDataAndReloadFromServer('wms', {\n headers: { 'Content-Type': contenttype },\n params: { INFO_FORMAT: contenttype }\n });\n this.layer.infoformat = contenttype;\n this.projectLayer.setInfoFormat(this.layer.infoformat);\n\n var _ResponseParser$get = _parsers.ResponseParser.get(contenttype)({ layers: [this.projectLayer], response: response }),\n _ResponseParser$get2 = _slicedToArray(_ResponseParser$get, 1),\n data = _ResponseParser$get2[0];\n\n if (data.features) {\n this.__parsedata(data);\n } else {\n this.__parserawdata(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.layer.loading = false;\n\n this.$el.disabled = false;\n });\n\n function reloadLayerDataWithChangedContentType(_x) {\n return _ref.apply(this, arguments);\n }\n\n return reloadLayerDataWithChangedContentType;\n }(),\n __parsedata: function __parsedata(data) {\n var _this = this;\n\n var queryService = _gui2.default.getService('queryresults');\n this.layer.rawdata = null;\n\n data.features.forEach(function (feature) {\n var _properties$geometry$ = {\n properties: feature instanceof ol.Feature ? feature.getProperties() : feature.properties,\n geometry: feature instanceof ol.Feature ? feature.getGeometry() : feature.geometry,\n id: feature instanceof ol.Feature ? feature.getId() : feature.id\n },\n fid = _properties$geometry$.id,\n geometry = _properties$geometry$.geometry,\n attributes = _properties$geometry$.properties;\n\n if (0 === _this.layer.attributes.length) {\n _this.layer.hasgeometry = !!geometry;\n\n queryService.setActionsForLayers([_this.layer]);\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(attributes).forEach(function (name) {\n _this.layer.attributes.push({\n name: name,\n label: name,\n show: true\n });\n });\n }\n\n _this.layer.features.push({ id: fid, attributes: attributes, geometry: geometry, show: true });\n });\n },\n __parserawdata: function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n this.layer.features.splice(0);\n yield this.$nextTick();\n this.layer.rawdata = data.rawdata;\n });\n\n function __parserawdata(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return __parserawdata;\n }()\n },\n\n watch: {\n 'infoformat': function infoformat(value) {\n this.reloadLayerDataWithChangedContentType(value);\n }\n },\n\n created: function created() {\n this.projectLayer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.projectLayer) {\n this.projectLayer.clearProxyData('wms');\n }\n this.projectLayer = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasInfo)?_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('infoformat'),expression:\"'infoformat'\"}],staticClass:\"skin-color\",attrs:{\"select2_value\":_vm.infoformat,\"search\":false}},_vm._l((_vm.infoformats),function(infoformat){return _c('option',{key:infoformat,domProps:{\"value\":infoformat}},[_vm._v(\"\\n \"+_vm._s(infoformat)+\"\\n \")])}),0):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"services/gui\":173,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/parsers\":230}],97:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-polygonattributes-types-title[data-v-7fd19c11]{font-weight:700;padding:3px;color:#fff;margin:0 0 5px}.g3w-polygonattributes-types-content[data-v-7fd19c11]{display:flex;justify-content:space-between;padding:3px;border-radius:3px;border:1px solid #f4f4f4}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"queryresults-querypolygonaddattributes\",\n\n props: {\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n data: function data() {\n return {\n type: this.config.choices[0].type\n };\n },\n created: function created() {\n var _this = this;\n\n this.unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n _this.config.choices.forEach(function (c) {\n return $(_this.$refs[c.type]).text(t(c.label));\n });\n $(_this.$refs.g3w_select_feature_featurepolygon).select2().trigger('change');\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unwatch && this.unwatch();\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.mapcontrols.querybypolygon.download.title'),expression:\"'sdk.mapcontrols.querybypolygon.download.title'\"}],staticClass:\"skin-background-color g3w-polygonattributes-types-title\"}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-polygonattributes-types-content\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('type'),expression:\"'type'\"}],ref:\"g3w_select_feature_featurepolygon\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"search\":false}},_vm._l((_vm.config.choices),function(choice){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(choice.label),expression:\"choice.label\"}],key:choice.type,ref:choice.type,refInFor:true,domProps:{\"value\":choice.type}})}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.config.download(_vm.type)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7fd19c11\"\n\n},{\"g3w-i18n\":129,\"store/application\":178,\"vueify/lib/insert-css\":2}],98:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-feature-actions[data-v-ec80a64e]{padding:3px;background-color:rgba(34,45,50,.1)!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsAction = require(\"components/QueryResultsAction.vue\");\n\nvar _QueryResultsAction2 = _interopRequireDefault(_QueryResultsAction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"actions\",\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n actions: {\n type: Array,\n default: []\n },\n colspan: {\n type: Number\n }\n },\n components: {\n action: _QueryResultsAction2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.actions.length)?_c('td',{staticClass:\"g3w-feature-actions\",staticStyle:{\"padding\":\"3px\"},attrs:{\"colspan\":_vm.colspan}},_vm._l((_vm.actions),function(action){return _c('action',_vm._b({key:action.id,attrs:{\"action\":action}},'action',_vm.$props,false))}),1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-ec80a64e\"\n\n},{\"components/QueryResultsAction.vue\":93,\"vueify/lib/insert-css\":2}],99:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-164045ac]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n },\n index: {\n type: Number\n },\n actions: {\n type: Array\n },\n colspan: {\n type: Number\n }\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"featurebox-header\",on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'clearHighlightGeometry'}, _vm.layer, _vm.feature, _vm.index)}}},[_c('actions',{attrs:{\"colspan\":_vm.colspan,\"layer\":_vm.layer,\"featureIndex\":_vm.index,\"trigger\":_vm.trigger,\"feature\":_vm.feature,\"actions\":_vm.actions}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-164045ac\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],100:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-137530c7]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n }\n\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_vm._l((_vm.attributesSubset(_vm.layer)),function(attribute){return _c('td',{staticClass:\"attribute\"},[(_vm.isLink(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('link')}):(_vm.isPhoto(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):(_vm.isImage(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):_c('span',[_vm._v(_vm._s(_vm.feature.attributes[attribute.name]))])])}),_vm._v(\" \"),(!_vm.hasLayerOneFeature(_vm.layer))?_c('td'):_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-137530c7\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],101:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"tableattributefieldvalue\",\n props: {\n field: {\n type: Object\n },\n feature: {\n type: Object\n }\n },\n mixins: [_mixins.fieldsMixin],\n components: {\n 'g3w-link': _FieldLink2.default,\n 'g3w-vue': _FieldVue2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVue(_vm.field))?_c('g3w-vue',{attrs:{\"feature\":_vm.feature,\"state\":_vm.field}}):(_vm.isSimple(_vm.field))?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.field.value)}}):(_vm.isPhoto(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isImage(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isLink(_vm.field))?_c('g3w-link',{attrs:{\"state\":{value: _vm.field.value}}}):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0a32e30e\"\n\n},{\"components/FieldLink.vue\":46,\"components/FieldVue.vue\":49,\"mixins\":166}],102:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".query-relation[data-v-20ddbb22]{margin-top:3px}.query-relation>.header[data-v-20ddbb22]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-20ddbb22]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-20ddbb22]{font-size:1em}.relations-table-tools[data-v-20ddbb22]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-20ddbb22]{padding:5px}.relation-wrapper[data-v-20ddbb22]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-20ddbb22]{font-size:.8em}.header-component[data-v-20ddbb22]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.table-tools[data-v-20ddbb22]{display:flex;justify-content:space-between}.relationtable .table-tools .action-button[data-v-20ddbb22]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-20ddbb22]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-20ddbb22]{background-color:#fff!important}#chart_content[data-v-20ddbb22]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-20ddbb22]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}\\n.relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:transparent!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _mixins = require('mixins');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SIDEBARWIDTH = void 0;\n\nexports.default = {\n name: 'relation',\n\n props: {\n table: {},\n feature: { default: null },\n relation: {},\n previousview: {},\n showChartButton: {},\n cardinality: {}\n },\n\n inject: ['relationnoback'],\n\n mixins: [_mixins.fieldsMixin, _mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n return {\n fields: null,\n chart: false,\n headercomponent: null,\n downloadButton: null,\n downloadLayer: {\n state: null,\n config: {\n downloads: []\n }\n }\n };\n },\n\n\n computed: {\n showTools: function showTools() {\n return [!!this.isEditable, !!this.table.formStructure, !!this.isGeoLayer].filter(Boolean).length;\n },\n showrelationslist: function showrelationslist() {\n return 'relations' === this.previousview && !this.relationnoback;\n },\n one: function one() {\n return 'ONE' === this.relation.type;\n }\n },\n\n methods: {\n zoomToGeometry: function zoomToGeometry(geometry) {\n if (geometry) {\n _gui2.default.getService('map').zoomToGeometry(new ol.geom[geometry.type](geometry.coordinates), { highlight: true });\n }\n },\n createTable: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.table.layerId);\n\n this.isEditable = layer.isEditable() && !layer.isInEditing();\n\n this.isGeoLayer = undefined !== this.table.features.find(function (f) {\n return f.geometry;\n });\n\n var downloadformats = layer.getDownloadableFormats();\n\n if (downloadformats.length > 0) {\n this.downloadButton = {\n toggled: false,\n tooltip: downloadformats.length > 1 ? 'Downloads' : 'sdk.tooltips.download_' + downloadformats[0],\n handler: downloadformats.length > 1 ? _asyncToGenerator(function* () {\n _this.downloadButton.toggled = !_this.downloadButton.toggled;\n _this.downloadLayer.state = _this.downloadLayer.state || layer.state;\n _this.downloadLayer.config.downloads = _this.downloadLayer.config.downloads.length ? _this.downloadLayer.config.downloads : downloadformats.map(function (format) {\n return {\n id: format,\n format: format,\n cbk: function cbk() {\n _this.saveRelation(layer.getDownloadUrl(format));\n _this.headercomponent = null;\n },\n download: true\n };\n });\n _this.headercomponent = _this.downloadButton.toggled ? _QueryResultsActionDownloadFormats2.default : null;\n }) : function () {\n return _this.saveRelation(layer.getDownloadUrl(downloadformats[0]));\n }\n };\n }\n\n _g3wEventbus.VM.$on('reload-relations', function () {\n _this.reloadLayout();\n });\n\n this.showChart = (0, _throttle.throttle)(_asyncToGenerator(function* () {\n _this.chart = !_this.chart;\n yield _this.$nextTick();\n _this.chartContainer = _this.chartContainer || $('#chart_content');\n _this.$emit(_this.chart ? 'show-chart' : 'hide-chart', _this.chartContainer, { relations: [_this.relation], fid: _this.feature.attributes[_g3wConstants.G3W_FID] });\n }));\n\n yield this.$nextTick();\n\n SIDEBARWIDTH = _gui2.default.getSize({ element: 'sidebar', what: 'width' });\n\n this.relation.title = this.relation.name;\n\n if (!this.one) {\n this.relationDataTable = $(this.$refs.relationtable).DataTable({\n autoWidth: false,\n bLengthChange: true,\n dom: 'ltip',\n columnDefs: [this.showTools ? { orderable: false, targets: 0, width: '1%' } : { orderable: true, targets: 0 }],\n order: [this.showTools ? 1 : 0, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollResize: true,\n scrollCollapse: true,\n scrollX: true\n });\n this.tableHeaderHeight = $('.query-relation div.dataTables_scrollHeadInner').height();\n }\n\n _gui2.default.on('pop-content', function () {\n return setTimeout(function () {\n return _this.resize();\n });\n });\n\n this.resize();\n });\n\n function createTable() {\n return _ref.apply(this, arguments);\n }\n\n return createTable;\n }(),\n resize: function () {\n var _ref4 = _asyncToGenerator(function* () {\n if (!this.$refs.query_relation || 'none' === this.$refs.query_relation.parentNode.style.display) {\n return;\n }\n\n var table = $(this.$refs.query_relation).find('div.dataTables_scrollBody');\n table.height($(\".content\").height() - this.tableHeaderHeight - $('.content_breadcrumb').outerHeight() - $('.navbar').outerHeight() - $('.close-panel-block').outerHeight() - $(this.$refs['relation-header']).outerHeight() - $('.dataTables_filter').last().outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_scrollHead').last().outerHeight());\n\n this.reloadLayout();\n });\n\n function resize() {\n return _ref4.apply(this, arguments);\n }\n\n return resize;\n }(),\n saveRelation: function saveRelation(type) {\n this.$emit('save-relation', type);\n this.downloadButton.toggled = false;\n },\n showFormStructureRow: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerid = _ref6.layerid,\n feature = _ref6.feature,\n fields = _ref6.fields,\n tabs = _ref6.tabs;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend({\n data: function data() {\n return {\n layerid: layerid,\n feature: feature,\n fields: fields,\n formStructure: tabs\n };\n },\n\n template: '\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n ',\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.$refs.table.click();\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n }))()\n }),\n push: true,\n showgoback: true,\n closable: false\n });\n });\n\n function showFormStructureRow() {\n return _ref5.apply(this, arguments);\n }\n\n return showFormStructureRow;\n }(),\n editFeature: function editFeature(index) {\n _gui2.default.getService('queryresults').editFeature({\n layer: {\n id: this.table.layerId,\n attributes: this.table.fields\n },\n feature: this.table.features[index]\n });\n },\n getRowFields: function getRowFields(row) {\n var _this2 = this;\n\n return this.table.fields.map(function (field, index) {\n field.value = row[index];\n field.query = true;\n field.input = { type: '' + _this2.getFieldType(field) };\n return field;\n });\n },\n reloadLayout: function reloadLayout() {\n if (this.relationDataTable) {\n this.relationDataTable.columns.adjust();\n }\n },\n back: function back() {\n this.$parent.setRelationsList();\n },\n fieldIs: function fieldIs(type, value) {\n return this.getFieldType(value) === type;\n },\n is: function is(type, value) {\n return this.fieldIs(type, value);\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.getElementById('g3w-view-content').addEventListener('mousemove', this.wrapMoveFnc);\n document.getElementById('g3w-view-content').addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref8 = _asyncToGenerator(function* () {\n document.getElementById('g3w-view-content').removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref8.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n moveFnc: function moveFnc(evt) {\n var sidebarHeaderSize = $('.sidebar-collapse').length ? 0 : SIDEBARWIDTH;\n var size = evt.pageX + 2 - sidebarHeaderSize;\n this.$refs.tablecontent.style.width = size + 'px';\n this.$refs.chartcontent.style.width = $(this.$refs.relationwrapper).width() - size - 10 + 'px';\n }\n },\n\n watch: {\n table: {\n immediate: true,\n handler: function handler(table) {\n if (table && table.rows.length) {\n this.createTable();\n }\n }\n },\n\n chart: function () {\n var _ref9 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function chart() {\n return _ref9.apply(this, arguments);\n }\n\n return chart;\n }(),\n headercomponent: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function headercomponent() {\n return _ref10.apply(this, arguments);\n }\n\n return headercomponent;\n }()\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n beforeDestroy: function () {\n var _ref11 = _asyncToGenerator(function* () {\n if (!this.relationDataTable) {\n return;\n }\n this.relationDataTable.destroy();\n this.relationDataTable = null;\n if (this.chartContainer) {\n this.$emit('hide-chart', this.chartContainer);\n }\n this.chartContainer = null;\n this.tableHeaderHeight = null;\n _gui2.default.off('pop-content', this.resize);\n });\n\n function beforeDestroy() {\n return _ref11.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.table)?_c('div',{ref:\"query_relation\",staticClass:\"query-relation\",class:_vm.isMobile() ? 'mobile' : null},[_c('div',{ref:\"relation-header\",staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"g3w-long-text\"},[(_vm.showrelationslist)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.relations.back_to_relations'),expression:\"'sdk.relations.back_to_relations'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button back-button\",class:_vm.$fa('exit'),on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}}):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"relation-tile skin-color\"},[_vm._v(\" \"+_vm._s(_vm.relation.name)+\" \")])]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{staticClass:\"relations-table-tools\"},[(_vm.downloadButton)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(_vm.downloadButton.tooltip),expression:\"downloadButton.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('download'),\n { 'toggled-white': _vm.downloadButton.toggled } ],on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadButton.handler($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showChartButton)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('sdk.tooltips.show_chart'),expression:\"'sdk.tooltips.show_chart'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('chart'),\n _vm.chart ? 'toggled-white' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.showChart($event)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{ref:\"relationwrapper\",staticClass:\"relation-wrapper\"},[_c('div',{ref:\"tablecontent\",style:({\n width: _vm.chart ? '70%' : '100%',\n marginRight: _vm.chart ? '8px' : '3px',\n position: 'relative',\n }),attrs:{\"id\":\"table_content\"}},[(_vm.headercomponent)?_c('div',{staticClass:\"header-component\"},[_c(_vm.headercomponent,{tag:\"component\",attrs:{\"layer\":_vm.downloadLayer.state,\"config\":_vm.downloadLayer.config}})],1):_vm._e(),_vm._v(\" \"),_c('table',{ref:\"relationtable\",staticClass:\"hover relationtable table table-striped row-border compact nowrap\"},[_c('thead',[_c('tr',{staticStyle:{\"height\":\"0! important\"}},[(_vm.showTools)?_c('th',{style:({\n minWidth: this.showTools * 30 + 'px',\n padding: '0 !important',\n })}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.table.columns),function(column){return _c('th',[_vm._v(_vm._s(column))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.table.rows),function(row,index){return _c('tr',{key:_vm.table.rows_fid[index],class:{\n 'selected': _vm.table.rowFormStructure === row,\n }},[(_vm.showTools)?_c('td',{staticClass:\"table-tools\"},[(_vm.table.features[index].geometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.tooltips.relations.zoomtogeometry'),expression:\"'sdk.tooltips.relations.zoomtogeometry'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('marker'),on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToGeometry(_vm.table.features[index].geometry)}}}):_vm._e(),_vm._v(\" \"),(_vm.table.formStructure)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(\"sdk.tooltips.relations.row_to_form\"),expression:\"`sdk.tooltips.relations.row_to_form`\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();_vm.showFormStructureRow({ layerid: _vm.table.layerId, feature: _vm.table.features[index], fields: _vm.getRowFields(row), tabs: _vm.table.formStructure })}}}):_vm._e(),_vm._v(\" \"),(_vm.isEditable)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('Edit'),expression:\"'Edit'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(index)}}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((row),function(value){return _c('td',[_c('field',{attrs:{\"state\":{value:value}}})],1)})],2)}),0)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],staticClass:\"skin-border-color lighten\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"0 1px 0 1px\"},style:({\n minWidth: '5px',\n backgroundColor: '#dddddd',\n cursor: 'col-resize',\n }),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],ref:\"chartcontent\",style:({ width: _vm.chart ? '30%' : '0' }),attrs:{\"id\":\"chart_content\"}})]):_c('div',{staticClass:\"dataTables_scrollBody\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.no_relations_found'),expression:\"'sdk.relations.no_relations_found'\"}]})])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-20ddbb22\"\n\n},{\"components/FieldG3W.vue\":43,\"components/QueryResultsActionDownloadFormats.vue\":95,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241,\"vueify/lib/insert-css\":2}],103:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'relations',\n\n props: ['relations', 'feature', 'loading'],\n\n methods: {\n showRelation: function () {\n var _ref = _asyncToGenerator(function* (relation) {\n yield this.$parent.showRelation(relation);\n });\n\n function showRelation(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n featureInfo: function featureInfo() {\n return Object.entries(this.feature.attributes).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n value = _ref3[1];\n\n return value && 'string' === typeof value && !value.includes('/');\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n return { key: key, value: value };\n }).slice(0, 3);\n }\n },\n\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (1 === this.relations.length) {\n this.relations[0].noback = true;\n yield this.showRelation(this.relations[0]);\n }\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (1 === this.relations.length) {\n delete this.relations[0].noback;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations\"},[_c('div',{staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"skin-color-dark\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.relations.list_of_relations_feature'),expression:\"'sdk.relations.list_of_relations_feature'\",arg:\"pre\"}],staticStyle:{\"font-size\":\"1.1em\"}}),_vm._v(\" \"),_vm._l((_vm.featureInfo()),function(info){return _c('div',[_vm._v(\" - \"),_c('b',[_vm._v(_vm._s(info.key))]),_vm._v(\": \"+_vm._s(info.value))])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"query-relations-content\"},_vm._l((_vm.relations),function(relation){return _c('div',{staticClass:\"skin-border-color relation-grid-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showRelation(relation)}}},[_c('span',{staticClass:\"skin-color g3w-long-text\"},[_vm._v(_vm._s(relation.name))])])}),0)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-02f56b7e\"\n\n},{\"vueify/lib/insert-css\":2}],104:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Relations = require('components/Relations.vue');\n\nvar _Relations2 = _interopRequireDefault(_Relations);\n\nvar _Relation = require('components/Relation.vue');\n\nvar _Relation2 = _interopRequireDefault(_Relation);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _XHR = require('utils/XHR');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _options = void 0;\n\nfunction _buildRelationTable() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var id = arguments[1];\n\n relations = relations || [];\n var layer = _application2.default.project.getLayerById(id);\n var attrs = Object.keys(relations[0] ? relations[0].attributes : {});\n var cols = layer.getTableHeaders().filter(function (h) {\n return attrs.includes(h.name);\n });\n return {\n columns: cols.map(function (c) {\n return c.label;\n }),\n rows: relations.map(function (r) {\n return cols.map(function (c) {\n return r.attributes[c.name];\n });\n }),\n rows_fid: relations.map(function (r) {\n return r.attributes[_g3wConstants.G3W_FID];\n }),\n features: relations,\n fields: cols.length ? cols : null,\n formStructure: layer.getLayerEditingFormStructure(),\n rowFormStructure: null,\n layerId: layer.getId()\n };\n}\n\nexports.default = {\n name: 'relation-page',\n\n data: function data() {\n var _$options = this.$options,\n _$options$table = _$options.table,\n table = _$options$table === undefined ? null : _$options$table,\n _$options$relation = _$options.relation,\n relation = _$options$relation === undefined ? null : _$options$relation,\n _$options$relations = _$options.relations,\n relations = _$options$relations === undefined ? [] : _$options$relations,\n nmRelation = _$options.nmRelation,\n _$options$feature = _$options.feature,\n feature = _$options$feature === undefined ? null : _$options$feature,\n _$options$currentview = _$options.currentview,\n currentview = _$options$currentview === undefined ? 'relations' : _$options$currentview,\n _$options$chartRelati = _$options.chartRelationIds,\n chartRelationIds = _$options$chartRelati === undefined ? [] : _$options$chartRelati,\n layer = _$options.layer;\n\n return {\n loading: false,\n state: null,\n error: false,\n table: table ? _buildRelationTable(table) : null,\n previousview: currentview,\n showChartButton: false,\n feature: feature,\n currentview: currentview,\n relation: relation,\n relations: relations,\n nmRelation: nmRelation,\n chartRelationIds: chartRelationIds,\n layer: layer\n };\n },\n provide: function provide() {\n return {\n relationnoback: 1 === this.$options.relations.length\n };\n },\n\n components: {\n 'relations': _Relations2.default,\n 'relation': _Relation2.default\n },\n methods: {\n saveRelations: function () {\n var _ref = _asyncToGenerator(function* (type) {\n _application2.default.download = true;\n try {\n yield _XHR.XHR.fileDownload({\n url: (0, _createRelationsUrl.createRelationsUrl)(Object.assign(_options, { type: type })),\n httpMethod: \"GET\"\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: e || 'info.server_error',\n closable: true\n });\n }\n _application2.default.download = false;\n });\n\n function saveRelations(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return saveRelations;\n }(),\n reloadLayout: function reloadLayout() {\n _g3wEventbus.VM.$emit('reload-relations');\n },\n showChart: function showChart(container, relationData) {\n _gui2.default.getService('queryresults').showChart([this.relation.referencingLayer], container, relationData);\n },\n hideChart: function hideChart(container) {\n _gui2.default.getService('queryresults').hideChart(container);\n },\n getRelationsNM: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n nmRelation = _ref3.nmRelation,\n _ref3$features = _ref3.features,\n features = _ref3$features === undefined ? [] : _ref3$features;\n\n var referencedLayer = nmRelation.referencedLayer,\n _nmRelation$fieldRef = nmRelation.fieldRef,\n referencingField = _nmRelation$fieldRef.referencingField,\n referencedField = _nmRelation$fieldRef.referencedField;\n\n var relationsNM = [];\n if (features.length) {\n var values = features.map(function (f) {\n return f.attributes[referencingField];\n });\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer),\n filter: '' + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: referencedField, value: values, logicop: 'OR' }),\n formatter: 1 },\n outputs: null\n }),\n data = _ref4.data;\n\n if (data && data[0] && Array.isArray(data[0].features)) {\n relationsNM = data[0].features.map(function (f) {\n return {\n id: f.getId(),\n geometry: f.getGeometry(),\n attributes: (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(f.getProperties()).reduce(function (accumulator, property) {\n accumulator[property] = f.get(property);\n return accumulator;\n }, {})\n };\n });\n }\n }\n return relationsNM;\n });\n\n function getRelationsNM() {\n return _ref2.apply(this, arguments);\n }\n\n return getRelationsNM;\n }(),\n showRelation: function () {\n var _ref5 = _asyncToGenerator(function* (relation) {\n _gui2.default.setLoadingContent(true);\n this.loading = true;\n this.relation = relation;\n var relationLayerId = relation.referencingLayer;\n try {\n _options = {\n layer: this.$options.layer,\n fid: this.feature.attributes[_g3wConstants.G3W_FID],\n relation: relation\n };\n var response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(_options) });\n var relations = response.result ? (response.vector.data.features || []).map(function (f) {\n f.properties[_g3wConstants.G3W_FID] = f.id;\n return {\n geometry: f.geometry,\n attributes: f.properties,\n id: f.id\n };\n }) : null;\n\n if (this.nmRelation) {\n relationLayerId = this.nmRelation.referencedLayer;\n relations = yield this.getRelationsNM({\n nmRelation: this.nmRelation,\n features: relations\n });\n }\n this.showChartButton = !!this.chartRelationIds.find(function (id) {\n return relationLayerId === id;\n });\n this.table = _buildRelationTable(relations, relationLayerId);\n\n _gui2.default.setCurrentContentOptions({\n title: relation.name,\n crumb: { title: relation.name }\n });\n\n yield this.$nextTick();\n this.previousview = this.currentview;\n this.currentview = 'relation';\n } catch (e) {\n console.warn(e);\n }\n _gui2.default.setLoadingContent(false);\n this.loading = true;\n });\n\n function showRelation(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n setRelationsList: function setRelationsList() {\n this.previousview = 'relation';\n this.currentview = 'relations';\n _gui2.default.setCurrentContentOptions({ crumb: { title: 'info.list_of_relations' } });\n this.loading = false;\n }\n },\n beforeMount: function beforeMount() {\n if ('relation' === this.currentview || 1 === this.relations.length && 'ONE' === this.relations[0].type) {\n this.showRelation(this.relations[0]);\n }\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n this.relations.sort(function (_ref7, _ref8) {\n var relationName1 = _ref7.name;\n var relationName2 = _ref8.name;\n\n if (relationName1 < relationName2) return -1;\n if (relationName1 > relationName2) return 1;\n return 0;\n });\n yield this.$nextTick();\n if (this.error) {\n requestAnimationFrame(function () {\n return _gui2.default.popContent();\n });\n }\n this.error = false;\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n created: function created() {\n this.$on('resize-component', this.reloadLayout);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations-page\"},[_c(_vm.currentview,{ref:_vm.currentview,tag:\"component\",attrs:{\"loading\":_vm.loading,\"previousview\":_vm.previousview,\"showChartButton\":_vm.showChartButton,\"relations\":_vm.relations,\"relation\":_vm.relation,\"nmRelation\":_vm.nmRelation,\"feature\":_vm.feature,\"table\":_vm.table},on:{\"save-relation\":_vm.saveRelations,\"show-chart\":_vm.showChart,\"hide-chart\":_vm.hideChart}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Relation.vue\":102,\"components/Relations.vue\":103,\"g3w-constants\":126,\"g3w-eventbus\":127,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/createSingleFieldParameter\":196,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203}],105:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li.menu-item[data-v-3edc3c4e]{padding-right:20px!important}li.menu-item span[data-v-3edc3c4e]{display:inline-flex;white-space:pre-wrap}.search-action[data-v-3edc3c4e]{text-shadow:0 2px 5px rgba(0,0,0,.3);padding:0 4px}#g3w-search li i[data-v-3edc3c4e]{width:20px}.search-tools[data-v-3edc3c4e]{display:flex;align-items:baseline}.search-tools>span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _Tool = require('components/Tool.vue');\n\nvar _Tool2 = _interopRequireDefault(_Tool);\n\nvar _QueryBuilder = require('components/QueryBuilder.vue');\n\nvar vueComp = _interopRequireWildcard(_QueryBuilder);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'search',\n\n data: function data() {\n return {\n state: this.state || {}\n };\n },\n\n\n components: {\n 'g3w-tool': _Tool2.default\n },\n\n computed: {\n show: function show() {\n return this.state.searches.length + this.state.tools.length + this.state.querybuildersearches.length > 0;\n }\n },\n\n methods: {\n showPanel: function showPanel() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.$options.service.showPanel(config);\n },\n remove: function () {\n var _ref = _asyncToGenerator(function* (search, index) {\n try {\n yield new Promise(function (res, rej) {\n _gui2.default.dialog.confirm(t('sdk.querybuilder.delete'), function (d) {\n return d ? res() : rej();\n });\n });\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var items = item ? JSON.parse(item) : undefined;\n var projectId = _application2.default.project.getId();\n var searches = (items ? items[projectId] || [] : []).filter(function (item) {\n return item.id !== search.id;\n });\n\n if (searches.length) {\n items[projectId] = searches;\n } else {\n delete items[projectId];\n }\n\n try {\n if (Object.keys(items).length) {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(items));\n } else {\n window.localStorage.removeItem('QUERYBUILDERSEARCHES');\n }\n } catch (e) {\n console.warn(e);\n }\n\n this.state.querybuildersearches.splice(index, 1);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function remove(_x2, _x3) {\n return _ref.apply(this, arguments);\n }\n\n return remove;\n }(),\n edit: function edit(search) {\n var opts = {\n id: search.id,\n name: search.name,\n layerId: search.layerId,\n filter: search.filter,\n title: t('sdk.querybuilder.title'),\n show: true\n };\n opts.internalPanel = new (Vue.extend(vueComp))({ options: opts });\n new _g3wPanel2.default(opts);\n },\n run: function () {\n var _ref2 = _asyncToGenerator(function* (search) {\n search.qbloading = true;\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(search.layerId);\n yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: search.filter }),\n feature_count: 100\n },\n outputs: true\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({ type: 'alert', message: 'sdk.querybuilder.error_run', autoclose: true });\n }\n search.qbloading = false;\n });\n\n function run(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return run;\n }()\n },\n\n mounted: function () {\n var _ref3 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('.search-action').tooltip();\n });\n\n function mounted() {\n return _ref3.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('ul',{staticClass:\"treeview-menu g3w-search g3w-tools menu-items\",attrs:{\"id\":\"g3w-search\"}},[_vm._l((_vm.state.searches),function(search){return _c('li',{staticClass:\"menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showPanel(search)}}},[_c('i',{class:_vm.$fa('empty-circle')}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))])])}),_vm._v(\" \"),_vm._l((_vm.state.tools),function(searchtool){return _c('li',[_c('g3w-tool',{attrs:{\"tool\":searchtool}})],1)}),_vm._v(\" \"),_vm._l((_vm.state.querybuildersearches),function(search,i){return _c('li',{key:search.id},[_c('div',{staticStyle:{\"position\":\"relative\"},on:{\"click\":function($event){return _vm.edit(search)}}},[_c('bar-loader',{attrs:{\"loading\":search.qbloading}}),_vm._v(\" \"),_c('div',{staticClass:\"search-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.delete'),expression:\"'sdk.querybuilder.search.delete'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"margin-right\":\"5px\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(search, i)}}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))]),_vm._v(\" \"),_c('div',[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.run'),expression:\"'sdk.querybuilder.search.run'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.run(search)}}})])])],1)])})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3edc3c4e\"\n\n},{\"components/QueryBuilder.vue\":91,\"components/Tool.vue\":110,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],106:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-search-form label[data-v-51de5286]{color:#fff}.g3w-search-form .search-logicop[data-v-51de5286]{width:100%;position:relative;display:flex;justify-content:center;margin-bottom:15px;margin-top:30px;border-bottom:1px solid}.g3w-search-form .search-logicop h4[data-v-51de5286]{font-weight:700;position:absolute;padding:5px;top:-24px;background:#222d32}#dosearch[data-v-51de5286]{color:#fff;font-weight:700;margin-top:15px;background-color:var(--skin-color)}#dosearch[data-v-51de5286]:hover{color:#fff}.search-label[data-v-51de5286]{width:100%;display:flex;justify-content:space-between}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _convertQGISDateTimeFormatToMoment = require('utils/convertQGISDateTimeFormatToMoment');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar SELECTS = [];\n\nexports.default = {\n\n mixins: [_resize2.default],\n\n data: function data() {\n return {\n state: this.$options.service.state,\n autofilter: false,\n allvalue: _g3wConstants.SEARCH_ALLVALUE,\n reload: false\n };\n },\n\n\n computed: {\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n },\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n loading: function loading() {\n return this.state.forminputs.reduce(function (bool, i) {\n return bool || i.loading;\n }, false);\n },\n filterlayers: function filterlayers() {\n return _application2.default.tokens.filtertoken && this.state.search_layers.filter(function (l) {\n return l.getFilterToken();\n }) || [];\n }\n },\n\n methods: {\n clearFilters: function clearFilters() {\n var _this = this;\n\n this.filterlayers.forEach(function (l) {\n if (_this.state.paginate) {\n l.clearSelectionFids();\n } else {\n l.toggleFilterToken();\n }\n });\n },\n resize: function resize() {\n SELECTS.forEach(function (select2) {\n return !_application2.default.ismobile && select2.select2('close');\n });\n },\n getLabelOperator: function getLabelOperator(operator) {\n return '[ ' + _g3wConstants.FILTER_EXPRESSION_OPERATORS[operator] + ' ]';\n },\n onFocus: function () {\n var _ref = _asyncToGenerator(function* (e) {\n if (this.isMobile()) {\n var top = $(e.target).position().top - 10;\n yield this.$nextTick();\n setTimeout(function () {\n return $('.main-sidebar').scrollTop(top);\n }, 500);\n }\n });\n\n function onFocus(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onFocus;\n }(),\n changeInput: function () {\n var _ref2 = _asyncToGenerator(function* (input) {\n var _this2 = this;\n\n var field = input.attribute;\n var deps = this.state.forminputs.filter(function (i) {\n return field === i.dependance;\n });\n var state = this.state;\n var value = input.value;\n\n var is_empty = function is_empty(v) {\n return [_g3wConstants.SEARCH_ALLVALUE, null, undefined].includes(v) || '' === v.toString().trim();\n };\n var has_autocomplete = function has_autocomplete(i) {\n return 'autocompletefield' === i.type;\n };\n\n try {\n this.state.searching = true;\n\n if ('numberfield' === input.type) {\n value = value || 0 === value ? value : null;\n }\n\n if (undefined === value) {\n value = _g3wConstants.SEARCH_ALLVALUE;\n }\n\n if (!['textfield', 'textField'].includes(input.type)) {\n value = value.trim();\n }\n\n input.value = value;\n\n yield Promise.allSettled(deps.map(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n var filter = _getDataForSearchInput.getDataForSearchInput.field({\n state: state,\n field: field,\n fields: [_g3wConstants.SEARCH_ALLVALUE, undefined].includes(value) ? [] : [(0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: input.operator })]\n });\n\n var cached = d.dvalues[filter];\n\n d.value = 'selectfield' === d.type ? _g3wConstants.SEARCH_ALLVALUE : null;\n d.values = Array.from(new Set([].concat(_toConsumableArray(!has_autocomplete(d) && !is_empty(value) ? [d.values[0]] : []), _toConsumableArray(!has_autocomplete(d) && is_empty(value) ? d._values : []), _toConsumableArray(cached || []))));\n\n d.disabled = is_empty(value) ? d.dependance_strict : false;\n\n if (_this2.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this2.changeInput(d);\n }\n\n if (has_autocomplete(d) || is_empty(value) || cached) {\n return;\n }\n\n state.loading[d.attribute] = true;\n\n try {\n var data = yield state.search_layers[0].getFilterData({\n fformatter: d.attribute,\n ordering: d.attribute,\n field: filter\n });\n\n data.data = (data.data || []).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n value = _ref5[0],\n key = _ref5[1];\n\n return { key: key, value: value };\n });\n\n if (!d.dependance_strict && 'selectfield' === d.type) {\n var _d$_values;\n\n (_d$_values = d._values).push.apply(_d$_values, _toConsumableArray(d.values));\n }\n\n if (1 === d.values.length) {\n var _d$values;\n\n (_d$values = d.values).push.apply(_d$values, _toConsumableArray(data.data));\n }\n\n d.dvalues[filter] = d.values.slice(1);\n } catch (e) {\n console.warn(e);\n } finally {\n d.disabled = false;\n _this2.state.loading[d.attribute] = false;\n }\n });\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.searching = false;\n }\n });\n\n function changeInput(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return changeInput;\n }(),\n doSearch: function doSearch(e) {\n e.preventDefault();\n this.$options.service.run();\n },\n initDateTimeField: function () {\n var _ref6 = _asyncToGenerator(function* (input) {\n var _this3 = this;\n\n if ('datetimefield' !== input.type) {\n return;\n }\n\n yield this.$nextTick();\n\n input.options.format.fieldformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.fieldformat);\n input.options.format.displayformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.displayformat);\n\n $(this.$refs['date_' + input.id]).datetimepicker({\n defaultDate: null,\n format: input.options.format.displayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n toolbarPlacement: 'top',\n widgetPositioning: { vertical: 'bottom', horizontal: 'left' },\n showClose: true,\n locale: _application2.default.language || 'en'\n });\n\n $(this.$refs['date_' + input.id]).on(\"dp.change\", function () {\n var newDate = $('#' + input.id).val();\n input.value = newDate.trim() ? moment(newDate, input.options.format.displayformat).format(input.options.format.fieldformat) : null;\n _this3.changeInput(input);\n });\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + input.id).blur();\n });\n }\n });\n\n function initDateTimeField(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return initDateTimeField;\n }(),\n initSelect2Field: function () {\n var _ref7 = _asyncToGenerator(function* (input) {\n var _this4 = this;\n\n if (!['selectfield', 'autocompletefield'].includes(input.type)) {\n return;\n }\n\n yield this.$nextTick();\n\n var numdigaut = input.options.numdigaut;\n var has_autocomplete = 'autocompletefield' === input.type;\n var ajax = has_autocomplete ? {\n delay: 500,\n transport: function () {\n var _ref8 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getDataForSearchInput.getDataForSearchInput)({\n state: _this4.state,\n field: input.attribute,\n suggest: input.attribute + '|' + d.data.q\n })).map(function (d) {\n return { id: d.value, text: d.key };\n })\n });\n } catch (e) {\n ko(e);\n }\n });\n\n function transport(_x6, _x7, _x8) {\n return _ref8.apply(this, arguments);\n }\n\n return transport;\n }()\n } : null;\n\n var select2 = $('#' + input.id).select2({\n ajax: ajax,\n width: '100%',\n dropdownParent: $('.g3w-search-form:visible'),\n minimumInputLength: has_autocomplete && (numdigaut && !Number.isNaN(1 * numdigaut) && 1 * numdigaut > 0 && 1 * numdigaut || 2) || 0,\n allowClear: has_autocomplete,\n placeholder: has_autocomplete ? '' : null,\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n\n SELECTS.push(select2);\n\n select2.on('select2:select select2:unselecting', function (e) {\n if ('select2:select' === e.type || has_autocomplete) {\n input.value = e.params.data ? '' + e.params.data.id : _g3wConstants.SEARCH_ALLVALUE;\n _this4.changeInput(input);\n }\n });\n\n this.$watch(function () {\n return input.value;\n }, function () {\n var _ref9 = _asyncToGenerator(function* (value, oldVal) {\n if (value !== oldVal && _g3wConstants.SEARCH_ALLVALUE === value) {\n select2.val(value).trigger('change');\n }\n });\n\n return function (_x9, _x10) {\n return _ref9.apply(this, arguments);\n };\n }());\n\n var unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n unwatch();\n _this4.clearSelect2();\n _this4.initSelect2Field(input);\n });\n\n select2.val(input.value).trigger('change');\n });\n\n function initSelect2Field(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return initSelect2Field;\n }(),\n clearSelect2: function clearSelect2() {\n SELECTS.forEach(function (select2) {\n select2.select2('destroy');\n select2.off();\n select2 = null;\n });\n\n SELECTS.splice(0);\n },\n reloadSelect2Inputs: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n if (this.reload) {\n return;\n }\n\n this.reload = true;\n\n yield this.$nextTick();\n\n try {\n yield this.$options.service.setInputs();\n } catch (e) {\n console.warn(e);\n }\n\n this.clearSelect2();\n try {\n yield Promise.allSettled(this.state.forminputs.map(function (input) {\n return _this5.initSelect2Field(input);\n }));\n } catch (e) {\n console.warn(e);\n }\n\n this.reload = false;\n });\n\n function reloadSelect2Inputs() {\n return _ref10.apply(this, arguments);\n }\n\n return reloadSelect2Inputs;\n }()\n },\n watch: {\n autofilter: function autofilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.autofilter.value = Number(bool);\n }\n },\n\n created: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.on('filtertokenchange', _this6.reloadSelect2Inputs);\n });\n });\n\n function created() {\n return _ref11.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n yield Promise.allSettled([this.$nextTick(), this.state.mounted]);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.state.forminputs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var input = _step.value;\n\n yield this.initSelect2Field(input);\n yield this.initDateTimeField(input);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n var _this7 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.off('filtertokenchange', _this7.reloadSelect2Inputs);\n });\n this.clearSelect2();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.searching || _vm.loading || _vm.reload),expression:\"state.searching || loading || reload\"}],staticClass:\"g3w-search-panel form-group\"},[_c('bar-loader',{attrs:{\"loading\":_vm.state.searching || _vm.loading || _vm.reload}}),_vm._v(\" \"),_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),(_vm.filterlayers.length > 0)?_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"g3w-search-filter-layers\"}},[_c('helpdiv',{attrs:{\"message\":\"sdk.search.help_filter\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.nofilter'),expression:\"'layer_selection_filter.tools.nofilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"btn skin-border-color\",staticStyle:{\"background-color\":\"transparent\",\"margin\":\"5px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearFilters($event)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('clear')})])],1):_vm._e(),_vm._v(\" \"),_vm._t(\"tools\"),_vm._v(\" \"),_vm._t(\"form\",[_c('form',{staticClass:\" g3w-search-form\"},[_vm._l((_vm.state.forminputs),function(input){return _c('div',{key:input.id,staticClass:\"form-group\"},[('numberfield' === input.type || ('textfield' === input.type && 'Range' === input.widget_type))?_c('div',{staticClass:\"numeric\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\",\"min\":\"0\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"change\":function($event){return _vm.changeInput(input)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)},function($event){return _vm.changeInput(input)}]}})]):(['textfield', 'textField'].includes(input.type))?_c('div',{staticClass:\"form-item-search text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"focus\":_vm.onFocus,\"change\":function($event){return _vm.changeInput(input)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)}}})]):(['selectfield', 'autocompletefield'].includes(input.type))?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || input.loading || input.disabled),expression:\"state.loading[input.dependance] || input.loading || input.disabled\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),(input.dependance)?_c('bar-loader',{attrs:{\"loading\":_vm.state.loading[input.dependance] || input.loading}}):_vm._e(),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(input.disabled || input.loading),expression:\"input.disabled || input.loading\"}],staticClass:\"form-control\",attrs:{\"name\":input.attribute,\"id\":input.id}},_vm._l((input.values),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[(_vm.allvalue === opt.value)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.all'),expression:\"'sdk.search.all'\"}]}):_c('span',[_vm._v(_vm._s(opt.key))])])}),0)],1):('datetimefield' === input.type)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || false),expression:\"state.loading[input.dependance] || false\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('div',{ref:'date_' + input.id,refInFor:true,staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"id\":input.id,\"type\":\"text\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon skin-color\"},[_c('span',{class:_vm.$fa(input.options.format.time ? 'time': 'calendar')})])])]):_vm._e(),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(input.options.description))]),_vm._v(\" \"),(_vm.is_staff)?_c('details',{staticStyle:{\"cursor\":\"pointer\",\"user-select\":\"none\",\"margin-top\":\".5em\"}},[_vm._m(0,true),_vm._v(\" \"),_c('sub',[(input.options.description)?_c('br'):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.type))]),_vm._v(\" | \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.widget_type))]),_vm._v(\" \"),(input.options.value)?[_vm._v(\": { key: \\\"\"+_vm._s(input.options.key)+\"\\\", value: \\\"\"+_vm._s(input.options.value)+\" }\\\"\")]:_vm._e(),_vm._v(\" \"),(input.options.layer_id)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"layer_id:\")]),_vm._v(\" \\\"\"+_vm._s(input.options.layer_id)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"depends_on:\")]),_vm._v(\" \\\"\"+_vm._s(input.dependance)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"strict:\")]),_vm._v(\" \"+_vm._s(input.dependance_strict))]:_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(input.logicop)?_c('div',{staticClass:\"search-logicop skin-border-color\"},[_c('h4',[_vm._v(_vm._s(input.logicop))])]):_vm._e()])}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.autofilter),expression:\"autofilter\"}],staticClass:\"magic-checkbox\",attrs:{\"id\":\"g3w-search-filter\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.autofilter)?_vm._i(_vm.autofilter,null)>-1:(_vm.autofilter)},on:{\"change\":function($event){var $$a=_vm.autofilter,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.autofilter=$$a.concat([$$v]))}else{$$i>-1&&(_vm.autofilter=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.autofilter=$$c}}}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.autofilter'),expression:\"'sdk.search.autofilter'\"}],attrs:{\"for\":\"g3w-search-filter\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('dosearch'),expression:\"'dosearch'\"}],staticClass:\"sidebar-button-run btn btn-block pull-right\",attrs:{\"id\":\"dosearch\",\"data-i18n\":\"dosearch\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.doSearch($event)}}})])],2)]),_vm._v(\" \"),_vm._t(\"footer\"),_vm._v(\" \"),(_vm.layers_url)?_c('div',{staticStyle:{\"padding-top\":\"5em\"}},[_c('b',[_c('a',{attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_vm._v(\"Edit in admin\")])])]):_vm._e()],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('summary',{staticStyle:{\"text-align\":\"center\"}},[_c('code',{staticStyle:{\"border\":\"1px solid currentColor\",\"color\":\"var(--skin-color)\",\"background-color\":\"transparent\"}},[_vm._v(\"🐞 \"),_c('b',[_vm._v(\"DEBUG\")])])])}]\n__vue__options__._scopeId = \"data-v-51de5286\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"store/application\":178,\"utils/convertQGISDateTimeFormatToMoment\":187,\"utils/createSingleFieldParameter\":196,\"utils/getDataForSearchInput\":205,\"vueify/lib/insert-css\":2}],107:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"SidebarItem\",\n data: function data() {\n var component = this.$options.component;\n\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component: component,\n active: false,\n title: component.title || '',\n open: !!component.state.open,\n icon: component.icon,\n iconColor: component.iconColor,\n collapsible: false !== component.collapsible,\n actions: component.actions,\n sidebar: _application2.default.gui.sidebar\n };\n },\n\n methods: {\n triggerAction: function triggerAction(action, component) {\n action.fnc(component);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var opts = this.$options.opts || {};\n var sidebar = document.getElementById('g3w-sidebarcomponents');\n\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n } else {\n Array.from(sidebar.children).forEach(function (child, i) {\n if (i === opts.position || child.id === opts.position) {\n child.insertAdjacentElement(!!opts.before || undefined === opts.before ? 'beforebegin' : 'afterend', _this.$el);\n }\n });\n }\n\n this.component.mount(this.$refs['component-placeholder']);\n\n this.component.click = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$open = _ref.open,\n open = _ref$open === undefined ? false : _ref$open;\n\n if (open) {\n _application2.default.sidebar.components.forEach(function (comp) {\n if (comp !== _this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n var node = _this.component.getInternalComponent().$el;\n\n node.classList.toggle('menu-open', open);\n\n node.parentNode.classList.toggle('active', open);\n\n _this.component.setOpen(open);\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.component.state.visible),expression:\"component.state.visible\"},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.component.state.disabled),expression:\"component.state.disabled\"}],staticClass:\"treeview sidebaritem\",class:{'active': _vm.open },attrs:{\"id\":_vm.component.id}},[_c('bar-loader',{attrs:{\"loading\":_vm.component.state.loading}}),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebar.open ? '' : _vm.title),expression:\"sidebar.open ? '' : title\",arg:\"right\",modifiers:{\"create\":true}}],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"current-tooltip\":_vm.sidebar.open ? '' : _vm.title}},[_c('div',[(!_vm.sidebar.open)?_c('span',[_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })})]):_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticClass:\"treeview-label\"})]),_vm._v(\" \"),_c('div',[(_vm.info.state)?_c('span',{class:_vm.info.class,staticStyle:{\"position\":\"absolute\",\"right\":\"5px\",\"font-weight\":\"bold\"},style:(_vm.info.style),attrs:{\"title\":_vm.info.tooltip}},[_vm._v(_vm._s(_vm.info.state))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.actions),function(action){return _c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(action.tooltip),expression:\"action.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],key:action.id,staticClass:\"action skin-tooltip-left\",class:action.class,staticStyle:{\"font-weight\":\"bold\",\"padding\":\"3px\"},style:(action.style),on:{\"click\":function($event){$event.stopPropagation();return _vm.triggerAction(action, _vm.component.internalComponent)}}})})],2),_vm._v(\" \"),(_vm.collapsible)?_c('i',{staticClass:\"pull-right\",class:_vm.$fa('angle-left')}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"component-placeholder\"})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"store/application\":178}],108:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".content-bookmarks{font-weight:700;color:#fff;padding:5px;border-bottom:1px solid #fff;margin-bottom:2px}.spatial-bookmark{display:flex;align-items:baseline;justify-content:space-between;padding:5px!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _InputText = require('components/InputText.vue');\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id);\nvar SPATIAL_BOOKMARKS_LOCALITEMS = item ? JSON.parse(item) : undefined;\n\nexports.default = {\n name: 'spatial-bookmarks',\n\n components: {\n InputText: _InputText2.default\n },\n\n data: function data() {\n var project = _application2.default.project;\n\n if (undefined === SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]) {\n SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()] = [];\n }\n\n return {\n showaddform: false,\n\n project: {\n bookmarks: project.state.bookmarks || []\n },\n\n user: {\n bookmarks: SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]\n },\n\n addbookmarkinput: {\n name: 'add-bookmark',\n label: t('sdk.spatialbookmarks.input.name'),\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n validate: { valid: false, required: true }\n }\n };\n },\n\n\n computed: {\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n addBookMark: function addBookMark() {\n this.user.bookmarks.push({\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n name: this.addbookmarkinput.value,\n extent: _gui2.default.getService('map').getMapExtent(),\n removable: true,\n crs: { epsg: 1 * _gui2.default.getService('map').getCrs().split('EPSG:')[1] }\n });\n\n this.saveUserBookMarks();\n this.showaddform = false;\n },\n removeBookMark: function removeBookMark(id) {\n this.user.bookmarks = this.user.bookmarks.filter(function (b) {\n return id !== b.id;\n });\n this.saveUserBookMarks();\n },\n saveUserBookMarks: function saveUserBookMarks() {\n SPATIAL_BOOKMARKS_LOCALITEMS[_application2.default.project.getId()] = this.user.bookmarks;\n try {\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id, JSON.stringify(SPATIAL_BOOKMARKS_LOCALITEMS));\n } catch (e) {\n console.warn(e);\n }\n },\n showAddForm: function showAddForm() {\n this.addbookmarkinput.value = null;\n this.showaddform = true;\n },\n gotoSpatialBookmark: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var extent = _ref.extent,\n crs = _ref.crs;\n\n if (crs.epsg !== _gui2.default.getService('map').getEpsg().split('EPSG:')[1]) {\n var projection = yield _projections2.default.registerProjection('EPSG:' + crs.epsg);\n extent = ol.proj.transformExtent(extent, projection, _gui2.default.getService('map').getProjection());\n }\n\n _gui2.default.getService('map').zoomToExtent(extent, { force: true });\n });\n\n function gotoSpatialBookmark(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return gotoSpatialBookmark;\n }()\n },\n\n watch: {\n showaddform: function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (bool) {\n yield this.$nextTick();\n\n for (var i = 0; i < this.$refs.add_bookmark_input.$el.children.length; i++) {\n this.$refs.add_bookmark_input.$el.children[i].classList.remove('col-sm-12');\n }\n }\n });\n\n function showaddform(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return showaddform;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.$on('close', function () {\n return _this.showaddform = false;\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu g3w-spatial-bookmarks menu-items\",class:{'g3w-tools': !_vm.showaddform},attrs:{\"id\":\"g3w-spatial-bookmarks\"}},[(_vm.showaddform)?_c('li',[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"5px\",\"margin\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showaddform = false}}})]),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.spatialbookmarks.helptext\"}}),_vm._v(\" \"),_c('div',{staticClass:\"container add-bookmark-input\",staticStyle:{\"padding\":\"5px\",\"width\":\"100%\"}},[_c('input-text',{ref:\"add_bookmark_input\",attrs:{\"state\":_vm.addbookmarkinput}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.addbookmarkinput.validate.valid),expression:\"!addbookmarkinput.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.addBookMark($event)}}})])],1):[(_vm.is_staff)?_c('div',{staticClass:\"content-bookmarks\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.project.title'),expression:\"'sdk.spatialbookmarks.sections.project.title'\"}]}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/user_manual/map_views/map_view.html#bookmarking-extents-on-the-map\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')})])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.project.bookmarks),function(bookmark){return [(bookmark.nodes)?_c('li',[_c('div',{staticStyle:{\"font-weight\":\"bold\",\"width\":\"100%\"},style:({ borderBottom: bookmark.expanded ? '2px solid #2c3b41' : 'none' }),on:{\"click\":function($event){$event.stopPropagation();bookmark.expanded = !bookmark.expanded}}},[_c('span',{class:_vm.$fa(bookmark.expanded ? 'caret-down' : 'caret-right'),staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(bookmark.expanded),expression:\"bookmark.expanded\"}],staticStyle:{\"margin-left\":\"10px\"}},_vm._l((bookmark.nodes),function(node){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(node)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(node.name))])])])}),0)]):_c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])])])]}),_vm._v(\" \"),_c('div',{staticClass:\"content-bookmarks\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.user.title'),expression:\"'sdk.spatialbookmarks.sections.user.title'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"padding\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showAddForm($event)}}})]),_vm._v(\" \"),_vm._l((_vm.user.bookmarks),function(bookmark){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('span',{staticClass:\"sidebar-button sidebar-button-icon\",staticStyle:{\"color\":\"red\",\"margin\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeBookMark(bookmark.id)}}},[_c('i',{class:_vm.$fa('trash')})])])})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputText.vue\":77,\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],109:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#open_attribute_table{margin-top:5px}#g3w-table-toolbar{margin:.755em 1ch 0 0;position:relative;bottom:3px;display:inline-flex;border:1px solid #d2d6de;background-color:#fff;float:left}\\n.geometry[data-v-b4d834d0]{cursor:pointer}#noheaders[data-v-b4d834d0]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-b4d834d0]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-b4d834d0]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-b4d834d0]{padding:5px}#g3w-table-toolbar .action-button[data-v-b4d834d0]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-b4d834d0]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-b4d834d0]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\\n#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _mixins = require('mixins');\n\nvar _debounce = require('utils/debounce');\n\nvar _coordinatesToGeometry = require('utils/coordinatesToGeometry');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nfunction _createFeatureForSelection(f) {\n return {\n id: f.id,\n feature: {\n attributes: f.attributes || f.properties,\n geometry: f.geometry ? (0, _coordinatesToGeometry.coordinatesToGeometry)(f.geometry.type, f.geometry.coordinates) : f.geometry\n }\n };\n}\n\nexports.default = {\n\n name: \"G3WTable\",\n\n mixins: [_mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.$options.layerId);\n\n return {\n layer: layer,\n state: {\n features: [],\n headers: [null].concat(_toConsumableArray(layer.getTableHeaders())),\n geometry: true,\n allfeatures: 0,\n selectAll: false,\n nofilteredrow: false,\n show_tools: false,\n geolayer: {\n active: false,\n in_bbox: undefined\n }\n },\n\n relations: (layer.isGeoLayer() ? [] : layer.getRelations().getArray()).map(function (relation) {\n return [relation, (0, _getCatalogLayerById.getCatalogLayerById)(relation.getFather())];\n }).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n relation = _ref2[0],\n father = _ref2[1];\n\n return layer.getId() !== relation.getFather() && father.isGeoLayer();\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n relation = _ref4[0],\n father = _ref4[1];\n\n return {\n layer: father,\n father_fields: relation.getFatherField(),\n fields: relation.getChildField(),\n features: {}\n };\n }),\n filter: [],\n has_map: true,\n async_highlight: function async_highlight() {},\n getAll: false,\n search: {},\n firstCall: true,\n map_bbox: { key: null, cb: null },\n disableSelectAll: false\n };\n },\n\n\n computed: {\n has_features: function has_features() {\n return !!this.state.features.length;\n },\n current_layout: function current_layout() {\n return _application2.default.gui.layout[_application2.default.gui.layout.__current];\n }\n },\n\n methods: {\n toggleFilterToken: function toggleFilterToken(layer) {\n if (layer.state.filter.active && !layer.selectionFids.has('__ALL__')) {\n this.state.selectAll = false;\n this.selectAllRows();\n }\n layer.toggleFilterToken();\n },\n editFeature: function editFeature(feature) {\n $('.tooltip').remove();\n _gui2.default.getService('queryresults').editFeature({ layer: { id: this.layer.getId() }, feature: feature });\n },\n openForm: function () {\n var _ref5 = _asyncToGenerator(function* (feature) {\n $('.tooltip').remove();\n try {\n yield (0, _promisify.promisify)(_data2.default.getData('search:fids', {\n inputs: {\n layer: this.layer,\n fids: [feature.id],\n formatter: 1\n }\n }));\n\n if (feature.geometry) {\n _gui2.default.getService('map').zoomToGeometry((0, _coordinatesToGeometry.coordinatesToGeometry)(feature.geometry.type, feature.geometry.coordinates));\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function openForm(_x) {\n return _ref5.apply(this, arguments);\n }\n\n return openForm;\n }(),\n get_check_id: function get_check_id(cache) {\n if (cache) {\n this.get_check_id.cached_id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n return this.get_check_id.cached_id;\n },\n getDataFromBBOX: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n this.state.geolayer.active = !this.state.geolayer.active;\n\n var is_active = this.state.geolayer.active;\n\n if (is_active) {\n this.map_bbox.cb = function () {\n _this.state.geolayer.in_bbox = _this.state.geolayer.active ? map.getMapBBOX().join(',') : undefined;\n $(_this.$refs.attribute_table).DataTable().ajax.reload();\n };\n }\n\n if (is_active) {\n this.map_bbox.key = map.getMap().on('moveend', this.map_bbox.cb);\n }\n\n if (this.map_bbox.cb) {\n this.map_bbox.cb();\n }\n\n if (!is_active) {\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n }\n });\n\n function getDataFromBBOX() {\n return _ref6.apply(this, arguments);\n }\n\n return getDataFromBBOX;\n }(),\n checkSelectAll: function checkSelectAll() {\n this.state.selectAll = this.layer.getSelectionFids().has(_g3wConstants.SELECTION.ALL) || this.state.features.every(function (f) {\n return f.selected;\n });\n },\n inverseSelection: function () {\n var _ref7 = _asyncToGenerator(function* () {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = !f.selected;\n });\n this.layer.invertSelectionFids();\n\n this.checkSelectAll();\n });\n\n function inverseSelection() {\n return _ref7.apply(this, arguments);\n }\n\n return inverseSelection;\n }(),\n selectAllRows: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.state.selectAll = !this.state.selectAll;\n\n var filter = this.filter.length > 0;\n\n if (!filter) {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = _this2.state.selectAll;\n });\n yield this.layer[this.state.selectAll ? 'setSelectionFidsAll' : 'clearSelectionFids']();\n }\n\n if (filter) {\n if (this.state.selectAll) {\n this.state.features.filter(function (f) {\n return _this2.filter.includes(f.id);\n }).forEach(function (f) {\n f.selected = true;\n _this2.layer.includeSelectionFid(f.id);\n });\n } else {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.layer.clearSelectionFids();\n }\n }\n\n this.state.show_tools = this.state.features.some(function (f) {\n return f.selected;\n });\n });\n\n function selectAllRows() {\n return _ref8.apply(this, arguments);\n }\n\n return selectAllRows;\n }(),\n highlight: function () {\n var _ref9 = _asyncToGenerator(function* (feature) {\n var _this3 = this;\n\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var map = _gui2.default.getService('map');\n\n if (!feature || !feature.geometry) {\n return map.clearHighlightGeometry();\n }\n\n this.async_highlight = function () {\n map.clearHighlightGeometry();\n map.highlightGeometry(feature.geometry, { zoom: zoom, duration: Infinity });\n };\n\n if (feature.geometry && this.has_map) {\n return this.async_highlight();\n }\n\n if (feature.geometry || !feature.geometry && !this.relations.length > 0) {\n return;\n }\n\n var features = [];\n var field_values = [];\n\n (yield Promise.allSettled(this.relations.flatMap(function (_ref10) {\n var layer = _ref10.layer,\n father_fields = _ref10.father_fields,\n fields = _ref10.fields;\n\n var values = fields.map(function (f) {\n return feature.attributes[f];\n });\n field_values.push(values);\n return zoom ? _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n formatter: 1,\n filter: father_fields.map(function (field, i) {\n return field + '|eq|' + encodeURIComponent(values[i]);\n }).join('|AND,')\n },\n outputs: false }) : [];\n }))).forEach(function (response, index) {\n if ('fulfilled' === response.status) {\n var relation = _this3.relations[index];\n var k = field_values[index].join('__');\n var data = response.value && response.value.data[0];\n if (undefined === relation.features[k]) {\n relation.features[k] = data && data.features || [];\n }\n features.push.apply(features, _toConsumableArray(relation.features[k]));\n }\n if (zoom) {\n map.zoomToFeatures(features, { highlight: true });\n } else {\n map.highlightFeatures(features);\n }\n });\n });\n\n function highlight(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return highlight;\n }(),\n select: function select(feature) {\n feature.selected = !feature.selected;\n\n this.state.selectAll = this.state.features.every(function (f) {\n return f.selected;\n });\n\n this.layer[feature.selected ? 'includeSelectionFid' : 'excludeSelectionFid'](feature.id);\n\n this.state.show_tools = this.layer.getSelectionFids().size > 0;\n },\n resize: function () {\n var _ref11 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n var table = this.$el.querySelector('div.dataTables_scrollBody');\n if (table) {\n table.style.height = _gui2.default.isMobile() ? '100%' : ((document.querySelector('.content') || {}).clientHeight || 0) - ((this.$el.querySelector('div.dataTables_scrollHeadInner') || {}).clientHeight || 0) - 100 + 'px';\n }\n\n $(this.$refs.attribute_table).DataTable().columns.adjust();\n });\n\n function resize() {\n return _ref11.apply(this, arguments);\n }\n\n return resize;\n }(),\n getFeatures: function () {\n var _ref12 = _asyncToGenerator(function* (params) {\n var _this4 = this;\n\n try {\n _gui2.default.setLoadingContent(true);\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(params || {}));\n var is_valid = this.layer.isGeoLayer() && data.features;\n\n if (is_valid && !params) {\n var loaded_features = this.state.features.map(function (f) {\n return f.id;\n });\n data.features.filter(function (f) {\n return f.geometry && !loaded_features.includes(f.id);\n }).forEach(function (f) {\n return _this4.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n });\n this.getAll = true;\n }\n\n if (is_valid) {\n return data.features;\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject();\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getFeatures(_x4) {\n return _ref12.apply(this, arguments);\n }\n\n return getFeatures;\n }(),\n getData: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$start = _ref14.start,\n start = _ref14$start === undefined ? 0 : _ref14$start,\n _ref14$order = _ref14.order,\n order = _ref14$order === undefined ? [] : _ref14$order,\n _ref14$length = _ref14.length,\n length = _ref14$length === undefined ? this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1] : _ref14$length,\n _ref14$columns = _ref14.columns,\n columns = _ref14$columns === undefined ? [] : _ref14$columns,\n _ref14$search = _ref14.search,\n search = _ref14$search === undefined ? { value: null } : _ref14$search;\n\n _gui2.default.setLoadingContent(true);\n\n this.layer.setAttributeTablePageLength(length);\n\n if (0 === this.state.headers.length) {\n return {\n data: [],\n recordsTotal: 0,\n recordsFiltered: 0\n };\n }\n\n this.state.features.splice(0);\n\n if (0 === order.length) {\n order.push({ column: 1, dir: 'asc' });\n }\n\n this.search = {\n field: columns.filter(function (c) {\n return c.search && c.search.value;\n }).map(function (c) {\n return c.name + '|ilike|' + c.search.value + '|and';\n }).join(',') || undefined,\n page: start === 0 || this.layer.state.filter.active ? 1 : start / length + 1,\n page_size: length,\n search: search.value && search.value.length > 0 ? search.value : null,\n in_bbox: this.state.geolayer.in_bbox,\n ordering: ('asc' === order[0].dir ? '' : '-') + this.state.headers[order[0].column].name,\n formatter: 1\n };\n\n try {\n var _state$features;\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(this.search));\n\n this.state.allfeatures = data.count;\n this.state.featurescount = (data.features || []).length;\n\n (_state$features = this.state.features).push.apply(_state$features, _toConsumableArray((data.features || []).map(function (f) {\n if (_this5.layer.isGeoLayer() && f.geometry && !_this5.layer.getOlSelectionFeature(f.id)) {\n _this5.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n }\n return {\n id: f.id,\n selected: _this5.layer.getFilterToken() || _this5.layer.hasSelectionFid(f.id),\n attributes: f.attributes || f.properties,\n geometry: _this5.layer.isGeoLayer() && f.geometry || undefined\n };\n })));\n\n this.state.show_tools = this.layer.state.filter.active || this.layer.getSelectionFids().size > 0;\n this.state.selectAll = this.layer.state.filter.active || this.state.features.every(function (f) {\n return f.selected;\n });\n return {\n data: this.state.features.map(function (f) {\n return [null].concat(_this5.state.headers.filter(function (h) {\n return h;\n }).map(function (h) {\n h.value = (f.attributes || f.properties)[h.name];return h.value;\n }));\n }),\n recordsFiltered: data.count,\n recordsTotal: data.count,\n filter: this.state.features.map(function (f) {\n return f.id;\n })\n\n };\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(t(\"info.server_error\"));\n return Promise.reject(e);\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getData() {\n return _ref13.apply(this, arguments);\n }\n\n return getData;\n }(),\n unSelectAll: function unSelectAll() {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.state.show_tools = false;\n this.state.selectAll = false;\n },\n onGUIContent: function onGUIContent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.has_map = 100 !== opts.perc;\n },\n filterChangeHandler: function filterChangeHandler() {\n $(this.$refs.attribute_table).DataTable().ajax.reload();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.unSelectAll = this.unSelectAll.bind(this);\n\n this.onGUIContent = this.onGUIContent.bind(this);\n\n _gui2.default.onbefore('setContent', this.onGUIContent);\n this.layer.on('unselectionall', this.unSelectAll);\n this.layer.on('filtertokenchange', this.filterChangeHandler);\n\n _gui2.default.closeSideBar();\n this.current_layout.rightpanel.height = 55;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n id: 'openattributetable',\n service: { state: this.state },\n internalComponent: this\n }),\n\n split: _gui2.default.isMobile() ? 'h' : 'v',\n push: false,\n title: this.layer.getTitle(),\n text: true });\n\n if (this.isMobile()) {\n _gui2.default.hideSidebar();\n }\n });\n\n function created() {\n return _ref15.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.last_map_control = _gui2.default.getService('map').getMapControls().find(function (c) {\n return c.control.isToggled && c.control.isToggled();\n });\n if (this.last_map_control) {\n this.last_map_control.control.toggle();\n }\n this.setContentKey = _gui2.default.onafter('setContent', this.resize);\n\n yield this.$nextTick();\n\n var pResolve = void 0;\n\n var filterColumns = {};\n\n var table = $(this.$refs.attribute_table).DataTable({\n ajax: (0, _debounce.debounce)(function () {\n var _ref17 = _asyncToGenerator(function* (opts, cb) {\n try {\n _gui2.default.disableContent(true);\n var data = yield _this6.getData(opts);\n cb(data);\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n if (pResolve) {\n pResolve(data.filter);\n }\n yield _this6.$nextTick();\n table.columns.adjust();\n } catch (e) {\n console.warn(e);\n }\n\n _gui2.default.disableContent(false);\n });\n\n return function (_x7, _x8) {\n return _ref17.apply(this, arguments);\n };\n }(), 800),\n bSortCellsTop: true,\n columns: this.state.headers,\n columnDefs: [{ orderable: false, searchable: false, targets: 0, width: '1%' }],\n deferLoading: this.state.allfeatures,\n dom: 'frt<\"#g3w-table-toolbar\">lip',\n lengthMenu: _g3wConstants.PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1],\n processing: false,\n responsive: true,\n scrollCollapse: true,\n scrollX: true,\n serverSide: true,\n sSearch: false\n });\n\n this.changeColumn = (0, _debounce.debounce)(function () {\n var _ref18 = _asyncToGenerator(function* (e, i) {\n var value = e.target.value.trim();\n table.one('draw', _asyncToGenerator(function* () {\n filterColumns[i] = value;\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n _this6.filter = Object.values(filterColumns).find(function (f) {\n return f;\n }) ? yield new Promise(function (resolve) {\n return pResolve = resolve;\n }) : [];\n }));\n table.columns(i).search(value).draw();\n });\n\n return function (_x9, _x10) {\n return _ref18.apply(this, arguments);\n };\n }());\n\n var fragment = document.createDocumentFragment();\n fragment.appendChild(this.$refs.table_toolbar);\n document.getElementById('g3w-table-toolbar').appendChild(fragment);\n\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_info'));\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_filter'));\n\n document.getElementById('table_body_attributes').remove();\n\n table.ajax.reload();\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n if (this.last_map_control && !this.last_map_control.control.isToggled()) {\n this.last_map_control.control.toggle();\n }\n\n this.last_map_control = null;\n\n this.layer.off('unselectionall', this.unSelectAll);\n this.layer.off('filtertokenchange', this.filterChangeHandler);\n\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n\n this.highlight();\n\n if (!this.has_map) {\n setTimeout(function () {\n _this7.async_highlight();\n _this7.has_map = true;\n _this7.async_highlight = function () {};\n });\n }\n\n _gui2.default.un('setContent', this.setContentKey);\n\n document.querySelector('#g3w-view-content .dataTables_info').remove();\n document.querySelector('#g3w-view-content .dataTables_filter').remove();\n $(this.$refs.attribute_table).DataTable().destroy(true);\n });\n\n function beforeDestroy() {\n return _ref20.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"open_attribute_table\"}},[_c('div',{ref:\"table_toolbar\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"1px\"}},[(_vm.layer.isGeoLayer())?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.geolayer.active && _vm.current_layout.rightpanel.height_100),expression:\"state.geolayer.active && current_layout.rightpanel.height_100\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.show_features_on_map'),expression:\"'layer_selection_filter.tools.show_features_on_map'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('map'), _vm.state.geolayer.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.getDataFromBBOX($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:_vm.$fa('clear'),attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.clearSelectionFids()}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.invert'),expression:\"'layer_selection_filter.tools.invert'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('invert'), _vm.layer.state.filter.active ? 'g3w-disabled': '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.inverseSelection($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('filter'), _vm.layer.state.filter.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFilterToken(_vm.layer)}}})]),_vm._v(\" \"),(_vm.state.headers.length)?_c('table',{ref:\"attribute_table\",staticClass:\"table table-striped row-border compact nowrap\",attrs:{\"id\":\"layer_attribute_table\"}},[_c('thead',[_c('tr',[_c('th'),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_vm._v(_vm._s(header.label))]):_vm._e()})],2),_vm._v(\" \"),_c('tr',[_c('th',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disableSelectAll),expression:\"disableSelectAll\"}]},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"attribute_table_select_all_rows\"},domProps:{\"checked\":_vm.state.selectAll}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"attribute_table_select_all_rows\"},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.selectAllRows($event)}}},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_c('input',{staticClass:\"form-control column-search\",attrs:{\"type\":\"text\",\"placeholder\":header.name,\"title\":'search by ' + header.name},on:{\"keyup\":function($event){return _vm.changeColumn($event, i)}}})]):_vm._e()})],2)]),_vm._v(\" \"),_c('tbody',{attrs:{\"id\":\"table_body_attributes\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('tbody',{ref:\"table_body\",on:{\"mouseleave\":function($event){return _vm.highlight()}}},_vm._l((_vm.state.features),function(feature,i){return _c('tr',{key:feature.id,class:[\n i % 2 == 1 ? 'odd' : 'pair',\n 'feature_attribute',\n { geometry: !!feature.geometry },\n { 'selected': feature.selected }\n ],attrs:{\"role\":\"row\"},on:{\"mouseover\":function($event){return _vm.highlight(feature, false)},\"click\":function($event){$event.stopPropagation();return _vm.highlight(feature, true)}}},[_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.get_check_id(true)},domProps:{\"checked\":feature.selected}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.get_check_id(false)},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.select(feature)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.relations.row_to_form'),expression:\"'sdk.tooltips.relations.row_to_form'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();return _vm.openForm(feature)}}}),_vm._v(\" \"),(_vm.layer.state.geolayer && !feature.geometry)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('no_geometry'),expression:\"'no_geometry'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button ' + _vm.$fa('alert'),staticStyle:{\"color\":\"currentColor !important\"}}):_vm._e(),_vm._v(\" \"),(_vm.layer.isEditable() && _vm.layer.config.editing.visible)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.editing'),expression:\"'sdk.tooltips.editing'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature)}}}):_vm._e()])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,j){return (j > 0)?_c('td',[_c('field',{attrs:{\"feature\":feature,\"state\":({ label: undefined, value: feature.attributes[header.name] })}})],1):_vm._e()})],2)}),0)]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('dataTable.no_data'),expression:\"'dataTable.no_data'\"}],attrs:{\"id\":\"noheaders\"}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b4d834d0\"\n\n},{\"components/FieldG3W.vue\":43,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins\":166,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/coordinatesToGeometry\":189,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],110:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tool_disabled[data-v-31811884]{cursor:not-allowed}.tool_disabled>span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-tool\",\n props: ['tool'],\n methods: {\n showToolStateMessage: function showToolStateMessage() {\n _gui2.default.showModalDialog({ title: this.tool.state.type.toUpperCase(), message: this.tool.state.message });\n }\n },\n computed: {\n disabled: function disabled() {\n return !this.tool.offline && !_application2.default.online || this.tool.loading || this.tool.disabled;\n },\n sidebarOpen: function sidebarOpen() {\n return _application2.default.gui.sidebar.open;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[('checkbox' === _vm.tool.type)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tool.isCheck),expression:\"tool.isCheck\"}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":_vm.tool.layerName,\"type\":\"checkbox\"},domProps:{\"value\":_vm.tool.layerName,\"checked\":Array.isArray(_vm.tool.isCheck)?_vm._i(_vm.tool.isCheck,_vm.tool.layerName)>-1:(_vm.tool.isCheck)},on:{\"click\":function($event){return _vm.tool.action(_vm.tool)},\"change\":function($event){var $$a=_vm.tool.isCheck,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.tool.layerName,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tool, \"isCheck\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tool, \"isCheck\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tool, \"isCheck\", $$c)}}}}),_vm._v(\"\\n \"+_vm._s(_vm.tool.name)+\"\\n \")])]):_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name),expression:\"sidebarOpen ? null : tool.html ? tool.html.text || tool.name : tool.name\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"tool\",class:{ tool_disabled: _vm.disabled },staticStyle:{\"position\":\"relative\"},attrs:{\"current-tooltip\":_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name},on:{\"click\":function($event){!_vm.disabled ? _vm.tool.action(_vm.tool) : null}}},[_c('bar-loader',{attrs:{\"loading\":_vm.tool.loading}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.tool.icon || 'caret-right')}),_vm._v(\" \"),(_vm.tool.html)?_c('span',{staticClass:\"tool-label\"},[_c('i',{class:_vm.tool.html.icon}),_vm._v(\"\\n \"+_vm._s(_vm.tool.html.text || _vm.tool.name)+\"\\n \")]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.tool.name),expression:\"tool.name\"}],staticClass:\"tool-label\"}),_vm._v(\" \"),(_vm.tool.state.type)?_c('span',{staticClass:\"tool_type\",style:({ color: ({ alert: 'red', info: 'blue', warning: 'orange'})[_vm.tool.state.type] }),on:{\"click\":function($event){$event.stopPropagation();return _vm.showToolStateMessage($event)}}},[_c('i',{class:_vm.$fa(_vm.tool.state.type)})]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-31811884\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],111:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".usermessage-content[data-v-57c4f706]{color:#fff;z-index:1000;position:absolute;line-height:normal;padding:3px;min-width:250px;box-shadow:0 3px 5px rgba(0,0,0,.3);border-radius:0 0 3px 3px}.usermessage-tool[data-v-57c4f706]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-57c4f706]{padding:0;min-width:100%}.usermessage-header-content[data-v-57c4f706]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-57c4f706]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-57c4f706]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-57c4f706],.usermessage-header-title h4[data-v-57c4f706]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-57c4f706]{margin:0}.usermessage-header-subtitle[data-v-57c4f706]{font-weight:700;margin:5px}.usermessage-header-right[data-v-57c4f706]{padding:5px}.usermessage-header-right-item[data-v-57c4f706]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-57c4f706]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction dragElement(el) {\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (el.style.marginLeft) {\n x2 -= parseInt(el.style.marginLeft);el.style.marginLeft = null;\n }\n if (el.style.marginTop) {\n y2 -= parseInt(el.style.marginTop);el.style.marginTop = null;\n }\n el.style.top = el.offsetTop - y2 + \"px\";\n el.style.left = el.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: \"usermessage\",\n props: {\n id: {},\n type: {\n type: String,\n default: \"info\" },\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n position: {\n type: String,\n default: \"top\"\n },\n size: {\n type: String,\n default: \"fullpage\"\n },\n message: {\n type: String,\n default: ''\n },\n textMessage: {\n type: Boolean,\n default: false\n },\n autoclose: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n duration: {\n type: Number,\n default: 2000\n },\n closable: {\n type: Boolean,\n default: true\n },\n\n iconClass: {\n type: String,\n default: null\n }\n },\n data: function data() {\n var _position$split = this.position.split('-'),\n _position$split2 = _slicedToArray(_position$split, 2),\n where = _position$split2[0],\n alignement = _position$split2[1];\n\n return {\n style: _extends({}, 'center' === where ? { top: 0, bottom: 0, maxHeight: '20%' } : _defineProperty({}, where, 50), {\n 'center': { left: 0, right: 0, margin: 'auto' },\n 'right': { right: 0 }\n }[alignement] || {}, {\n width: {\n 'small': '325px',\n 'medium': '50%',\n 'fullpage': '100%'\n }[alignement ? 'small' : this.size] || '100%'\n }, {\n success: { backgroundColor: \"#62ac62\", color: \"#FFF\" },\n info: { backgroundColor: \"#44a0bb\", color: \"#FFF\" },\n warning: { backgroundColor: \"#f29e1d\", color: \"#FFF\" },\n alert: { backgroundColor: \"#c34943\", color: \"#FFF\" },\n tool: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n \"z-index\": 100,\n marginLeft: document.body.classList.contains('sidebar-collapse') ? '5px' : '40px'\n },\n loading: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n fontWeight: \"bold\"\n }\n }[this.type])\n };\n },\n\n computed: {\n showheader: function showheader() {\n return 'loading' !== this.type;\n }\n },\n methods: {\n addClassMobile: function addClassMobile() {\n return this.isMobile() && !_gui2.default.isSidebarVisible();\n },\n closeUserMessage: function closeUserMessage() {\n this.$emit('close-usermessage');\n },\n hideShow: function hideShow() {}\n },\n created: function created() {\n this.observe = null;\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n if ('tool' === this.type) {\n dragElement(this.$refs.user_message);\n this.observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n _this.style.marginLeft = mutation.target.classList.contains('sidebar-collapse') ? '5px' : '40px';\n }\n });\n });\n this.observer.observe(document.body, { attributes: true });\n }\n if (this.autoclose) {\n yield this.$nextTick();\n var timeout = setTimeout(function () {\n _this.closeUserMessage();\n clearTimeout(timeout);\n }, this.duration);\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"user_message\",staticClass:\"usermessage-content\",class:( _obj = {'mobile': _vm.addClassMobile()}, _obj['usermessage-' + _vm.type] = true, _obj ),style:(_vm.style),attrs:{\"id\":_vm.id}},[(_vm.showheader)?_c('div',{staticClass:\"usermessage-header-content\"},[_c('i',{staticClass:\"usermessage-header-icontype\",class:_vm.$fa(_vm.iconClass || _vm.type)}),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-title\"},[_vm._t(\"header\",[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}]}):_c('h4',[_vm._v(\" \"+_vm._s(_vm.type.toUpperCase()))]),_vm._v(\" \"),(_vm.subtitle)?_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.subtitle),expression:\"subtitle\"}],staticClass:\"usermessage-header-subtitle\"}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-right\"},[(!_vm.autoclose && _vm.closable)?_c('div',{on:{\"click\":_vm.closeUserMessage}},[_c('i',{staticClass:\"usermessage-header-right-item\",class:_vm.$fa('close')})]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"body\",[(_vm.textMessage)?_c('div',{staticClass:\"usermessage-message\"},[_vm._v(_vm._s(_vm.message))]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"usermessage-message\"})]),_vm._v(\" \"),_vm._t(\"footer\")],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-57c4f706\"\n\n},{\"services/gui\":173,\"vueify/lib/insert-css\":2}],112:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormService = exports.FormComponent = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Form = require('components/Form.vue');\n\nvar vueComp = _interopRequireWildcard(_Form);\n\nvar _FormBody = require('components/FormBody.vue');\n\nvar _FormBody2 = _interopRequireDefault(_FormBody);\n\nvar _getDefaultExpression = require('utils/getDefaultExpression');\n\nvar _getFilterExpression = require('utils/getFilterExpression');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/form/vue/form.js@v3.9.3 \n * \n * Used by the following plugins: \"editing\", \"cadastre\", \"geonotes\", \"iternet\" \n */\nvar FormComponent = exports.FormComponent = function (_Component) {\n _inherits(FormComponent, _Component);\n\n function FormComponent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormComponent);\n\n // set element of the form\n var _this = _possibleConstructorReturn(this, (FormComponent.__proto__ || Object.getPrototypeOf(FormComponent)).call(this, _extends({}, opts, {\n id: opts.id || 'form',\n perc: null !== opts.layer.getFormPercentage() ? opts.layer.getFormPercentage() : opts.perc,\n service: new (opts.service || FormService)(),\n vueComponentObject: opts.vueComponentObject || vueComp\n })));\n\n var components = opts.components || [{\n id: opts.id,\n title: opts.title,\n name: opts.name,\n root: true,\n component: _FormBody2.default,\n headerComponent: opts.headerComponent\n }];\n\n _this.getService().addComponents(components);\n _this.getService().setComponent(components[0].component);\n\n _this.onafter('mount', function () {\n return _gui2.default.setModal(true);\n });\n return _this;\n }\n\n _createClass(FormComponent, [{\n key: 'addFormComponents',\n value: function addFormComponents() {\n var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.getService().addComponents(c);\n }\n }, {\n key: 'addFormComponent',\n value: function addFormComponent(c) {\n c && this.getService().addComponent(c);\n }\n }, {\n key: 'layout',\n value: function layout() {\n this.getInternalComponent().reloadLayout();\n }\n\n /** @TODO check if superflous */\n\n }, {\n key: 'mount',\n value: function mount(parent, append) {\n return _get(FormComponent.prototype.__proto__ || Object.getPrototypeOf(FormComponent.prototype), 'mount', this).call(this, parent, append).then(function () {\n _gui2.default.setModal(true);\n });\n }\n }]);\n\n return FormComponent;\n}(_g3wComponent2.default);\n\n/**\n * @file ORIGINAL SOURCE: src/app/gui/form/formservice.js@v3.10.2\n * @since 3.11.0\n */\n\n\nvar FormService = exports.FormService = function (_G3WObject) {\n _inherits(FormService, _G3WObject);\n\n function FormService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormService);\n\n var _this2 = _possibleConstructorReturn(this, (FormService.__proto__ || Object.getPrototypeOf(FormService)).call(this, opts));\n\n _this2.state = null;\n\n _this2.eventBus = new Vue();\n\n _this2.eventBus.$on('set-loading-form', function () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return _this2.state.loading = bool;\n });\n\n /**\n * Whether to force some state property to have a certain value.\n * (e.g., set on a child to parent form service relation)\n *\n * @type {{ valid: boolean, update: boolean }}\n */\n _this2.force = {\n update: false,\n valid: false // NOT USED FOR THE MOMENT\n };\n\n _this2.layer;\n\n _this2.setters = {\n setInitForm: function setInitForm() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n },\n setFormStructure: function setFormStructure(formStructure) {\n this.state.formstructure = formStructure;\n },\n setFormFields: function setFormFields() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.fields = fields;\n this.handleFieldsWithExpression(fields);\n },\n setupFields: function setupFields() {},\n setFormData: function setFormData() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setFormFields(fields);\n },\n setField: function setField(field) {},\n setState: function setState(state) {\n this._setState(state);\n },\n addActionsForForm: function addActionsForForm(actions) {},\n postRender: function postRender(element) {\n // hook for listener to chenge DOM\n }\n };\n\n return _this2;\n }\n\n _createClass(FormService, [{\n key: 'init',\n value: function init() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n }\n\n /**\n * Init form options passed, for example, by editor\n */\n\n }, {\n key: '_setInitForm',\n value: function _setInitForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fields = options.fields,\n feature = options.feature,\n parentData = options.parentData,\n layer = options.layer,\n _options$title = options.title,\n title = _options$title === undefined ? 'Form' : _options$title,\n formId = options.formId,\n name = options.name,\n _options$buttons = options.buttons,\n buttons = _options$buttons === undefined ? {} : _options$buttons,\n context_inputs = options.context_inputs,\n isnew = options.isnew,\n _options$footer = options.footer,\n footer = _options$footer === undefined ? {} : _options$footer,\n headerComponent = options.headerComponent;\n\n\n this.layer = layer;\n\n /**\n * Cloned feature\n */\n this.feature = feature.clone();\n\n this.title = title;\n\n this.formId = formId;\n\n this.name = name;\n\n this.buttons = buttons;\n\n this.context_inputs = context_inputs;\n\n this.parentData = parentData;\n\n this.headerComponent = headerComponent;\n\n /**\n * Force update state of the service\n * (e.g., setted on a child to parent form service relation)\n */\n this.state = {\n layerid: layer.getId(),\n loading: false,\n components: [],\n disabledcomponents: [],\n component: null,\n headers: [],\n currentheaderid: null,\n fields: null,\n buttons: this.buttons,\n disabled: false,\n isnew: isnew,\n valid: true, // global form validation state. True at beginning\n update: feature.isNew(), // set update in case or not is a new feature\n // when input change will be updated\n tovalidate: {},\n feature: this.feature, //need to get feature cloned\n componentstovalidate: {},\n footer: footer,\n ready: false\n };\n\n this.force.update = feature.isNew();\n\n /**\n * Expression fields dependencies from filter_expression\n */\n this.filter_expression_fields_dependencies = {}; //\n\n /**\n * Expression fields dependencies from default_expression\n */\n this.default_expression_fields_dependencies = {};\n\n /**\n * @since 3.8.0\n */\n this.default_expression_fields_on_update = [];\n\n /**\n * Wheter to listen for changes when `saveDefaultExpressionFieldsNotDependencies` is called\n *\n * @since 3.8.0\n */\n this.listenChangeInput = true;\n\n this.setFormFields(fields);\n\n if (this.layer && options.formStructure) {\n this.setFormStructure(this.layer.getLayerEditingFormStructure());\n }\n }\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.ready = bool;\n }\n }, {\n key: 'changeInput',\n\n\n /**\n * Called when an input change value\n *\n * @param input\n */\n value: function changeInput(input) {\n //need to set property\n this.feature.set(input.name, input.value);\n if (true === this.listenChangeInput) {\n this.evaluateFilterExpressionFields(input);\n this.evaluateDefaultExpressionFields(input);\n this.isValid(input);\n this.isUpdated(input);\n }\n }\n }, {\n key: 'isUpdated',\n\n\n /**\n * Check if the form is updated base on change on input\n *\n * @param input\n */\n value: function isUpdated(input) {\n this.state.update = this.force.update || (!this.state.update ? input.update : !!this.state.fields.find(function (f) {\n return f.update;\n }));\n }\n }, {\n key: 'setUpdate',\n\n\n /**\n *\n */\n value: function setUpdate() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$force = options.force,\n force = _options$force === undefined ? false : _options$force;\n\n this.force.update = force;\n this.state.update = this.force.update || bool;\n if (false === this.state.update) {\n // set original `field._value` equal to current value to get changes\n this.state.fields.forEach(function (f) {\n return f._value = f.value;\n });\n }\n }\n }, {\n key: 'evaluateDefaultExpressionFields',\n\n\n /**\n * Evaluate filter expression\n *\n * @param input\n */\n value: function evaluateDefaultExpressionFields() {\n var _this3 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.default_expression_fields_dependencies[input.name];\n if (filter) {\n filter.forEach(function (dependency_field) {\n (0, _getDefaultExpression.getDefaultExpression)({\n parentData: _this3.parentData,\n qgs_layer_id: _this3.layer.getId(),\n field: _this3._getField(dependency_field),\n feature: _this3.feature\n });\n });\n }\n }\n }, {\n key: 'evaluateFilterExpressionFields',\n\n\n /**\n * Evaluate filter expression fields\n *\n * @param input\n */\n value: function evaluateFilterExpressionFields() {\n var _this4 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.filter_expression_fields_dependencies[input.name];\n if (filter) {\n // on form service inititalization `filter_expression` option has\n // `referencing_fields` or `referenced_columns` from another layer\n filter.forEach(function (dependency_field) {\n (0, _getFilterExpression.getFilterExpression)({\n parentData: _this4.parentData,\n qgs_layer_id: _this4.layer.getId(),\n field: _this4._getField(dependency_field),\n feature: _this4.feature\n });\n });\n }\n }\n }, {\n key: '_handleFieldWithFilterExpression',\n\n\n /**\n * Handle a field that has a `filter_expression` value object\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithFilterExpression(field, filter_expression) {\n var _this5 = this;\n\n if (!filter_expression) {\n return;\n }\n\n var _filter_expression$re = filter_expression.referencing_fields,\n referencing_fields = _filter_expression$re === undefined ? [] : _filter_expression$re,\n _filter_expression$re2 = filter_expression.referenced_columns,\n referenced_columns = _filter_expression$re2 === undefined ? [] : _filter_expression$re2;\n\n\n var dependency_fields = new Set();\n\n // TODO: add description\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this5.filter_expression_fields_dependencies[f]) {\n _this5.filter_expression_fields_dependencies[f] = [];\n }\n _this5.filter_expression_fields_dependencies[f].push(field.name);\n });\n\n // Call input service if a field has a `filter_expression` every time we open a form\n (0, _getFilterExpression.getFilterExpression)({\n parentData: this.parentData,\n qgs_layer_id: this.layer.getId(),\n feature: this.feature,\n field: field\n });\n }\n }, {\n key: '_handleFieldWithDefaultExpression',\n\n\n /**\n * Handle a field that has a `default_value` object and check if `apply_on_update` only\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithDefaultExpression(field, default_expression) {\n var _this6 = this;\n\n if (default_expression) {\n var _default_expression$r = default_expression.referencing_fields,\n referencing_fields = _default_expression$r === undefined ? [] : _default_expression$r,\n _default_expression$r2 = default_expression.referenced_columns,\n referenced_columns = _default_expression$r2 === undefined ? [] : _default_expression$r2,\n _default_expression$a = default_expression.apply_on_update,\n apply_on_update = _default_expression$a === undefined ? false : _default_expression$a;\n\n // Skip if not apply_on_update (listen dependency change only for new Feature)\n\n if (!apply_on_update && !this.state.isnew) {\n return;\n }\n\n var dependency_fields = new Set();\n\n // Get array of dependency fields on default expression if exist\n // add each of it in a Set (unique array items)\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n // Only in apply update listen changeInput\n if (apply_on_update) {\n\n this.default_expression_fields_on_update.push(field);\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this6.default_expression_fields_dependencies[f]) {\n _this6.default_expression_fields_dependencies[f] = [];\n }\n _this6.default_expression_fields_dependencies[f].push(field.name);\n });\n }\n\n // Call input service if a field has a default_expression and is a new feature\n if (this.state.isnew) {\n (0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: this.feature,\n qgs_layer_id: this.layer.getId(),\n parentData: this.parentData\n });\n }\n }\n }\n }, {\n key: 'handleFieldsWithExpression',\n\n\n /**\n * Handle fields with associated expression\n *\n * @param {Array} [fields = []]\n */\n value: function handleFieldsWithExpression() {\n var _this7 = this;\n\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // TODO: add description\n fields.forEach(function (field) {\n var _field$input$options = field.input.options,\n options = _field$input$options === undefined ? {} : _field$input$options;\n\n _this7._handleFieldWithFilterExpression(field, options.filter_expression);\n _this7._handleFieldWithDefaultExpression(field, options.default_expression);\n });\n // start to evaluate filter expression field\n Object.keys(this.filter_expression_fields_dependencies).forEach(function (name) {\n return _this7.evaluateFilterExpressionFields({ name: name });\n });\n }\n }, {\n key: 'setCurrentFormPercentage',\n value: function setCurrentFormPercentage(perc) {\n this.layer.setFormPercentage(perc);\n }\n }, {\n key: 'setLoading',\n value: function setLoading() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.loading = bool;\n }\n }, {\n key: 'setValidComponent',\n value: function setValidComponent(_ref) {\n var id = _ref.id,\n valid = _ref.valid;\n\n this.state.componentstovalidate[id] = valid;\n this.isValid();\n }\n }, {\n key: 'getValidComponent',\n value: function getValidComponent(id) {\n return this.state.componentstovalidate[id];\n }\n }, {\n key: 'isValid',\n\n\n /**\n * Every input sends to form its valid value that will change the general state of form\n */\n value: function isValid(input) {\n var _this8 = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually && !input.validate.required && !input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this8.state.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n }\n if (input.validate.mutually && !input.validate.required && input.validate.empty) {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n // count not empty input_name\n var filled = [];\n for (var i = input.validate.mutually.length; i--;) {\n var input_name = input.validate.mutually[i];\n\n if (!this.state.tovalidate[input_name].validate.empty) {\n filled.push(input_name);\n }\n }\n if (filled.length < 2) {\n filled.forEach(function (input_name) {\n _this8.state.tovalidate[input_name].validate.mutually_valid = true;\n _this8.state.tovalidate[input_name].validate.valid = true;\n setTimeout(function () {\n _this8.state.tovalidate[input_name].validate.valid = _this8.state.tovalidate[input_name].validate._valid;\n _this8.state.valid = _this8.state.valid && _this8.state.tovalidate[input_name].validate.valid;\n });\n });\n }\n }\n // check if min_field or max_field is set\n if (!input.validate.mutually && !input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var _input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.state.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.state.tovalidate[input.validate.min_field].value : this.state.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.state.tovalidate[input.validate.max_field].value;\n\n if (input.validate.valid) {\n this.state.tovalidate[_input_name].validate.valid = true;\n }\n }\n }\n this.state.valid = Object.values(this.state.tovalidate).reduce(function (previous, input) {\n return previous && input.validate.valid;\n }, true) && Object.values(this.state.componentstovalidate).reduce(function (previous, valid) {\n return previous && valid;\n }, true);\n }\n }, {\n key: 'addComponents',\n value: function addComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n\n this.addComponent(component);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addComponent',\n value: function addComponent(component) {\n if (!component) {\n return;\n }\n var id = component.id,\n title = component.title,\n name = component.name,\n icon = component.icon,\n valid = component.valid,\n headerComponent = component.headerComponent,\n _component$header = component.header,\n header = _component$header === undefined ? true : _component$header;\n\n if (undefined !== valid) {\n this.state.componentstovalidate[id] = valid;\n this.state.valid = this.state.valid && valid;\n this.eventBus.$emit('add-component-validate', {\n id: id,\n valid: valid\n });\n }\n // Set a component that can be part of headers (tabs or not)\n if (header) {\n this.state.headers.push({ title: title, name: name, id: id, icon: icon, component: headerComponent });\n this.state.currentheaderid = this.state.currentheaderid || id;\n }\n\n this.state.components.push(component);\n }\n }, {\n key: 'replaceComponent',\n value: function replaceComponent() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n component = _ref2.component;\n\n this.state.components.splice(this.state.components.findIndex(function (c) {\n return id === c.id;\n }), 1, component);\n }\n }, {\n key: 'disableComponent',\n value: function disableComponent() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n disabled = _ref3.disabled;\n\n if (disabled) {\n this.state.disabledcomponents.push(id);\n } else {\n this.state.disabledcomponents = this.state.disabledcomponents.filter(function (disableId) {\n return id !== disableId;\n });\n }\n }\n }, {\n key: 'setCurrentComponentById',\n value: function setCurrentComponentById(id) {\n if (!this.state.disabledcomponents.includes(id)) {\n this.setIdHeader(id);\n this.state.component = this.state.components.find(function (c) {\n return id === c.id;\n }).component;\n return this.state.component;\n }\n }\n }, {\n key: 'setRootComponent',\n\n\n /**\n * setRootComponent (is form)\n */\n value: function setRootComponent() {\n this.state.component = this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'getRootComponent',\n value: function getRootComponent() {\n return this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'isRootComponent',\n value: function isRootComponent(component) {\n return component === this.getRootComponent();\n }\n }, {\n key: 'getComponentById',\n value: function getComponentById(id) {\n return this.state.components.find(function (c) {\n return id === c.id;\n });\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n this.state.component = component;\n }\n }, {\n key: 'addedComponentTo',\n value: function addedComponentTo() {\n var formcomponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';\n\n this.state.addedcomponentto[formcomponent] = true;\n }\n }, {\n key: 'addToValidate',\n value: function addToValidate(input) {\n this.state.tovalidate[input.name] = input;\n // check if is mounted on form gui an otherwise leave form component to run is Valid when form is mounted on dom\n if (this.state.ready) {\n this.isValid(input);\n }\n }\n }, {\n key: 'removeToValidate',\n value: function removeToValidate(input) {\n delete this.state.tovalidate[input.name];\n this.isValid();\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: '_setState',\n value: function _setState(state) {\n this.state = state;\n }\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.state.fields;\n }\n }, {\n key: '_getField',\n value: function _getField(name) {\n return this.state.fields.find(function (f) {\n return name === f.name;\n });\n }\n }, {\n key: 'getEventBus',\n value: function getEventBus() {\n return this.eventBus;\n }\n }, {\n key: 'setIdHeader',\n value: function setIdHeader(id) {\n this.state.currentheaderid = id;\n }\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context_inputs.context;\n }\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this.context_inputs.inputs;\n }\n }, {\n key: 'handleRelation',\n\n\n /**\n * handleRelation\n */\n\n value: function handleRelation(_ref4) {\n //OVERWRITE BY PLUGIN EDITING PLUGIN\n\n var relationId = _ref4.relationId,\n feature = _ref4.feature;\n }\n }, {\n key: 'clearAll',\n\n\n /**\n * Clear all the open things opened by service\n */\n value: function clearAll() {\n this.eventBus.$off('addtovalidate');\n this.eventBus.$off('set-main-component');\n this.eventBus.$off('set-loading-form');\n this.eventBus.$off('component-validation');\n this.eventBus.$off('disable-component');\n }\n }, {\n key: 'saveDefaultExpressionFieldsNotDependencies',\n\n\n /**\n * @returns {Promise}\n *\n * @since 3.8.0\n */\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n if (0 === this.default_expression_fields_on_update.length) {\n return;\n }\n\n // disable listen changeInput\n this.listenChangeInput = false;\n // Array contains field name already resolved with server default_expression request\n var requested_expressions = [];\n // array of defaultExpressionPromises request\n var pending_expressions = [];\n\n // loop through default_expression_fields\n\n var _loop = function* _loop(i) {\n\n // extract all dependency fields of current field\n var dFs = Object.keys(_this9.default_expression_fields_dependencies).filter(function (field) {\n return (\n // check if dependency field is field on update\n _this9.default_expression_fields_on_update.find(function (_ref6) {\n var name = _ref6.name;\n return name === field;\n }) &&\n // if it has bind current field\n _this9.default_expression_fields_dependencies[field].find(function (name) {\n return name === _this9.default_expression_fields_on_update[i].name;\n })\n );\n });\n\n // id current field has an Array (at least one) dependency fields\n // need to evaluate its value and after evaluate field value expression\n\n var _loop2 = function* _loop2(_i) {\n // in case already done a default_expression request evaluation from server\n if (undefined !== requested_expressions.find(function (name) {\n return dFs[_i] === name;\n })) {\n return 'continue';\n }\n // get value. Need to wait response\n try {\n var value = yield (0, _getDefaultExpression.getDefaultExpression)({\n field: _this9._getField(dFs[_i]),\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n });\n // update field with evaluated value to feature\n _this9.feature.set(dFs[_i], value);\n // add to array\n requested_expressions.push(dFs[_i]);\n } catch (e) {\n console.warn(e);\n }\n };\n\n for (var _i = 0; _i < dFs.length; _i++) {\n var _ret2 = yield* _loop2(_i);\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n for (var i = 0; i < this.default_expression_fields_on_update.length; i++) {\n yield* _loop(i);\n }\n\n this.default_expression_fields_on_update.forEach(function (field) {\n if (undefined === requested_expressions.find(function (name) {\n return field.name === name;\n })) {\n pending_expressions.push((0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n }));\n }\n });\n\n try {\n yield Promise.allSettled(pending_expressions);\n } catch (e) {\n console.warn(e);\n }\n\n // enable listen changeInput\n this.listenChangeInput = true;\n });\n\n function saveDefaultExpressionFieldsNotDependencies() {\n return _ref5.apply(this, arguments);\n }\n\n return saveDefaultExpressionFieldsNotDependencies;\n }()\n }]);\n\n return FormService;\n}(_g3wObject2.default);\n\n},{\"components/Form.vue\":50,\"components/FormBody.vue\":51,\"g3w-component\":125,\"g3w-object\":130,\"services/gui\":173,\"utils/getDefaultExpression\":206,\"utils/getFilterExpression\":207}],113:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * Perform search\n * \n * @param { Object } opts\n * @param opts.filter\n * @param opts.queryUrl\n * @param opts.feature_count\n * @param opts.show - false = internal request (No output data)\n * \n * @returns { Promise }\n */\nvar doSearch = function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref3.filter,\n queryUrl = _ref3.queryUrl,\n show = _ref3.show,\n _ref3$feature_count = _ref3.feature_count,\n feature_count = _ref3$feature_count === undefined ? 10000 : _ref3$feature_count,\n state = _ref3.state;\n\n queryUrl = undefined === queryUrl ? state.queryurl : queryUrl;\n show = undefined === show ? 'search' === state.type : show;\n\n state.searching = true;\n\n var data = void 0,\n parsed = void 0;\n //For pagination purpose\n var page_sizes = _g3wConstants.PAGELENGTHS;\n\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: state.search_layers,\n filter: filter || (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (input) {\n return -1 === [null, undefined, _g3wConstants.SEARCH_ALLVALUE].indexOf(input.value) && '' !== input.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n }),\n queryUrl: queryUrl,\n formatter: 1,\n feature_count: feature_count,\n raw: false, // in order to get a raw response\n autofilter: Number(show && state.autofilter.value) }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query (not pagination)\n if (show && !state.paginate && _application2.default.project.state.autozoom_query && data && data.data && 1 === data.data.length) {\n _gui2.default.getService('map').zoomToFeatures(data.data[0].features);\n }\n\n var search_1n = !show && 'search_1n' === state.type;\n var features = search_1n && (data.data[0] || {}).features || [];\n var relation = features.length && _application2.default.project.getRelationById(state.search_1n_relationid); // child and father relation fields (search father layer id based on result of child layer)\n var layer = relation && _application2.default.project.getLayerById(relation.referencedLayer); // father layer id\n\n // no features on result → show an empty message\n if (search_1n && !features.length) {\n _gui2.default.outputDataPlace(Promise.resolve({ data: [] }));\n parsed = [];\n }\n\n // parse search_1n\n if (relation) {\n var _relation$fieldRef = relation.fieldRef,\n referencedField = _relation$fieldRef.referencedField,\n referencingField = _relation$fieldRef.referencingField;\n\n parsed = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: layer,\n filter: (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: layer,\n inputs: features.map(function (f) {\n return {\n attribute: 1 === referencedField.length ? referencedField[0] : referencedField,\n logicop: 'OR',\n operator: 'eq',\n value: [].concat(_toConsumableArray(new Set(1 === referencingField.length // get unique values\n ? features.map(function (f) {\n return f.get(referencingField[0]);\n }) // → single field relation\n : referencingField.map(function (rf) {\n return f.get(rf);\n }) // → multi field relation\n )))\n };\n })\n }),\n formatter: 1,\n feature_count: feature_count,\n autofilter: state.autofilter.value }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: {\n title: state.title\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n\n state.searching = false;\n\n return parsed ? parsed : data;\n });\n\n return function doSearch() {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports.SearchPanel = SearchPanel;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFormInputs = require('utils/createFilterFormInputs');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _debounce = require('utils/debounce');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _SearchPanel = require('components/SearchPanel.vue');\n\nvar vueSearchComp = _interopRequireWildcard(_SearchPanel);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchpanel.js@v3.9.3\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchservice.js@v3.9.3\n */\nfunction SearchPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var state = {\n loading: {}, // store loading state of each input and each dependency\n searching: false, //Boolean. If true, search request from server is starts. False no search\n title: opts.name,\n /** @type { 'search' | 'search_1n' } */\n type: opts.type || 'search',\n /** @TODO check if deprecated */\n queryurl: (opts.options || {}).queryurl,\n /** @deprecated will be removed in v4.x */\n search_endpoint: 'api',\n search_1n_relationid: opts.options.search_1n_relationid, //relations\n /** Layers that will be searchable for that search form. The First one is a layer owner of the search set on admin. */\n search_layers: [(opts.options || {}).querylayerid || (opts.options || {}).layerid || null].concat(_toConsumableArray((opts.options || {}).otherquerylayerids || [])).map(function (id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(id);\n }),\n /** Array of inputs that belongs to search form */\n forminputs: ((opts.options || {}).filter || []).map(function (d, i) {\n return {\n id: d.id || (0, _getUniqueDomId.getUniqueDomId)(),\n type: d.input.type || 'textfield',\n widget_type: d.input.widget_type,\n label: d.label,\n attribute: d.attribute,\n values: d.input.options.values || [],\n /** group values by parent value */\n dvalues: {},\n /**\n * true → initially it is disabled (values = [], ALL value)\n * as in the case in which the dependent field will\n * return to having ALL value. When a value is set to\n * the dependent field, the select will be enabled and\n * will contain the filtered values consistent with the\n * value of the dependent parent field\n */\n dependance_strict: d.input.options.dependance_strict || false,\n /**\n * true → the select is not disabled and will contain all possible values\n * (since at the beginning the parent will have the value ALL).\n * When the value of the dependent field changes, the values in the\n * select list will be filtered in a manner consistent with the value\n * of the parent\n */\n dependance: d.input.options.dependance || false,\n value: 'selectfield' === d.input.type ? _g3wConstants.SEARCH_ALLVALUE : null,\n operator: d.op,\n logicop: i === opts.options.filter.length - 1 ? null : d.logicop,\n loading: true,\n disabled: d.input.options.disabled || false,\n /** keep a reference to initial search options (you shouldn't mutate them..) */\n options: d.input.options\n };\n }),\n //@since v3.11.0. Used to set already feature layers filtered https://github.com/g3w-suite/g3w-client/issues/676\n autofilter: { value: 0 }, //value 0 no set, 1\n paginate: !!opts.options.paginate //@since 3.11.0 paginate or not\n };\n\n var setInputs = function () {\n var _ref = _asyncToGenerator(function* () {\n\n for (var i = 0; i <= state.forminputs.length - 1; i++) {\n\n var input = state.forminputs[i];\n var has_autocomplete = 'autocompletefield' === input.type;\n\n // set key-values for select\n input.values = [].concat(_toConsumableArray('selectfield' === input.type ? [_g3wConstants.SEARCH_ALLVALUE] : []), _toConsumableArray(input.dependance_strict || has_autocomplete ? input.values : yield (0, _getDataForSearchInput.getDataForSearchInput)({ state: state, field: input.attribute }) // retrieve input values from server\n )).map(function (value) {\n return 'Object' === (0, _toRawType.toRawType)(value) ? value : { key: value, value: value };\n });\n\n // there is a dependence\n if (input.dependance) {\n state.loading[input.dependance] = false;\n input.disabled = input.dependance_strict; // disabled for BACKCOMP\n }\n\n // save a copy of original values\n input._values = [].concat(_toConsumableArray(input.values));\n\n input.loading = false;\n }\n });\n\n return function setInputs() {\n return _ref.apply(this, arguments);\n };\n }();\n // create search form structure \n state.mounted = setInputs();\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\n setInputs: setInputs,\n run: (0, _debounce.debounce)(function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _GUI$getService$getMa = _gui2.default.getService('map').getMap().getSize(),\n _GUI$getService$getMa2 = _slicedToArray(_GUI$getService$getMa, 2),\n w = _GUI$getService$getMa2[0],\n h = _GUI$getService$getMa2[1];\n\n var hide = _gui2.default.isMobile() && (0 === w || 0 === h);\n setTimeout(function () {\n if (hide) {\n _gui2.default.hideSidebar();\n }\n panel.getService().doSearch(_extends({}, args, { state: state }));\n }, hide ? 0 : 600);\n }),\n clear: function clear() {\n panel.getService().state = null;\n },\n\n createFilter: function createFilter() {\n return (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (i) {\n return ![null, undefined, _g3wConstants.SEARCH_ALLVALUE].includes(i.value) && '' !== i.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n });\n }\n });\n\n var panel = new _g3wPanel2.default(_extends({}, opts, {\n show: show,\n id: opts.id || (0, _getUniqueDomId.getUniqueDomId)(),\n title: opts.title || 'search',\n vueComponentObject: opts.component || vueSearchComp,\n service: service\n }));\n\n return panel;\n}\n\n},{\"components/SearchPanel.vue\":106,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFormInputs\":191,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getDataForSearchInput\":205,\"utils/getUniqueDomId\":217,\"utils/toRawType\":242}],114:[function(require,module,exports){\nvar _vueColor = require(\"vue-color\");\n\nvar VueColor = _interopRequireWildcard(_vueColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar initConfig = window.initConfig;\n\n// convert relative base URLs to absolute (eg. '/' → 'http://localhost:8080/')\n/**\n * @file shims legacy variables to ensure backward compatibily with old G3W-CLIENT plugins (eg. window variables)\n * @since v3.8\n */\n\nif (initConfig.baseurl) {\n try {\n new URL(initConfig.baseurl);\n } catch (error) {\n initConfig.baseurl = new URL(initConfig.baseurl, window.location).toString();\n }\n}\n\n// BACKCOMP v3.x (initConfig → initConfig.group)\ninitConfig.group = Object.assign(initConfig.group || {}, new Proxy(Object.fromEntries(Object.keys(initConfig).filter(function (key) {\n return ![\"i18n\", \"staticurl\", \"client\", \"mediaurl\", \"user\", \"baseurl\", \"vectorurl\", \"proxyurl\", \"rasterurl\", \"interfaceowsurl\", \"main_map_title\", 'main_map_title', \"g3wsuite_logo_img\", \"credits\", \"version\", \"group\", \"frontendurl\"].includes(key);\n}).map(function (key) {\n return [key, initConfig[key]];\n})), {\n get: function get(target, prop, receiver) {\n console.warn(\"[G3W-CLIENT] initConfig.group.\" + prop.toString() + \" is deprecated\");return Reflect.get.apply(Reflect, arguments);\n }\n}));\n\n// gid of panoramic map project\ninitConfig.overviewproject = initConfig.overviewproject ? initConfig.overviewproject.gid : null;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use ESM imports from 'vue-color' instead\n */\nwindow.VueColor = VueColor;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use require('vue-cookie') instead of window.VueCookie\n */\nwindow.VueCookie = require('vue-cookie');\n\n},{\"vue-color\":\"vue-color\",\"vue-cookie\":\"vue-cookie\"}],115:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.trigger = exports.unwatch = exports.watch = undefined;\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\n/**\n * Internal state\n */\nvar vm = new Vue(); /**\n * @TODO refactor stateful directives (eg. \"v-t\") in order to delete this file: \"src/directives/utils.js\"\n */\n\nvar directives = {};\n\nvar watch = exports.watch = function watch() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref.el,\n attr = _ref.attr,\n watcher = _ref.watcher,\n _ref$immediate = _ref.immediate,\n immediate = _ref$immediate === undefined ? true : _ref$immediate;\n\n var unique_attr_id = (0, _getUniqueDomId.getUniqueDomId)();\n el.setAttribute(attr, unique_attr_id);\n var dir = directives[unique_attr_id] = {};\n if (watcher) {\n dir.unwatch = vm.$watch(watcher[0], watcher[1], watcher[2] || { immediate: immediate });\n dir.handler = watcher[1];\n }\n return unique_attr_id;\n};\n\nvar unwatch = exports.unwatch = function unwatch() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref2.el,\n attr = _ref2.attr;\n\n var unique_attr_id = el.getAttribute(attr);\n if (unique_attr_id) {\n directives[unique_attr_id].unwatch();\n delete directives[unique_attr_id];\n }\n};\n\nvar trigger = exports.trigger = function trigger(_ref3) {\n var el = _ref3.el,\n attr = _ref3.attr,\n data = _ref3.data;\n return directives[el.getAttribute(attr)].handler(data);\n};\n\n},{\"utils/getUniqueDomId\":217}],116:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n binding.value ? el.setAttribute('checked', 'checked') : el.removeAttribute('checked');\n};\n\n},{}],117:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],118:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-download-id';\n\nexports.default = {\n bind: function bind(el, binding) {\n if ('boolean' === typeof binding.value ? binding.value : true) {\n (0, _utils.watch)({\n el: el,\n attr: attr,\n watcher: [function () {\n return _application2.default.download;\n }, function (bool) {\n var className = binding.modifiers && binding.modifiers.show && 'hide' || 'disabled';\n el.classList.toggle('g3w-' + className, className === 'hide' ? !bool : bool);\n }]\n });\n }\n },\n\n unbind: function unbind(el) {\n return (0, _utils.unwatch)({ el: el, attr: attr });\n }\n};\n\n},{\"directives/utils\":115,\"store/application\":178}],119:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-select2-id';\n\nexports.default = {\n inserted: function inserted(el, binding, vnode) {\n var _ref = vnode.data.attrs || {},\n templateResult = _ref.templateResult,\n templateSelection = _ref.templateSelection,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === undefined ? false : _ref$multiple,\n _ref$search = _ref.search,\n search = _ref$search === undefined ? true : _ref$search,\n select2_value = _ref.select2_value,\n indexItem = _ref.indexItem,\n _ref$createTag = _ref.createTag,\n createTag = _ref$createTag === undefined ? false : _ref$createTag,\n _ref$dropdownAutoWidt = _ref.dropdownAutoWidth,\n dropdownAutoWidth = _ref$dropdownAutoWidt === undefined ? false : _ref$dropdownAutoWidt,\n _ref$dropdownParent = _ref.dropdownParent,\n dropdownParent = _ref$dropdownParent === undefined ? false : _ref$dropdownParent,\n placeholder = _ref.placeholder,\n _ref$clear = _ref.clear,\n clear = _ref$clear === undefined ? false : _ref$clear;\n\n var isArray = binding.value && Array.isArray(vnode.context[binding.value]) // check if is an array\n && undefined !== indexItem; // check if indexItem is defined\n //Need in case of change\n var createSelect2 = function createSelect2() {\n $(el).select2({\n tags: createTag,\n width: '100%',\n dropdownCssClass: 'skin-color',\n dropdownAutoWidth: dropdownAutoWidth,\n dropdownParent: true === dropdownParent ? $(el.parentNode) : undefined,\n templateResult: templateResult,\n templateSelection: templateSelection,\n minimumResultsForSearch: search ? undefined : -1,\n placeholder: placeholder,\n allowClear: clear,\n createTag: function createTag(params) {\n var value = params.term.trim();\n return value ? {\n id: value,\n text: value,\n newTag: true // add additional value\n } : null;\n }\n }).on('select2:select select2:unselect', function (e) {\n if (!binding.value) {\n return;\n }\n\n var value = binding.value;\n var selected = 'select2:select' === e.type;\n var id = e.params.data.id;\n var ctx = vnode.context;\n\n // selected\n /** @TODO reduce nesting level */\n if (selected) {\n var arr = isArray ? ctx[value][indexItem].value : ctx[value];\n // check is can have multiple value\n if (multiple && arr.every(function (d) {\n return id !== d;\n })) {\n arr.push(id);\n } else if (isArray) {\n ctx[value][indexItem].value = id;\n } else {\n // take in an account text binding value single world or object (eg. state.name)\n var attrs = ('' + value).split('.');\n var last = attrs.pop();\n attrs.reduce(function (acc, a) {\n acc = acc[a];return acc;\n }, vnode.context)[last] = id;\n }\n }\n\n // unselected\n /** @TODO reduce nesting level */\n if (!selected && multiple) {\n if (isArray) {\n ctx[value][indexItem].value = ctx[value][indexItem].value.filter(function (d) {\n return id !== d;\n });\n } else {\n ctx[value] = ctx[value].filter(function (d) {\n return id !== d;\n });\n }\n }\n\n // dispatch \"change\" event to native \\n \\n \\n
',\n data: function data() {\n return { methods: _g3wConstants.SPATIAL_METHODS, method: _this4.getSpatialMethod() };\n },\n watch: { method: function method(m) {\n return _this4.setSpatialMethod(m);\n } },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n break;\n\n case 'custom':\n this.toggledTool = toggledTool.component;\n break;\n\n }\n\n /**\n * @TODO check if it is deprecated. It used to show help message for map control\n */\n if ('how' === toggledTool.how && this._onhover) {\n this._toolButton = $('');\n $(this.element).prepend(this._toolButton);\n this._toolButton.on('click', function (e) {\n e.stopPropagation();\n _this4.showToggledTool(true);\n });\n $(this.element).hover(function () {\n return _this4._toggled && _this4._toolButton.show();\n });\n $(this.element).mouseleave(function () {\n return _this4._toolButton.hide();\n });\n }\n }\n }, {\n key: 'showToggledTool',\n value: function showToggledTool() {\n var show = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (show) {\n _gui2.default.showUserMessage({\n title: this.toggledTool.__title,\n type: 'tool',\n size: 'small',\n iconClass: this.toggledTool.__iconClass,\n closable: this._toolButton ? true : false,\n hooks: { body: this.toggledTool }\n });\n } else {\n _gui2.default.closeUserMessage();\n }\n }\n\n /**\n * Set button status (pressed / not pressed)\n * \n * @param { Boolean } toggled\n * @param { Object } opts\n */\n\n }, {\n key: 'toggle',\n value: function toggle() {\n var _this5 = this;\n\n var toggled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this._toggled;\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n opts.parent = undefined === opts.parent ? false : opts.parent;\n\n // skip if button is already toggled or un-toggled\n if (toggled === this._toggled) {\n return;\n }\n\n this._toggled = toggled;\n\n if (this.cursorClass) {\n this.setMouseCursor(toggled);\n }\n\n // toggle other toggleable control\n if (toggled) {\n this.getMap().getControls().forEach(function (c) {\n if (c.id && c.toggle && c.id !== _this5.id && c.id !== opts.parent) {\n c.toggle(false);\n }\n });\n }\n\n if (this._interaction) {\n this._interaction.setActive(toggled);\n }\n\n /** Add or remove g3w-ol-toggled class to control button */\n $(this.element).find('button').first()[toggled ? 'addClass' : 'removeClass']('g3w-ol-toggled');\n\n /** @TODO Deprecated */\n if (toggled && this._toolButton) {\n this._toolButton.show();\n } else if (!toggled && this._toolButton) {\n this._toolButton.hide();\n }\n\n //** if not toggled and has a toggle tool (e.g., measure map control) close user message tool */\n if (this.toggledTool) {\n this.showToggledTool(this._toggled);\n }\n\n this.dispatchEvent({ type: 'toggled', toggled: toggled });\n\n if (this._options.onToggled) {\n this._options.onToggled.call(this, toggled);\n }\n }\n }, {\n key: 'getGeometryTypes',\n value: function getGeometryTypes() {\n return this._geometryTypes;\n }\n }, {\n key: 'setGeometryTypes',\n value: function setGeometryTypes(types) {\n this._geometryTypes = types;\n }\n }, {\n key: 'getInteraction',\n value: function getInteraction() {\n return this._interaction;\n }\n\n /**\n * Method to set filter operation intersect or Contains\n */\n\n }, {\n key: 'setSpatialMethod',\n value: function setSpatialMethod() {\n var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'intersects';\n\n this.spatialMethod = method;\n this.dispatchEvent({\n type: 'change-spatial-method',\n spatialMethod: this.spatialMethod\n });\n }\n }, {\n key: 'getSpatialMethod',\n value: function getSpatialMethod() {\n return this.spatialMethod;\n }\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n\n /**\n * @returns { ol.control }\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOlControl',\n value: function getOlControl() {\n return this._control;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'showHide',\n value: function showHide() {\n if (this.element) {\n $(this.element).toggle();\n }\n }\n }]);\n\n return InteractionControl;\n}(ol.control.Control);\n\nexports.default = InteractionControl;\n\n},{\"g3w-constants\":126,\"services/gui\":173}],145:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MeasureControl = exports.MeasureInteraction = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _createMeasureTooltip = require('utils/createMeasureTooltip');\n\nvar _removeMeasureTooltip = require('utils/removeMeasureTooltip');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/measuercontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar MeasureInteraction = exports.MeasureInteraction = function (_ol$interaction$Draw) {\n _inherits(MeasureInteraction, _ol$interaction$Draw);\n\n function MeasureInteraction(opts) {\n _classCallCheck(this, MeasureInteraction);\n\n var measureStyle = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' }),\n stroke: new ol.style.Stroke({ color: opts.drawColor || 'rgba(0, 0, 0, 0.5)', lineDash: [10, 10], width: 3 }),\n image: new ol.style.Circle({\n radius: 5,\n stroke: new ol.style.Stroke({ color: 'rgba(0, 0, 0, 0.7)' }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })\n });\n var source = new ol.source.Vector();\n\n var _this = _possibleConstructorReturn(this, (MeasureInteraction.__proto__ || Object.getPrototypeOf(MeasureInteraction)).call(this, {\n source: source,\n type: opts.geometryType || 'LineString',\n style: measureStyle\n }));\n\n _this._helpTooltip;\n _this._measureTooltipElement;\n _this._measureTooltip;\n _this._featureGeometryChangelistener;\n _this._poinOnMapMoveListener;\n _this._helpTooltipElement;\n\n _this._helpMsg = opts.help;\n _this._projection = opts.projection;\n _this.feature = opts.feature;\n _this._map = null;\n _this._feature = null;\n _this._layer = new ol.layer.Vector({\n source: source,\n style: function style() {\n return [new ol.style.Style({\n stroke: new ol.style.Stroke({ lineDash: [10, 10], width: 3 }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })];\n }\n });\n\n _this.set('beforeRemove', _this.clear);\n _this.set('layer', _this._layer);\n // register event on two action\n _this.on('drawstart', _this._drawStart);\n _this.on('drawend', _this._drawEnd);\n return _this;\n }\n\n _createClass(MeasureInteraction, [{\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._clearMessagesAndListeners();\n if (this._map) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({\n map: this._map\n }, this.measureTooltip));\n this.measureTooltip = null;\n this._map.removeLayer(this._layer);\n }\n }\n }, {\n key: '_clearMessagesAndListeners',\n value: function _clearMessagesAndListeners() {\n this._feature = null;\n // unset tooltip so that a new one can be created\n if (this._map) {\n this._measureTooltipElement = null;\n this._helpTooltipElement.innerHTML = '';\n\n this._helpTooltipElement.classList.add('hidden');\n\n ol.Observable.unByKey(this._featureGeometryChangelistener);\n ol.Observable.unByKey(this._poinOnMapMoveListener);\n\n $(document).off('keydown', this._keyDownEventHandler);\n }\n }\n\n //drawStart function\n\n }, {\n key: '_drawStart',\n value: function _drawStart(e) {\n var _this2 = this;\n\n this._map = this.getMap();\n this._map.removeLayer(this._layer);\n this._feature = e.feature;\n if (this.feature) {\n this._feature.setGeometry(this.feature.getGeometry());\n }\n // removed last point\n this._keyDownEventHandler = function (e) {\n var geom = _this2._feature.getGeometry();\n if (46 === e.keyCode) {\n if (geom instanceof ol.geom.Polygon && geom.getCoordinates()[0].length > 2) {\n _this2.removeLastPoint();\n } else if (geom instanceof ol.geom.LineString && geom.getCoordinates().length > 1) {\n _this2.removeLastPoint();\n }\n }\n };\n $(document).on('keydown', this._keyDownEventHandler);\n this._layer.getSource().clear();\n this._poinOnMapMoveListener = this._map.on('pointermove', function (e) {\n if (e.dragging) {\n return;\n }\n if (_this2._feature && _this2._helpMsg) {\n _this2._helpTooltipElement.innerHTML = t(_this2._helpMsg);\n _this2._helpTooltip.setPosition(e.coordinate);\n _this2._helpTooltipElement.classList.remove('hidden');\n }\n });\n // create help tooltip\n if (this._helpTooltipElement) {\n this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement);\n }\n if (this._helpTooltip) {\n this._map.removeOverlay(this._helpTooltip);\n }\n this._helpTooltipElement = document.createElement('div');\n this._helpTooltipElement.className = 'mtooltip hidden';\n this._helpTooltip = new ol.Overlay({\n element: this._helpTooltipElement,\n offset: [15, 0],\n positioning: 'center-left'\n });\n\n this._map.addOverlay(this._helpTooltip);\n\n // create measure tooltip\n if (this.measureTooltip) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({}, this.measureTooltip, { map: this._map }));\n }\n\n this.measureTooltip = (0, _createMeasureTooltip.createMeasureTooltip)({ map: this._map, feature: this._feature });\n }\n }, {\n key: '_drawEnd',\n value: function _drawEnd() {\n this.measureTooltip.tooltip.getElement().className = 'mtooltip mtooltip-static';\n this.measureTooltip.tooltip.setOffset([0, -7]);\n this._clearMessagesAndListeners();\n this._map.addLayer(this._layer);\n }\n }]);\n\n return MeasureInteraction;\n}(ol.interaction.Draw);\n\nvar MeasureControl = exports.MeasureControl = function (_InteractionControl) {\n _inherits(MeasureControl, _InteractionControl);\n\n function MeasureControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MeasureControl);\n\n var _this3 = _possibleConstructorReturn(this, (MeasureControl.__proto__ || Object.getPrototypeOf(MeasureControl)).call(this, _extends({}, opts, {\n clickmap: true,\n enabled: true,\n onToggled: function onToggled(toggled) {\n // toggle current interaction\n this._interaction.setActive(this.isToggled());\n // when not toggled\n if (!toggled) {\n this._interaction.clear();\n }\n // check if first interaction is current interaction\n if (!toggled && this.interactions[this.types[0]] !== this._interaction) {\n //remove current interaction from the map\n this.getMap().removeInteraction(this._interaction);\n this._interaction = this.interactions[this.types[0]];\n //add first interaction\n this.getMap().addInteraction(this._interaction);\n }\n }\n })));\n\n _this3.types = [];\n\n _this3.interactions = {};\n\n (opts.types || []).forEach(function (t) {\n return _this3.addType(t);\n });\n\n // no type set, hide control\n if (0 === _this3.types.length) {\n _this3.setVisible(false);\n }\n\n _this3.on('setMap', function (e) {\n return e.map.addInteraction(_this3._interaction);\n });\n return _this3;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(MeasureControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this4 = this;\n\n this.types.push(type);\n\n this._interactionClassOptions.geometryType = { area: 'Polygon', length: 'LineString' }[type];\n\n this.interactions[type] = new MeasureInteraction(this._interactionClassOptions);\n\n this.interactions[type].setActive(false);\n\n if (!this._interaction) {\n this._interaction = this.interactions[type];\n }\n\n if (this.types.length > 1) {\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.measures.title',\n __iconClass: 'measure', //@since v3.11.0\n data: function data() {\n return { types: _this4.types, type: _this4.types[0] };\n },\n template: /* html */'\\n
\\n \\n
',\n watch: {\n // change measure interaction\n type: function type(ntype, otype) {\n // deactivate previous interaction\n _this4.interactions[otype].setActive(false);\n _this4.interactions[otype].clear();\n _this4.getMap().removeInteraction(_this4.interactions[otype]);\n // activate new interacion\n _this4.getMap().addInteraction(_this4.interactions[ntype]);\n _this4.interactions[ntype].setActive(true);\n _this4._interaction = _this4.interactions[ntype];\n }\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n }\n }]);\n\n return MeasureControl;\n}(_interactioncontrol2.default);\n\n},{\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"utils/createMeasureTooltip\":193,\"utils/removeMeasureTooltip\":234}],146:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QueryBy = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar POLYGON_TYPES = [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D];\n\n/**\n * Child interaction controls\n */\nvar CONTROLS = {};\n\n/**\n * Spatial query options\n */\nvar QUERY = Vue.observable({\n /** @type {ol.coordinate} bbox coordinates */\n bbox: null,\n /** @type { ol.Feature } drawed feature */\n dfeature: null,\n layer: null,\n feature: null,\n coordinates: null,\n radius: 0\n});\n\n/**\n * Return current layer id selected or __ALL__ (no layer selected)\n * @return {string}\n */\nfunction getSelectedLayerId() {\n return (_gui2.default.getService('map').getSelectedLayer() || {\n getId: function getId() {\n return '__ALL__';\n }\n }).getId();\n}\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybybboxcontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybypolygoncontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybydrawpolygoncontrol.js@v3.9.10\n */\n\nvar QueryBy = exports.QueryBy = function (_InteractionControl) {\n _inherits(QueryBy, _InteractionControl);\n\n function QueryBy() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, QueryBy);\n\n var _this = _possibleConstructorReturn(this, (QueryBy.__proto__ || Object.getPrototypeOf(QueryBy)).call(this, _extends({}, opts, {\n name: 'queryby',\n label: '\\uE903',\n tipLabel: \"sdk.mapcontrols.queryby.title\",\n enabled: true,\n cursorClass: null //store cursorClass of a current sub control enabled (querybbox, etc..)\n })));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n // no type set, hide control\n if (0 === _this.types.length) {\n _this.setVisible(false);\n } else {\n _this.element.classList.add('ol-' + _this.types[0]);\n }\n\n CONTROLS['queryby'] = _this;\n\n _this.selectedLayer = '__ALL__';\n\n // toolbox (options)\n _this.on('toggled', function (_ref) {\n var toggled = _ref.toggled;\n\n if (!toggled) {\n return _gui2.default.closeUserMessage();\n }\n _gui2.default.showUserMessage({\n title: 'sdk.mapcontrols.queryby.title',\n type: 'tool',\n size: 'small',\n iconClass: 'info',\n closable: false,\n hooks: {\n body: {\n data: function data() {\n return {\n types: _this.types,\n type: _this.types[0],\n methods: _g3wConstants.SPATIAL_METHODS,\n method: _this.getSpatialMethod(),\n layers: [],\n selectedLayer: getSelectedLayerId()\n };\n },\n template: /* html */'\\n
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
',\n computed: {\n control: function control() {\n return CONTROLS[this.type];\n },\n queryable: function queryable() {\n var _this2 = this;\n\n return (this.control.layers || []).filter(function (l) {\n return 'querybypolygon' === _this2.type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n });\n },\n no_layers: function no_layers() {\n return !this.queryable || !_hasVisible(this.control);\n },\n help: function help() {\n return 'sdk.mapcontrols.' + this.type + '.help.message';\n },\n all: function all() {\n return this.no_layers ? 'sdk.mapcontrols.queryby.none' : 'sdk.mapcontrols.queryby.all';\n },\n\n radius: {\n get: function get() {\n return QUERY.radius;\n },\n set: function set(v) {\n if (Number.isNaN(v) || v < 0) {\n this.radius = QUERY.radius;\n return;\n }\n //need to convert degree in meter\n QUERY.radius = Math.floor(v * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees));\n //already circle drawed but not clear (0) value\n if (QUERY.dfeature && QUERY.radius > 0) {\n QUERY.dfeature.getGeometry().setRadius(QUERY.radius);\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n }\n }\n },\n watch: {\n method: function method() {\n this.reset();\n },\n type: function type() {\n var _this3 = this;\n\n //after a change type needs to check, is all being updated to change select2 option text\n this.reset().then(function () {\n return _this3.update__ALL__Text();\n });\n },\n control: function control() {\n var _this4 = this;\n\n this.types.forEach(function (t) {\n return CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this4.type);\n });\n },\n layers: function layers() {\n this.selectedLayerNotQuerable();\n },\n\n // see: https://forums.select2.org/t/cannot-rename-selected-option/154/2\n all: function all() {\n this.update__ALL__Text();\n },\n\n selectedLayer: {\n immediate: true,\n handler: function handler(value, oldValue) {\n var _this5 = this;\n\n this.selectedLayerNotQuerable();\n //It means that it is mounted. No value before\n if (undefined === oldValue) {\n return;\n }\n var map = _gui2.default.getService('map');\n // auto selects added layer\n if ('__NEW__' === value) {\n var listener = map.onafter('loadExternalLayer', function (l) {\n map.selectLayer(l.get('id'));\n _this5.reset();\n });\n var select = document.querySelector('#add-layer-type');\n select.value = 'file';\n select.dispatchEvent(new Event('change'));\n $('#modal-addlayer').one('hidden.bs.modal', function () {\n return map.un('loadExternalLayer', listener);\n });\n map.showAddLayerModal();\n }\n\n if (!['__ALL__', '__NEW__'].includes(value) && value !== getSelectedLayerId()) {\n map.selectLayer(value);\n }\n //reset selection if a selection is done by TOC catalog\n if (['__ALL__', '__NEW__'].includes(value) && '__ALL__' !== getSelectedLayerId()) {\n map.selectLayer();\n }\n }\n }\n },\n methods: {\n /**\n * Update selects2 the __ALL__ option text as to select all change text\n */\n update__ALL__Text: function update__ALL__Text() {\n $(this.$refs.layer).select2('close');\n $(this.$refs.layer).find('option[value=\"__ALL__\"]').text(t(this.all));\n $(this.$refs.layer).select2('data')[0].text = t(this.all);\n $(this.$refs.layer).trigger('change');\n },\n selectedLayerNotQuerable: function selectedLayerNotQuerable() {\n //In the case of selection of layer (by TOC) that not belong to a layer list,\n // set the value of selectedLayer __ALL__\n if (!['__ALL__', '__NEW__'].includes(this.selectedLayer) && this.layers.length && !this.layers.map(function (l) {\n return l.getId();\n }).includes(this.selectedLayer)) {\n this.selectedLayer = '__ALL__';\n }\n },\n reset: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this6 = this,\n _layers;\n\n this.layers.splice(0);\n // reset autorun options\n this.types.filter(function (t) {\n return t !== _this6.type;\n }).forEach(function (t) {\n if ('querybycircle' === t) {\n QUERY.radius = 0;\n }\n if ('querybbox' === t) {\n QUERY.bbox = null;\n }\n if ('querybypolygon' === t) {\n QUERY.layer = null;QUERY.feature = null;QUERY.coordinates = null;\n }\n if (!['querybydrawpolygon', 'querybycircle'].includes(_this6.type)) {\n QUERY.dfeature = null;\n }\n CONTROLS[t].autorun = false;\n });\n //set spatial method\n this.control.spatialMethod = this.method;\n this.control.toggle(true, { parent: CONTROLS['queryby'].id });\n // show highlight class only if 'querybbox' or 'querybydrawpolygon' type control\n this.control.layers.forEach(function (l) {\n return l.setTocHighlightable(['querybbox', 'querybydrawpolygon'].includes(_this6.type));\n });\n yield this.$nextTick();\n // set queryable layers (select2)\n (_layers = this.layers).push.apply(_layers, _toConsumableArray(this.queryable));\n\n if ('querybypolygon' === this.type) {\n this.control.setEnable(false);\n }\n // re-run query when changing spatial method\n if (this.control.autorun) {\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n });\n\n function reset() {\n return _ref2.apply(this, arguments);\n }\n\n return reset;\n }(),\n templateType: function templateType(state) {\n if (!state.id) {\n return state.text;\n }\n return $( /*html*/'  ' + state.text + '');\n },\n templateLayer: function templateLayer(state) {\n if (!state.id || '__NEW__' === state.id) {\n return state.text;\n }\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(state.id) || externalLayers.find(function (l) {\n return l.get('id') === state.id;\n });\n /** @FIXME layer is undefined when removing an external layer */\n var icon = '__ALL__' === state.id || !layer ? '' : /*html */'  ';\n return $( /*html*/'' + icon + state.text + '');\n }\n },\n mounted: function mounted() {\n CONTROLS['queryby'].usermessage = this;\n _gui2.default.toggleUserMessage(false);\n this.reset();\n },\n\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n _this.types.forEach(function (t) {\n CONTROLS[t].toggle(false);\n CONTROLS[t].autorun = false;\n CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this.types[0]);\n CONTROLS[t].layers.forEach(function (l) {\n return l.setTocHighlightable(false);\n });\n });\n }\n }\n }\n });\n });\n return _this;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(QueryBy, [{\n key: 'addType',\n value: function addType(type) {\n var _this8 = this,\n _unwatches;\n\n // skip when already added\n if (this.types.includes(type)) {\n return;\n }\n\n // keep \"querybypolygon\" at last position\n this.types.splice(this.types.includes('querybypolygon') ? this.types.indexOf('querybypoyling') : this.types.length, 0, type);\n\n /**\n * @TODO remove `InteractionControl` and use a standard `ol.interaction`\n */\n var control = CONTROLS[type] = new _interactioncontrol2.default({\n name: type,\n offline: false,\n visible: false,\n geometryTypes: ['querybypolygon', 'querybydrawpolygon'].includes(type) ? POLYGON_TYPES : [],\n cursorClass: 'querybypolygon' !== type ? 'ol-crosshair' : 'ol-pointer',\n interactionClass: {\n 'querybbox': ol.interaction.DragBox,\n 'querybycircle': ol.interaction.Draw,\n 'querybydrawpolygon': ol.interaction.Draw,\n 'querybypolygon': _pickcoordinatesinteraction2.default\n }[type],\n interactionClassOptions: ['querybydrawpolygon', 'querybycircle'].includes(type) ? { type: 'querybydrawpolygon' === type ? 'Polygon' : 'Circle' } : {},\n layers: _getAvailableLayers(type),\n onSetMap: function onSetMap(_ref3) {\n var _this7 = this;\n\n var setter = _ref3.setter,\n map = _ref3.map;\n\n if ('after' !== setter) {\n return;\n }\n\n if ('querybbox' === type) {\n var startCoord = null;\n this._interaction.on('boxstart', function (e) {\n return startCoord = e.coordinate;\n });\n this._interaction.on('boxend', (0, _throttle.throttle)(function (e) {\n QUERY.bbox = ol.extent.boundingExtent([startCoord, e.coordinate]);\n _this7.dispatchEvent({ type: 'bboxend', extent: QUERY.bbox });\n startCoord = null;\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n this.setEventKey({\n eventType: 'bboxend',\n eventKey: this.on('bboxend', function () {\n return CONTROLS['queryby'].runSpatialQuery('querybbox');\n })\n });\n }\n\n if ('querybycircle' === type) {\n this._interaction.on('drawstart', function (e) {\n var geometry = e.feature.getGeometry();\n geometry.setRadius(QUERY.radius);\n geometry.on('change', function () {\n return QUERY.radius = geometry.getRadius();\n });\n if (QUERY.radius > 0) {\n _this7._interaction.finishDrawing();\n }\n });\n }\n\n if (['querybydrawpolygon', 'querybycircle'].includes(type)) {\n this._interaction.on('drawend', (0, _throttle.throttle)(function (e) {\n //convert circle geometry to polygon\n if ('querybycircle' === type) {\n var radius = e.feature.getGeometry().getRadius();\n //in the case of map unit degrees, convert it to meter\n QUERY.radius = radius * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n }\n QUERY.dfeature = e.feature;\n _this7.dispatchEvent({ type: 'drawend', feature: QUERY.dfeature });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n\n this.setEventKey({\n eventType: 'drawend',\n eventKey: this.on('drawend', function () {\n return CONTROLS['queryby'].runSpatialQuery(type);\n })\n });\n }\n\n if ('querybypolygon' === type) {\n\n this._interaction.on('picked', (0, _throttle.throttle)(function () {\n var _ref4 = _asyncToGenerator(function* (e) {\n QUERY.coordinates = e.coordinate;\n _this7.dispatchEvent({ type: 'picked', coordinates: QUERY.coordinates });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n });\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }()));\n\n // get polygon feature from coordinates\n this.setEventKey({\n eventType: 'picked',\n eventKey: this.on('picked', _asyncToGenerator(function* () {\n\n _gui2.default.closeSideBar();\n\n // ask for coordinates\n try {\n var _ref6 = yield _data2.default.getData('query:coordinates', {\n inputs: {\n feature_count: _application2.default.project.state.feature_count || 5,\n coordinates: QUERY.coordinates\n },\n outputs: {\n // whether to show picked coordinates on map\n show: function show(_ref7) {\n var _ref7$data = _ref7.data,\n data = _ref7$data === undefined ? [] : _ref7$data,\n query = _ref7.query;\n\n var show = data.length === 0;\n // set query coordinates to null in case to avoid `externalvector` added to query response\n query.coordinates = show ? query.coordinates : null;\n return show;\n }\n }\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n if (data.length && data[0].features.length) {\n QUERY.feature = data[0].features[0];\n QUERY.layer = data[0].layer;\n CONTROLS['queryby'].runSpatialQuery('querybypolygon');\n }\n } catch (e) {\n console.warn('Error running spatial query:', e);\n }\n }))\n });\n\n this.setEnable(false);\n }\n },\n\n clickmap: true\n });\n\n _gui2.default.getService('map').addControl(type, type, control, false, false);\n\n control._interaction.on('change:active', function (e) {\n //set current cursor class on map\n _this8.setMouseCursor(e.target.get(e.key), control.cursorClass); // set mouse cursor\n //set same cursor class to parent queryby control\n _this8.cursorClass = control.cursorClass;\n\n if (['querybbox', 'querybydrawpolygon'].includes(type)) {\n _application2.default.highlightlayers = e.target.get(e.key); // highlight layers in legend\n }\n });\n\n // listen for layers visibility change\n this.unwatches = this.unwatches || [];\n this.unwatches.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatches.splice(0);\n (_unwatches = this.unwatches).push.apply(_unwatches, _toConsumableArray(this.types.flatMap(function (t) {\n var control = CONTROLS[t];\n return (control.layers || []).map(function (layer) {\n return _g3wEventbus.VM.$watch(function () {\n return layer.state.visible;\n }, function () {\n // toggle \"eye\" / \"eye-close\" icon\n if (_this8.usermessage) {\n $(_this8.usermessage.$refs.layer).trigger('change');\n }\n // toggle control interaction\n control.setEnable(control.isToggled() && _hasVisible(control));\n control._interaction.setActive(control.getEnable());\n });\n });\n })));\n }\n\n /**\n * @param layer \n */\n\n }, {\n key: 'onSelectLayer',\n value: function onSelectLayer(layer) {\n\n var btn = document.querySelector('.usermessage-content .clear-selected-layer');\n if (btn) {\n btn.classList.toggle('hidden', !layer);\n }\n\n if (this.usermessage) {\n this.usermessage.selectedLayer = layer ? layer.getId() : '__ALL__';\n }\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n var selected = layer && control.layers.find(function (l) {\n return l === layer;\n });\n var queryable = layer && layer.isQueryable() && (control.getGeometryTypes() || []).includes(layer.getGeometryType());\n\n if (['querybbox', 'querybydrawpolygon', 'querybycircle'].includes(t)) {\n control.setEnable(control.isToggled() && (layer ? selected && selected.isVisible() : _hasVisible(control)));\n }\n\n if ('querybypolygon' === t) {\n control.setEnable(control.isToggled() && queryable && _hasVisible(control));\n }\n\n control._interaction.setActive(control.getEnable());\n });\n }\n\n /**\n * @param {{ layer, unWatches }}\n */\n\n }, {\n key: 'onAddExternalLayer',\n value: function onAddExternalLayer(_ref8) {\n var layer = _ref8.layer,\n unWatches = _ref8.unWatches;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n control.layers = _getAvailableLayers(t);\n\n // set layer property\n if ('querybbox' === t) {\n layer.setTocHighlightable(control.isToggled() && control.getEnable());\n }\n\n // watch `layer.selected` and `layer.visible` properties\n unWatches.push(_g3wEventbus.VM.$watch(function () {\n return [layer.selected, layer.visible];\n }, function () {\n control.setEnable(control.isToggled() && (layer.selected ? layer.visible : _hasVisible(control)));\n control._interaction.setActive(control.getEnable());\n }, { immediate: true }));\n });\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'onRemoveExternalLayer',\n value: function onRemoveExternalLayer(layer) {\n var _this9 = this;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n control.layers = _getAvailableLayers(t).filter(function (l) {\n return l.getId() !== layer.getId();\n });\n control.setEnable(control.isToggled() && _hasVisible(CONTROLS[t]));\n control._interaction.setActive(control.getEnable());\n });\n /** @TODO find a better way to update \"layers\" list (select2) within vue component */\n setTimeout(function () {\n if (_this9.usermessage) {\n _this9.usermessage.reset();\n }\n });\n }\n }, {\n key: 'runSpatialQuery',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (type) {\n try {\n\n var control = CONTROLS[type];\n\n _gui2.default.closeSideBar();\n\n if (\n // skip if bbox is not set\n 'querybbox' === type && null === QUERY.bbox ||\n // skip when .. ?\n 'querybypolygon' === type && [QUERY.coordinates, QUERY.feature, QUERY.layer].includes(null)) {\n return;\n }\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var project = _application2.default.project;\n\n if ('querybbox' === type) {\n yield _data2.default.getData('query:bbox', {\n inputs: {\n bbox: QUERY.bbox,\n feature_count: project.state.feature_count || 5,\n addExternal: !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n // Catalog layers (TOC) properties that need to be satisfied\n layersFilterObject: {\n SELECTED_OR_ALL: true, // selected or all\n FILTERABLE: true, // see: src/app/core/layers/layer.js#L925\n VISIBLE: true // need to be visible\n },\n condition: { filtrable: { ows: 'WFS' } },\n multilayers: [].concat(project.state.querymultilayers).includes(control.name),\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n }\n });\n }\n\n if (['querybypolygon', 'querybydrawpolygon', 'querybycircle'].includes(type)) {\n yield _data2.default.getData('query:polygon', {\n inputs: {\n layerName: 'querybypolygon' === type ? QUERY.layer.getName ? QUERY.layer.getName() : QUERY.layer.get('name') : '',\n excludeSelected: 'querybypolygon' === type || !selected,\n feature: function () {\n switch (type) {\n case 'querybypolygon':\n return QUERY.feature;\n case 'querybydrawpolygon':\n return QUERY.dfeature;\n case 'querybycircle':\n var feat = QUERY.dfeature.clone();\n feat.setGeometry(ol.geom.Polygon.fromCircle(QUERY.dfeature.getGeometry(), 64));\n return feat;\n }\n }(),\n external: {\n add: 'querybypolygon' === type || !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n filter: {\n SELECTED: ['querybydrawpolygon', 'querybycircle'].includes(type) && (!selected || externalLayers.some(function (l) {\n return l === selected;\n }))\n }\n },\n type: (type || '').replace('queryby', '') || undefined,\n multilayers: [].concat(project.state.querymultilayers).includes('querybypolygon'), //hardcoded using querymultilayers server config\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n },\n outputs: {\n show: function show(_ref10) {\n var _ref10$error = _ref10.error,\n error = _ref10$error === undefined ? false : _ref10$error;\n return !error;\n }\n }\n });\n }\n\n control.autorun = true;\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n function runSpatialQuery(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return runSpatialQuery;\n }()\n }]);\n\n return QueryBy;\n}(_interactioncontrol2.default);\n\n/**\n * @returns {boolean} whether control has a visible layer \n */\n\n\nfunction _hasVisible(control) {\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n\n // whether one layer is visible (and not selected)\n if ('querybypolygon' === control.name) {\n return !!(\n // check if the current selected layer is visible\n selected && selected.isVisible() && (\n // check if at least one layer is visible (project or external layer)\n control.layers.some(function (l) {\n return l !== selected && l.isVisible() && l.isFilterable({ ows: 'WFS' });\n }) || _gui2.default.getService('map').getLegacyExternalLayers().find(function (l) {\n return l !== selected && true === l.visible;\n })));\n }\n\n // whether one layer is visible\n return !!((control.layers || []).some(function (l) {\n return l.isVisible();\n }) || _gui2.default.getService('map').getLegacyExternalLayers().some(function (l) {\n return l.visible;\n }));\n}\n\n/**\n * @TODO get rid of `s.getLayers` call\n */\nfunction _getAvailableLayers(type) {\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n var queryable = MapLayersStoresRegistry.getQuerableLayersStores();\n return [].concat(_toConsumableArray(new Set([].concat(_toConsumableArray(queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, FILTERABLE: true, SELECTED_OR_ALL: true }, { filtrable: { ows: 'WFS' } });\n }).filter(function (l) {\n return 'wfs' === l.getProvider('filter').getName();\n })), _toConsumableArray((_gui2.default.getService('map').getLegacyExternalLayers() || []).filter(function (l) {\n return 'querybypolygon' === type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n })), _toConsumableArray('querybypolygon' === type ? queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, QUERYABLE: true, SELECTED_OR_ALL: true }, {});\n }) : [])))));\n}\n\n},{\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/data\":172,\"services/gui\":173,\"services/map\":175,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241}],147:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScaleControl = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/scalecontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar ScaleControl = exports.ScaleControl = function (_ol$control$Control) {\n _inherits(ScaleControl, _ol$control$Control);\n\n function ScaleControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScaleControl);\n\n opts.target = 'scale-control';\n opts.offline = true;\n\n var _this = _possibleConstructorReturn(this, (ScaleControl.__proto__ || Object.getPrototypeOf(ScaleControl)).call(this, opts));\n\n _this.isMobile = opts.isMobile || false;\n return _this;\n }\n\n _createClass(ScaleControl, [{\n key: 'layout',\n value: function layout(map) {\n var self = this;\n var isMapResolutionChanged = false;\n var selectedOnClick = false;\n var select2 = $(this.element).children('select').select2({\n tags: true,\n dropdownParent: $(map.getTargetElement()),\n width: '120px',\n height: '20px',\n language: { noResults: function noResults() {\n return t(\"sdk.mapcontrols.scale.no_valid_scale\");\n } },\n minimumResultsForSearch: this.isMobile ? -1 : 0,\n createTag: function createTag() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var newTag = null;\n var scale = void 0;\n // Don't offset to create a tag if there is no @ symbol\n if (params.term.includes('1:')) {\n // Return null to disable tag creation\n scale = params.term.split('1:')[1];\n } else if (Number.isInteger(Number(params.term)) && Number(params.term) > 0) {\n scale = Number(params.term);\n if (scale <= self.scales[0]) {\n newTag = {\n id: scale,\n text: '1:' + params.term,\n new: true\n };\n deleteLastCustomScale();\n }\n }\n return newTag;\n }\n });\n //get change mapsize to close\n map.on('change:size', function () {\n return select2.select2('close');\n });\n\n function deleteLastCustomScale() {\n select2.find('option').each(function (index, option) {\n return !self.scales.includes(1 * option.value) && $(option).remove();\n });\n }\n\n function addCustomTag(data) {\n if (select2.find(\"option[value='\" + data.id + \"']\").length) {\n select2.val(data.id).trigger('change');\n } else {\n deleteLastCustomScale();\n select2.append(new Option(data.text, data.id, true, true)).trigger('change');\n }\n }\n\n map.on('moveend', function () {\n if (isMapResolutionChanged) {\n var scale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(this.getView().getResolution(), this.getView().getProjection().getUnits()));\n addCustomTag({\n id: scale,\n text: '1:' + scale,\n new: true\n });\n isMapResolutionChanged = false;\n } else {\n selectedOnClick = false;\n }\n });\n\n var setChangeResolutionHandler = function setChangeResolutionHandler() {\n map.getView().on('change:resolution', function () {\n return isMapResolutionChanged = !selectedOnClick;\n });\n };\n\n setChangeResolutionHandler();\n\n map.on('change:view', function () {\n return setChangeResolutionHandler();\n });\n\n select2.on('select2:select', function (e) {\n selectedOnClick = true;\n var data = e.params.data;\n if (data.new) {\n deleteLastCustomScale();\n addCustomTag(data);\n }\n map.getView().setResolution((0, _getResolutionFromScale.getResolutionFromScale)(1 * data.id, map.getView().getProjection().getUnits()));\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n return;\n }\n\n // set scales\n var currentScale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(map.getView().getResolution(), map.getView().getProjection().getUnits()));\n this.scales = _g3wConstants.PRINT_SCALES.map(function (s) {\n return s.value;\n }).filter(function (s) {\n return s < currentScale;\n });\n this.scales.unshift(currentScale);\n\n // create control\n var div = document.createElement('div');\n var select = document.createElement('select');\n var optgroup = Object.assign(document.createElement('optgroup'), { label: '' });\n\n this.scales.forEach(function (scale, index) {\n optgroup.appendChild(Object.assign(document.createElement('option'), {\n value: scale,\n text: '1:' + scale,\n selected: 0 === index\n }));\n });\n\n select.appendChild(optgroup);\n\n if (!this.isMobile) {\n var _optgroup = document.createElement('optgroup');\n _optgroup.label = 'Custom';\n select.appendChild(_optgroup);\n }\n\n div.appendChild(select);\n\n // set element of control (it is necessary to visualize it)\n this.element = div;\n $(this.element).css('height', '20px');\n\n this.layout(map);\n _get(ScaleControl.prototype.__proto__ || Object.getPrototypeOf(ScaleControl.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return ScaleControl;\n}(ol.control.Control);\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216}],148:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScreenshotControl = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/screenshotcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @FIXME prevent tainted canvas error\n * \n * Because the pixels in a canvas's bitmap can come from a variety of sources,\n * including images or videos retrieved from other hosts, it's inevitable that\n * security problems may arise. As soon as you draw into a canvas any data that\n * was loaded from another origin without CORS approval, the canvas becomes\n * tainted.\n * \n * A tainted canvas is one which is no longer considered secure, and any attempts\n * to retrieve image data back from the canvas will cause an exception to be thrown.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\nvar ScreenshotControl = exports.ScreenshotControl = function (_InteractionControl) {\n _inherits(ScreenshotControl, _InteractionControl);\n\n function ScreenshotControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScreenshotControl);\n\n opts.layers = undefined === opts.layers ? [] : opts.layers;\n\n var _this = _possibleConstructorReturn(this, (ScreenshotControl.__proto__ || Object.getPrototypeOf(ScreenshotControl)).call(this, _extends({\n name: \"maptoimage\",\n tipLabel: \"Screenshot\",\n label: '\\uE90F',\n clickmap: true,\n enabled: true,\n layers: []\n }, opts)));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n _this.layers = opts.layers;\n\n //set visibility based on layers\n _this.setVisible(_this.checkVisible(_this.layers));\n\n //only if is visible (no CORS issue) need to listen to add/remove layer\n if (_this.isVisible()) {\n //listen to add/remove External Layer event to check visibility of the control\n _gui2.default.getService('map').onafter('loadExternalLayer', _this._addLayer.bind(_this));\n _gui2.default.getService('map').onafter('unloadExternalLayer', _this._removeLayer.bind(_this));\n }\n return _this;\n }\n\n /**\n * @param { 'screenshot' | 'geoscreenshot' } type\n *\n * @since 3.11.0\n */\n\n\n _createClass(ScreenshotControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this2 = this;\n\n this.types.push(type);\n\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.screenshot.title',\n __iconClass: 'camera',\n data: function data() {\n return { types: _this2.types, type: _this2.types[0] };\n },\n template: /* html */'\\n
\\n \\n \\n
',\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* (e) {\n var map = _gui2.default.getService('map');\n // Start download\n _application2.default.download = true;\n e.target.disabled = true;\n try {\n var blobImage = yield map.createMapImage();\n\n if ('screenshot' === this.type) {\n // PNG\n window.saveAs(blobImage, 'map_' + Date.now() + '.png');\n } else {\n // GeoTIFF\n var body = new FormData();\n body.append('image', blobImage);\n body.append('csrfmiddlewaretoken', map.getCookie('csrftoken'));\n body.append('bbox', map.getMapBBOX().toString());\n window.saveAs((yield (yield fetch('/' + map.project.getType() + '/api/asgeotiff/' + map.project.getId() + '/', { method: 'POST', body: body })).blob()), 'map_' + Date.now() + '.tif');\n }\n } catch (e) {\n _gui2.default.showUserMessage({\n type: 'SecurityError' === err.name ? 'warning' : 'alert',\n message: 'SecurityError' === err.name ? 'mapcontrols.screenshot.securityError' : 'mapcontrols.screenshot.error',\n autoclose: false\n });\n console.warn(e);\n }\n // End download\n _application2.default.download = false;\n e.target.disabled = false;\n return true;\n });\n\n function download(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n\n /**\n * Called when a new layer is added to Project (eg. wms or vector layer)\n * \n * @since 3.8.3\n *\n */\n\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n var _this3 = this;\n\n this.layers.push(layer);\n this.change(this.layers);\n layer.on('change:visible', function () {\n return _this3.change(_this3.layers);\n });\n }\n\n /**\n * Called when a layer is removed from Project\n * \n * @since 3.8.3 \n */\n\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return l !== layer;\n });\n this.change(this.layers);\n }\n\n /**\n * Called when a layer is added or removed\n * \n * @param layers\n */\n\n }, {\n key: 'change',\n value: function change() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setVisible(this.checkVisible(layers));\n }\n\n /**\n * Check visibility for map control based on layers URLs.\n * \n * Allow printing external WMS layers only when they have\n * the same origin URL of the current application in order to avoid\n * CORS issue while getting map image.\n * \n * Layers that don't have a source URL are excluded (eg. base layers)\n * \n * @param {array} layers\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'checkVisible',\n value: function checkVisible() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // Need to be visible.\n // If it was not visible, the CORS issue was raised.\n // Need to reload and remove layer\n return this.isVisible() && !layers.some(isCrossOrigin);\n }\n }]);\n\n return ScreenshotControl;\n}(_interactioncontrol2.default);\n\n/**\n * Check if a layer has a Cross Origin source URI\n * \n * @param layer\n * \n * @returns {boolean} `true` whether the given layer could cause CORS issues (eg. while printing raster layers). \n */\n\n\nfunction isCrossOrigin(layer) {\n var source_url = void 0;\n\n // vector or hidden layers can't cause CORS issues\n if (layer.getVisible && !layer.getVisible() || layer instanceof ol.layer.Vector) {\n return false;\n }\n\n // image layer (OpenLayers)\n if (layer instanceof ol.layer.Tile || layer instanceof ol.layer.Image) {\n source_url = layer.getSource().getUrl();\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n // external image layer (eg: \"core/layers/imagelayer.js\")\n if ((layer.getConfig().source || {}).external) {\n source_url = layer.getConfig().source.url;\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n return false;\n}\n\n},{\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"store/application\":178,\"utils/sameOrigin\":237}],149:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StreetViewControl = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/streetviewcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar GoogleStreetViewApiUrl = 'https://maps.googleapis.com/maps/api/';\n\nvar StreetViewControl = function (_InteractionControl) {\n _inherits(StreetViewControl, _InteractionControl);\n\n function StreetViewControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, StreetViewControl);\n\n /**\n * Check Google Key\n */\n var _this = _possibleConstructorReturn(this, (StreetViewControl.__proto__ || Object.getPrototypeOf(StreetViewControl)).call(this, _extends({}, opts, {\n offline: false,\n visible: true, // always visible. Only change behavior if exist or not\n name: \"streetview\",\n tipLabel: \"StreetView\",\n clickmap: true,\n label: '\\uE905',\n interactionClass: _pickcoordinatesinteraction2.default,\n interactionClassOptions: { cursor: 'ol-streetview' },\n cursorClass: 'ol-streetview'\n })));\n\n _this.key = _application2.default.keys.vendorkeys.google;\n\n if (_this.key) {\n _XHR.XHR.get({\n url: GoogleStreetViewApiUrl + 'streetview',\n params: {\n location: 0,\n size: '456x456',\n key: _this.key\n }\n }).catch(function (e) {\n console.warn(e);_this.keyError = e.responseText;\n });\n }\n\n // get script\n $script(GoogleStreetViewApiUrl + 'js?' + (_this.key ? 'key=' + _this.key : ''));\n\n /***/\n\n _this._sv = null;\n _this._panorama = null;\n _this._map = null;\n _this._projection = null;\n _this._lastposition = null;\n _this._streetViewFeature = new ol.Feature();\n _this.active = false;\n\n _this._layer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [] }),\n style: function style(feature) {\n var coordinates = feature.getGeometry().getCoordinates();\n this._lastposition = this._lastposition ? this._lastposition : coordinates;\n var dx = coordinates[0] - this._lastposition[0];\n var dy = coordinates[1] - this._lastposition[1];\n var rotation = -Math.atan2(dy, dx);\n var styles = [new ol.style.Style({\n text: new ol.style.Text({\n text: '\\uE905',\n font: 'bold 18px icomoon',\n fill: new ol.style.Fill({\n color: '#ffffff'\n })\n })\n }), new ol.style.Style({\n image: new ol.style.Icon({\n src: '/static/client/images/streetviewarrow.png',\n rotation: rotation\n })\n })];\n this._lastposition = coordinates;\n return styles;\n }\n });\n\n //@since 3.11.0.\n // In the case of key provided and open content with streetview images,\n // on close content need to remove point (icon street view on a map)\n if (_this.key) {\n _gui2.default.on('closecontent', function () {\n if (_this.isToggled()) {\n _this._layer.getSource().clear();\n }\n });\n }\n\n return _this;\n }\n\n _createClass(StreetViewControl, [{\n key: 'setProjection',\n value: function setProjection(projection) {\n this._projection = projection;\n }\n }, {\n key: 'setPosition',\n value: function setPosition(position) {\n var _this2 = this;\n\n var pixel = void 0;\n var self = this;\n this.active = true;\n if (!this._sv) {\n this._sv = new google.maps.StreetViewService();\n }\n this._sv.getPanorama({ location: position }, function (data) {\n self._panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview'), { imageDateControl: true });\n /**\n * Listen on position change\n */\n self._panorama.addListener('position_changed', function () {\n if (self.isToggled()) {\n var lnglat = ol.proj.transform([this.getPosition().lng(), this.getPosition().lat()], 'EPSG:4326', self._projection.getCode());\n self._streetViewFeature.setGeometry(new ol.geom.Point(lnglat));\n pixel = self._map.getPixelFromCoordinate(lnglat);\n if (pixel[0] + 15 > self._map.getSize()[0] || pixel[1] + 15 > self._map.getSize()[1] || pixel[0] < 15 || pixel[1] < 15) {\n self._map.getView().setCenter(lnglat);\n }\n }\n });\n if (data && data.location) {\n self._panorama.setPov({\n pitch: 0,\n heading: 0\n });\n\n self._panorama.setPosition(data.location.latLng);\n }\n }).then(function (response) {\n if (undefined === response) {\n _gui2.default.closeContent();\n }\n }).catch(function (e) {\n console.warn(e);_this2.toggle();\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n var _this3 = this;\n\n this._map = map;\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'setMap', this).call(this, map);\n\n this.setProjection(this._map.getView().getProjection());\n this._map.addLayer(this._layer);\n\n this._interaction.on('picked', function (_ref) {\n var coordinate = _ref.coordinate;\n\n _this3.showStreetView(coordinate);\n if (_this3._autountoggle) {\n _this3.toggle();\n }\n });\n }\n\n /**\n * Method to show StreetView depending on a key and keyError\n * @param coordinate\n */\n\n }, {\n key: 'showStreetView',\n value: function showStreetView(coordinate) {\n var _ol$proj$transform = ol.proj.transform(coordinate, this._map.getView().getProjection().getCode(), 'EPSG:4326'),\n _ol$proj$transform2 = _slicedToArray(_ol$proj$transform, 2),\n lng = _ol$proj$transform2[0],\n lat = _ol$proj$transform2[1];\n\n if (this.key) {\n _gui2.default.setContent({\n title: 'StreetView',\n content: '
' + (this.keyError ? '' + this.keyError + '
' : '') + '
'\n });\n if (!this.keyError) {\n this.setPosition({ lng: lng, lat: lat });\n }\n } else {\n this._streetViewFeature.setGeometry(new ol.geom.Point(coordinate));\n window.open('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + lat + ',' + lng);\n }\n }\n }, {\n key: 'clearMarker',\n value: function clearMarker() {\n this._streetViewFeature.setGeometry(null);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._streetViewFeature.setGeometry(null);\n this.clearMarker();\n this._panorama = null;\n if (this.active) {\n _gui2.default.closeContent();\n }\n this.active = false;\n }\n }, {\n key: 'toggle',\n value: function toggle(_toggle) {\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'toggle', this).call(this, _toggle);\n if (this.isToggled()) {\n this._layer.getSource().addFeatures([this._streetViewFeature]);\n } else {\n this.clear();\n }\n }\n }]);\n\n return StreetViewControl;\n}(_interactioncontrol2.default);\n\nexports.StreetViewControl = StreetViewControl;\n\n},{\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181}],150:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickcoordinatesinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickCoordinatesInteraction = function (_ol$interaction$Point) {\n _inherits(PickCoordinatesInteraction, _ol$interaction$Point);\n\n function PickCoordinatesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickCoordinatesInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickCoordinatesInteraction.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n var _this2 = this;\n\n this._centerMap = e.map.getView().getCenter();\n // set timeout to avoid blocking pan\n setTimeout(function () {\n if (_this2._centerMap === e.map.getView().getCenter()) {\n _this2.handleUpEvent(e);\n }\n }, 300);\n // return false to avoid start of drag event\n return false;\n },\n handleUpEvent: function handleUpEvent(e) {\n this.dispatchEvent({\n type: 'picked',\n coordinate: e.coordinate\n });\n // it used to stop drag event\n return false;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getViewport().classList.add(this._cursor);\n return true;\n }\n }, opts)));\n\n _this._cursor = opts.cursor || 'ol-pointer';\n // this.previousCursor_ = null;\n _this._centerMap = null;\n return _this;\n }\n\n _createClass(PickCoordinatesInteraction, [{\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setActive',\n value: function setActive(bool) {\n var map = this.getMap();\n if (map) {\n map.getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setActive', this).call(this, bool);\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickCoordinatesInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickCoordinatesInteraction;\n\n},{}],151:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickfeatureinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickFeatureInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeatureInteraction, _ol$interaction$Point);\n\n function PickFeatureInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickFeatureInteraction.__proto__ || Object.getPrototypeOf(PickFeatureInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n this.pickedFeature_ = this.featuresAtPixel_(e.pixel, e.map);\n return this.pickedFeature_;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (this.pickedFeature_) {\n this.dispatchEvent({\n type: 'picked',\n feature: this.pickedFeature_,\n coordinate: e.coordinate,\n layer: this.pickedLayer_\n });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = this.featuresAtPixel_(e.pixel, e.map) ? 'pointer' : '';\n }\n }, opts)));\n\n var features = opts.features;\n\n _this.features_ = Array.isArray(features) && features.length > 0 ? features : null;\n _this.layers_ = opts.layers || null;\n _this.pickedFeature_ = null;\n _this.pickedLayer_ = null;\n return _this;\n }\n\n _createClass(PickFeatureInteraction, [{\n key: 'layerFilter_',\n value: function layerFilter_(layer) {\n var include = (this.layers_ || []).includes(layer);\n this.pickedLayer_ = include && layer;\n return include;\n }\n }, {\n key: 'featuresAtPixel_',\n value: function featuresAtPixel_(pixel, map) {\n var _this2 = this;\n\n var featureFound = null;\n var intersectingFeature = map.forEachFeatureAtPixel(pixel, function (feature) {\n if (_this2.features_) {\n if (_this2.features_.includes(feature)) {\n return feature;\n } else {\n return null;\n }\n }\n return feature;\n }, {\n layerFilter: this.layerFilter_.bind(this),\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n if (intersectingFeature) {\n featureFound = intersectingFeature;\n }\n return featureFound;\n }\n }, {\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getTargetElement().style.cursor = '';\n }\n _get(PickFeatureInteraction.prototype.__proto__ || Object.getPrototypeOf(PickFeatureInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickFeatureInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickFeatureInteraction;\n;\n\n},{}],152:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Feature = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wConstants2 = _interopRequireDefault(_g3wConstants);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/feature.js@v3.10.2\n * @since 3.11.0\n */\n\nvar Feature = exports.Feature = function (_ol$Feature) {\n _inherits(Feature, _ol$Feature);\n\n function Feature() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Feature);\n\n var _this = _possibleConstructorReturn(this, (Feature.__proto__ || Object.getPrototypeOf(Feature)).call(this));\n\n _this.state = {\n new: false,\n state: null,\n visible: true\n };\n\n //store unique id for the feature\n _this._uid = (0, _getUniqueDomId.getUniqueDomId)();\n\n //{ Boolean }: true if feature has geometry\n _this._geometry = false;\n\n // check if it has to set only some properties or all feature properties\n if (opts.feature && opts.properties && Array.isArray(opts.properties)) {\n opts.properties.forEach(function (p) {\n return _this.set(p, opts.feature.get(p));\n });\n } else if (opts.feature) {\n _this.setProperties(opts.feature.getProperties());\n }\n\n if (opts.feature) {\n _this.setId(opts.feature.getId());\n _this.setGeometryName(opts.feature.getGeometryName());\n }\n\n var geometry = opts.feature && opts.feature.getGeometry();\n\n //check if feature has geometry\n if (geometry) {\n _this._geometry = true;\n _this.setGeometry(geometry);\n }\n\n //check if it has style associated\n var style = _this.getStyle();\n if (style) {\n _this.setStyle(style);\n }\n return _this;\n }\n\n /**\n * Return unique id\n * @returns {*}\n */\n\n\n _createClass(Feature, [{\n key: 'getUid',\n value: function getUid() {\n return this._uid;\n }\n\n /**\n *\n * @return {boolean}\n */\n\n }, {\n key: 'isGeometry',\n value: function isGeometry() {\n return this._geometry;\n }\n\n /**\n * Clone a feature with id and pk new\n * @param pk field send pk field\n * @returns {Feature}\n */\n\n }, {\n key: 'cloneNew',\n value: function cloneNew(pk) {\n var clone = this.clone();\n //set new unique id\n clone._uid = (0, _getUniqueDomId.getUniqueDomId)();\n clone.setTemporaryId();\n //in the case of send pk field object set temporary new value\n //to avoid duplicate pk when save clone feature on server\n if (pk && false === pk.editable) {\n //need to be set null\n clone.set(pk.name, null);\n }\n return clone;\n }\n\n /**\n * clone existing feature\n * @returns {Feature}\n */\n\n }, {\n key: 'clone',\n value: function clone() {\n var feature = _get(Feature.prototype.__proto__ || Object.getPrototypeOf(Feature.prototype), 'clone', this).call(this);\n feature.setId(this.getId());\n //if it has geometry, need to clone geometry\n if (this.isGeometry()) {\n feature.setGeometry(feature.getGeometry().clone());\n }\n var clone = new Feature({ feature: feature });\n clone._uid = this.getUid();\n clone.setState(this.getState());\n if (this.isNew()) {\n clone.setNew();\n }\n return clone;\n }\n }, {\n key: 'setTemporaryId',\n value: function setTemporaryId() {\n this.setId('_new_' + (0, _getUniqueDomId.getUniqueDomId)());\n this.setNew();\n }\n }, {\n key: 'setNew',\n value: function setNew() {\n this.state.new = true;\n }\n }, {\n key: 'delete',\n value: function _delete() {\n this.state.state = 'delete';\n return this;\n }\n }, {\n key: 'update',\n value: function update() {\n this.state.state = 'update';\n return this;\n }\n }, {\n key: 'add',\n value: function add() {\n this.state.state = 'add';\n return this;\n }\n }, {\n key: 'isNew',\n value: function isNew() {\n return this.state.new;\n }\n }, {\n key: 'isAdded',\n value: function isAdded() {\n return 'add' === this.state.state;\n }\n }, {\n key: 'isUpdated',\n value: function isUpdated() {\n return 'update' === this.state.state;\n }\n }, {\n key: 'isDeleted',\n value: function isDeleted() {\n return 'delete' === this.state.state;\n }\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state.state = state;\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state.state;\n }\n\n /**\n * Get only alphanumerical properties. No geometry property is returned\n * @return {{ Object }}\n */\n\n }, {\n key: 'getAlphanumericProperties',\n value: function getAlphanumericProperties() {\n return Object.entries(this.getProperties()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n _ = _ref2[1];\n\n return !_g3wConstants2.default.GEOMETRY_FIELDS.includes(name);\n }).reduce(function (attrs, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n n = _ref4[0],\n v = _ref4[1];\n\n attrs[n] = v;return attrs;\n }, {});\n }\n\n /**\n * clean state of the features\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.state = null;\n this.state.new = false;\n }\n\n /**\n * need to filter features visiblity on table\n * @returns {boolean}\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility of feature\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.visible = bool;\n }\n }]);\n\n return Feature;\n}(ol.Feature);\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],153:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FeaturesStore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/featurestore.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\nvar FeaturesStore = exports.FeaturesStore = function (_G3WObject) {\n _inherits(FeaturesStore, _G3WObject);\n\n function FeaturesStore() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FeaturesStore);\n\n var _this = _possibleConstructorReturn(this, (FeaturesStore.__proto__ || Object.getPrototypeOf(FeaturesStore)).call(this));\n\n _this._features = opts.features || [];\n _this._provider = opts.provider || null;\n _this._loadedIds = []; // store features id load by current user\n _this._lockIds = []; // store locked features\n\n //setters\n _this.setters = {\n /**\n * Add an array of features\n * @param { Array } features\n */\n addFeatures: function addFeatures() {\n var _this2 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this2._addFeature(f);\n });\n },\n\n /**\n * Add single feature\n * @param feature\n */\n addFeature: function addFeature(feature) {\n this._addFeature(feature);\n },\n\n /**\n * Remove a feature\n * @param feature\n */\n removeFeature: function removeFeature(feature) {\n this._removeFeature(feature);\n },\n\n /**\n * Update (substitute) a feature\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._updateFeature(feature);\n },\n\n /**\n * Remove all feature\n */\n clear: function clear() {\n this._clearFeatures();\n },\n\n /**\n * Get features from server\n * @param opts\n * @return { Promise }\n */\n getFeatures: function getFeatures() {\n var _this3 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (_this3._provider) {\n //call provider getFeatures to get features from server\n //get the feature base on response from server features, featurelockis etc ...\n var features = _this3._filterFeaturesResponse((yield _this3._provider.getFeatures(opts)));\n _this3.addFeatures(features);\n return features;\n }\n return _this3._features; // Get features stored. No call to server is done\n }));\n },\n\n /**\n * Commit changes (add, update, delete) to server\n * @param commitItems\n * @param featurestore Its is used????\n * @return {*}\n */\n commit: function commit(commitItems, featurestore) {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (commitItems && _this4._provider) {\n commitItems.lockids = _this4._lockIds;\n return yield _XHR.XHR.post({\n url: _this4._provider._layer.getUrl('commit'),\n data: JSON.stringify(commitItems),\n contentType: 'application/json'\n });\n }\n return Promise.reject();\n }));\n },\n\n /**\n * setter to know when some features are locked\n */\n featuresLockedByOtherUser: function featuresLockedByOtherUser() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n }\n };\n\n return _this;\n }\n\n _createClass(FeaturesStore, [{\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'setProvider',\n value: function setProvider(provider) {\n this._provider = provider;\n }\n }, {\n key: 'getProvider',\n value: function getProvider() {\n return this._provider;\n }\n\n /**\n * Unlock features. Other users can edit these features\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.post({ url: _this5._provider._layer.getUrl('unlock') });\n }));\n }\n\n /**\n * Filter features to add\n * @param options\n * @private\n * @return Array of features to add\n */\n\n }, {\n key: '_filterFeaturesResponse',\n value: function _filterFeaturesResponse() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /**\n * features uis array of feature returned from server and feature that are currently locked.\n * featurelocks is array of the feature that can be locker by current client request (not locked by another user)\n * featurelocks array item\n * {\n * featureid: Is current id of feature locked\n * lockid: Is a server unique lock id number\n * }\n * ex.\n * {featureid: \"1\", lockid: \"6bbab1c1c03332fb39b8ffae35e557ba\"}\n *\n * If featurelocks are less than features, it means that another user is editing these features\n *\n *\n * @type {*[]}\n */\n var _options$features = options.features,\n features = _options$features === undefined ? [] : _options$features,\n _options$featurelocks = options.featurelocks,\n featurelocks = _options$featurelocks === undefined ? [] : _options$featurelocks;\n\n //if no features locks mean another user locks all feature requests\n\n if (0 === featurelocks.length) {\n //if there are features on response\n if (features.length > 0) {\n //It means that another user locks these features\n this.featuresLockedByOtherUser(features);\n }\n return [];\n }\n\n //get already loaded feature id locked by current user\n var fids = this._lockIds.map(function (_ref4) {\n var featureid = _ref4.featureid;\n return featureid;\n });\n featurelocks.filter(function (_ref5) {\n var featureid = _ref5.featureid;\n return !fids.includes(featureid);\n }) //exclude features already locked by current user\n .forEach(function (fl) {\n return _this6._lockIds.push(fl);\n }); //update lockIds based on a featurelocks array from response\n\n //store features locked by another user\n var lockFeatures = [];\n\n //Store features to add to layers source\n var featuresToAdd = features.filter(function (f) {\n //get feature id\n var featureId = f.getId();\n //check if feature id is locked features\n //it means that is not locked by another user.\n if (featurelocks.find(function (_ref6) {\n var featureid = _ref6.featureid;\n return featureId == featureid;\n })) {\n //check if feature is not yet added for the current user\n if (_this6._loadedIds.indexOf(featureId) === -1) {\n _this6._loadedIds.push(featureId);\n return true;\n } else {\n return false; //feature locked by the current user\n }\n } else {\n lockFeatures.push(f);\n return false; //feature locked by another user\n }\n });\n\n //if features locks are less than features get from server,\n // it means that another user locks some features\n if (featurelocks.length < features.length) {\n this.featuresLockedByOtherUser(lockFeatures);\n }\n\n return featuresToAdd;\n }\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._lockIds;\n }\n\n /**\n * Add new lockid\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n var _this7 = this;\n\n this._lockIds = _.union(this._lockIds, lockIds);\n this._lockIds.forEach(function (_ref7) {\n var featureid = _ref7.featureid;\n return _this7._loadedIds.push(featureid);\n });\n }\n\n /**\n * Get feature\n * @param id\n * @return { Feature }\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.find(function (f) {\n return uid === f.getUid();\n });\n }\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n }\n\n /**\n * Substitute (update) feature after update\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var _this8 = this;\n\n this._features.find(function (feat, idx) {\n if (feature.getUid() === feat.getUid()) {\n _this8._features[idx] = feature;\n return true;\n }\n });\n }\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._features = features;\n }\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n this._features = this._features.filter(function (f) {\n return feature.getUid() !== f.getUid();\n });\n }\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n this._features = null;\n this._features = [];\n this._lockIds = [];\n this._loadedIds = [];\n }\n }, {\n key: 'getDataProvider',\n value: function getDataProvider() {\n return this._provider;\n }\n\n // only read downloaded features\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._features;\n }\n }]);\n\n return FeaturesStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":181,\"utils/promisify\":232}],154:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/mixins/geo.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @TODO convert it to ES6 class (or external utils)\n *\n * @file\n * @since 3.9.0\n */\n\n/**\n * ES6 mixin\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends#mix-ins\n * \n * @example class ImageLayer extends GeoLayerMixin(Layer) {}\n */\nexports.default = function (BaseClass) {\n return function (_BaseClass) {\n _inherits(_class, _BaseClass);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setup',\n value: function setup() {\n var _this2 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n console.log(\"GeoLayerMixin must be used from a valid (geo) Layer instance\");\n return;\n }\n\n Object.assign(this.config, {\n map_crs: options.project.getProjection().getCode(),\n multilayerid: config.multilayer,\n projection: config.projection ? config.projection.getCode() === config.crs.epsg ? config.projection : _projections2.default.get(config.crs) : undefined,\n attributions: config.attributions ? config.attributions : undefined\n });\n\n this.legendCategories = {};\n\n // Features that contain\n this.olSelectionFeatures = {}; // key id / fid of feature and values is an object with feature and added\n\n // state extend of layer setting geolayer property to true\n // and adding information of bbox\n Object.assign(this.state, {\n geolayer: \"NoGeometry\" !== config.geometrytype,\n legend: {\n url: null,\n loading: false,\n error: false,\n /** @deprecated since 3.8. Will be removed in 4.x. Use `expanded` attribute instead */\n show: true,\n /** used when categories changed (checkbox on TOC) and legend is on TAB */\n change: false\n },\n external: config.source && config.source.external || false,\n bbox: config.bbox || null,\n visible: config.visible || false,\n checked: config.visible || false,\n epsg: config.crs.epsg,\n hidden: config.hidden || false,\n scalebasedvisibility: config.scalebasedvisibility || false,\n minscale: config.minscale,\n maxscale: config.maxscale,\n ows_method: config.ows_method,\n\n /**\n * @type {boolean}\n */\n exclude_from_legend: 'boolean' === typeof config.exclude_from_legend ? config.exclude_from_legend : true,\n\n /**\n * Has more than one category's legend\n * \n * @type {boolean}\n */\n categories: false,\n\n /**\n * Toggle legend item state (expandend or collapsed) in catalog layers (TOC)\n * \n * @type {number}\n *\n * @since v3.8\n */\n expanded: config.expanded,\n\n /**\n * Layer opacity\n * \n * @type {number} opacity range = [0, 100]\n * \n * @since v3.8\n */\n opacity: config.opacity || 100\n });\n\n // sanitize source url\n if (config.source && config.source.url) {\n var checkUrl = new URL(this.config.source.url);\n // reserved WMS params\n ['VERSION', 'REQUEST', 'BBOX', 'LAYERS', 'WIDTH', 'HEIGHT', 'DPI', 'FORMAT', 'CRS'].forEach(function (p) {\n var params = [p.toUpperCase(), p.toLowerCase()];\n for (var i = 0; i < 2; i++) {\n var param = params[i];\n var value = checkUrl.searchParams.get(param);\n if (value) {\n _this2.config.source.url = _this2.config.source.url.replace(param + '=' + value, '');\n break;\n }\n }\n });\n }\n }\n\n /**\n * Legend Graphic section\n */\n\n }, {\n key: 'getLegendGraphic',\n value: function getLegendGraphic() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$all = _ref.all,\n all = _ref$all === undefined ? true : _ref$all;\n\n return _XHR.XHR.get({\n url: this.getLegendUrl((window.initConfig.layout || { legend: {} }).legend, {\n categories: true,\n format: 'application/json', // is the format to request categories (icon and label of each category)\n all: all // true meaning no bbox no filter just all referred to\n })\n });\n }\n\n /**\n * Set layer categories legend\n * @param { Array }categories\n */\n\n }, {\n key: 'setCategories',\n value: function setCategories() {\n var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.legendCategories[this.getCurrentStyle().name] = categories;\n //set categories state attribute to true only if exist at least a rule key\n this.state.categories = (categories || []).filter(function (category) {\n return category.ruleKey;\n }).length > 0;\n }\n\n /**\n * Return eventually categories of layers legend\n * @returns {string[] | string | [] | *[] | boolean | {default: {level: *, appenders: string[]}}}\n */\n\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.legendCategories[this.getCurrentStyle().name];\n }\n\n /**\n * Clear all categories\n */\n\n }, {\n key: 'clearCategories',\n value: function clearCategories() {\n this.legendCategories = {};\n this.state.categories = false;\n }\n\n /**\n * End Legend Graphic section\n */\n\n /**\n * [LAYER SELECTION]\n * \n * Clear all selection Openlayers features\n */\n\n }, {\n key: 'clearOlSelectionFeatures',\n value: function clearOlSelectionFeatures() {\n this.olSelectionFeatures = {};\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get OpenLayer selection feature by feature id\n * \n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getOlSelectionFeature',\n value: function getOlSelectionFeature(id) {\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Update selected feature (Case change geometry)\n * \n * @param id\n * @param feature\n */\n\n }, {\n key: 'updateOlSelectionFeature',\n value: function updateOlSelectionFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n feature = _ref2.feature;\n\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n selected.feature = feature;\n _gui2.default.getService('map').setSelectionFeatures('update', { feature: feature });\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Delete OpenLayer feature selection by feature id\n * \n * @param id\n */\n\n }, {\n key: 'deleteOlSelectionFeature',\n value: function deleteOlSelectionFeature(id) {\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n /** @FIXME undefined variable */\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: selected.feature });\n delete this.olSelectionFeatures[id];\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get all OpenLayers feature selections\n * \n * @returns { {} | null }\n */\n\n }, {\n key: 'getOlSelectionFeatures',\n value: function getOlSelectionFeatures() {\n return this.olSelectionFeatures;\n }\n\n /**\n * [LAYER SELECTION]\n \n * @param id\n * @param feature\n *\n * @returns {*}\n */\n\n }, {\n key: 'addOlSelectionFeature',\n value: function addOlSelectionFeature() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n feat = _ref3.feature;\n\n //create a new ol feature\n var feature = new ol.Feature(feat.geometry);\n feature.setId(id);\n Object.entries(feat.attributes).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n a = _ref5[0],\n v = _ref5[1];\n\n return feature.set(a, v);\n });\n this.olSelectionFeatures[id] = this.olSelectionFeatures[id] || {\n feature: feature,\n added: false,\n selected: false /** @since 3.9.9 */\n };\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n *\n * Set selection layer on a map not visible\n */\n\n }, {\n key: 'hideOlSelectionFeatures',\n value: function hideOlSelectionFeatures() {\n _gui2.default.getService('map').toggleSelection(false, this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Show all selection features\n */\n\n }, {\n key: 'updateMapOlSelectionFeatures',\n value: function updateMapOlSelectionFeatures() {\n // Loop `added` features (selected)\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n });\n // Ensures visibility of selection layer on a map\n // in case of layer filter active, always not visible\n _gui2.default.getService('map').toggleSelection(!this.state.filter.active && Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }), this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Toggle `added` property on all features\n */\n\n }, {\n key: 'setInversionOlSelectionFeatures',\n value: function setInversionOlSelectionFeatures() {\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n //invert select state\n f.selected = !f.selected;\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n });\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param fid\n * @param action\n * \n * @returns {*}\n */\n\n }, {\n key: 'setOlSelectionFeatureByFid',\n value: function setOlSelectionFeatureByFid(fid, action) {\n var selected = this.getOlSelectionFeature(fid);\n if (selected && selected.feature) {\n //set selected\n selected.selected = 'add' === action;\n return this.setOlSelectionFeatures({\n id: fid,\n feature: selected.feature\n }, action);\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param feature\n * @param action\n * \n * @returns { boolean }\n */\n\n }, {\n key: 'setOlSelectionFeatures',\n value: function setOlSelectionFeatures(feature) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n\n // select a single feature\n if (feature) {\n var feat = this.getOlSelectionFeature(feature.id);\n feat.feature.__layerId = 'add' === action && !feat.added ? this.getId() : undefined; // <-- used when working with selected Layer features\n this.updateMapOlSelectionFeatures();\n }\n\n // select all features\n if (!feature) {\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n //remove selection feature\n if (feat.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feat.feature });\n }\n feat.added = false;\n feat.selected = false;\n });\n }\n\n return undefined === Object.values(this.olSelectionFeatures).find(function (feat) {\n return feat.added;\n });\n }\n }, {\n key: 'isLayerCheckedAndAllParents',\n value: function isLayerCheckedAndAllParents() {\n var checked = this.isChecked();\n if (checked) {\n var parentGroup = this.state.parentGroup;\n //loop from bottom to top\n while (checked && parentGroup) {\n checked = checked && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n }\n return checked;\n }\n\n /**\n * Set layer legend item `checked` state (TOC)\n * \n * @param { boolean } bool\n */\n\n }, {\n key: 'setChecked',\n value: function setChecked(bool) {\n this.state.checked = bool;\n }\n\n /**\n * @returns { boolean } whether layer legend item is checked (TOC)\n */\n\n }, {\n key: 'isChecked',\n value: function isChecked() {\n return this.state.checked;\n }\n\n /**\n * Is a method that check for visiblitity dissabled (based on scalevisibility) and checked on toc\n * @param { Boolean } bool\n * @returns {*}\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n //get current visibility\n var visible = this.state.visible;\n // set visibility bool and is checked\n this.state.visible = bool && this.isChecked();\n //Check if change the visibility\n if (visible !== this.state.visible) {\n this.change();\n }\n return this.state.visible;\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n *\n * @param scale\n * @return {boolean}\n */\n\n }, {\n key: 'isPrintable',\n value: function isPrintable() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref6.scale;\n\n return this.isLayerCheckedAndAllParents() && (!this.state.scalebasedvisibility || scale >= this.state.maxscale && scale <= this.state.minscale);\n }\n\n //get style form layer\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n return this.config.source.external ? this.config.source.styles : this.config.styles;\n }\n }, {\n key: 'getStyle',\n value: function getStyle() {\n return this.config.source.external ? this.config.source.styles : this.config.styles ? this.config.styles.find(function (s) {\n return s.current;\n }).name : '';\n }\n\n /**\n * Get transparency property\n * \n * @returns {number}\n * \n * @since v3.8\n */\n\n }, {\n key: 'getOpacity',\n value: function getOpacity() {\n return this.state.opacity;\n }\n\n /**\n * Method to change the current style of layer\n * @param name\n * @returns { Boolean }\n */\n\n }, {\n key: 'setCurrentStyle',\n value: function setCurrentStyle(name) {\n var changed = !this.config.styles.find(function (s) {\n return name === s.name;\n }).current;\n this.config.styles.forEach(function (s) {\n return s.current = name === s.name;\n });\n return changed;\n }\n }, {\n key: 'getCurrentStyle',\n value: function getCurrentStyle() {\n return this.config.styles.find(function (s) {\n return s.current;\n });\n }\n\n /**\n * Disable layer by check scalevisibility configuration value\n * @param resolution\n * @param mapUnits\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(resolution) {\n var mapUnits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n if (this.state.scalebasedvisibility) {\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(resolution, mapUnits);\n this.state.disabled = !(mapScale >= this.state.maxscale && mapScale <= this.state.minscale);\n this.state.disabled = this.state.minscale === 0 ? !(mapScale >= this.state.maxscale) : this.state.disabled;\n // needed to check if call setVisible is change disable property\n // looping through parentfolter checked\n var setVisible = true;\n var parentGroup = this.state.parentGroup;\n while (parentGroup) {\n setVisible = setVisible && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n if (setVisible) {\n this.setVisible(!this.state.disabled);\n }\n // change toc highlight property based on disabled otr not\n if (this.isFilterable()) {\n this.setTocHighlightable(!this.state.disabled);\n }\n } else {\n this.state.disabled = false;\n }\n }\n }, {\n key: 'getMultiLayerId',\n value: function getMultiLayerId() {\n return this.config.multilayerid;\n }\n }, {\n key: 'getGeometryType',\n value: function getGeometryType() {\n return this.config.geometrytype;\n }\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.config.ows_method;\n }\n }, {\n key: 'setProjection',\n value: function setProjection() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config.projection = _projections2.default.get(crs);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.projection ? this.config.projection.getCode() : null;\n }\n }, {\n key: 'getMapCrs',\n value: function getMapCrs() {\n return this.config.map_crs;\n }\n }, {\n key: 'isCached',\n value: function isCached() {\n return this.config.cache_url && '' !== this.config.cache_url;\n }\n }, {\n key: 'getCacheUrl',\n value: function getCacheUrl() {\n // mapproxy provider → cache_url already contains \"{z}/{x}/{-y}.png\"\n if (this.isCached() && this.config.cache_provider && 'mapproxy' === this.config.cache_provider) {\n return this.config.cache_url;\n }\n if (this.isCached()) {\n return this.config.cache_url + '/{z}/{x}/{y}.png';\n }\n }\n\n // return if layer has inverted axis\n\n }, {\n key: 'hasAxisInverted',\n value: function hasAxisInverted() {\n var projection = this.getProjection();\n var axisOrientation = projection.getAxisOrientation ? projection.getAxisOrientation() : \"enu\";\n return axisOrientation.substr(0, 2) === 'ne';\n }\n\n /**\n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n console.log('overwrite by single layer');\n }\n\n /**\n *\n * @param projection\n */\n\n }, {\n key: 'setMapProjection',\n value: function setMapProjection(projection) {\n this._mapProjection = projection;\n }\n }, {\n key: 'getMapProjection',\n value: function getMapProjection() {\n return this._mapProjection;\n }\n }]);\n\n return _class;\n }(BaseClass);\n};\n\n},{\"services/gui\":173,\"store/projections\":180,\"utils/XHR\":181,\"utils/getScaleFromResolution\":216}],155:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RasterLayer = exports.ImageLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _layer = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _get_legend_params2 = require('utils/get_legend_params');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/imagelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * Stringify a query URL param (eg. `&WIDTH=700`)\n * \n * @param name\n * @param value\n * \n * @returns { string | null } a string if value is set or null\n */\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\n/**\n * @TODO merge \"RasterLayer\" class into \"ImageLayer\"\n * \n * ORIGINAL SOURCE: src/app/core/layers/map/maplayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmslayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmstlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/xyzlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/arcgismapserverlayer.js@v3.10.1\n */\n\nvar RasterLayer = function (_G3WObject) {\n _inherits(RasterLayer, _G3WObject);\n\n function RasterLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'GET';\n\n _classCallCheck(this, RasterLayer);\n\n var _this = _possibleConstructorReturn(this, (RasterLayer.__proto__ || Object.getPrototypeOf(RasterLayer)).call(this));\n\n _this.config = config;\n _this.id = config.id;\n _this.iframe_internal = config.iframe_internal || false;\n _this.extent = config.extent;\n _this.projection = config.projection;\n _this.layer = null;\n _this.layers = config.layers || []; // store all enabled layers\n _this.allLayers = []; // store all layers\n _this.showSpinnerWhenLoading = true;\n\n if ('XYZ' !== _this.config.type) {\n _this.LAYERTYPE = {\n LAYER: 'layer',\n MULTILAYER: 'multilayer'\n };\n _this.getInfoFormat = function () {\n return 'application/vnd.ogc.gml';\n };\n _this.getGetFeatureInfoUrl = function (coordinate, resolution, epsg, params) {\n return _this.getOLLayer().getSource().getGetFeatureInfoUrl(coordinate, resolution, epsg, params);\n };\n _this.getQueryUrl = function () {\n if (_this.layers[0].infourl && '' !== _this.layers[0].infourl) {\n return _this.layers[0].infourl;\n }\n return _this.config.url;\n };\n }\n\n _this.extraParams = extraParams;\n\n _this._method = method;\n return _this;\n }\n\n _createClass(RasterLayer, [{\n key: 'getId',\n value: function getId() {\n return this.id;\n }\n }, {\n key: 'getOLLayer',\n value: function getOLLayer(withLayers) {\n if (!this._olLayer) {\n this._olLayer = this._makeOlLayer(withLayers);\n }\n return this._olLayer;\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.getOLLayer().getSource();\n }\n }, {\n key: 'getLayerConfigs',\n value: function getLayerConfigs() {\n return this.layers;\n }\n }, {\n key: 'addLayer',\n value: function addLayer(layer) {\n if (!this.allLayers.find(function (l) {\n return layer === l;\n })) {\n this.allLayers.push(layer);\n }\n if (!this.layers.find(function (l) {\n return layer === l;\n })) {\n this.layers.push(layer);\n }\n if ('XYZ' === this.config.type) {\n this.layer = layer;\n }\n }\n }, {\n key: 'removeLayer',\n value: function removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return layer !== l;\n });\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.layers.filter(function (l) {\n return l.isVisible();\n }).length > 0;\n }\n\n /**\n * @param {boolean} withLayers\n * \n * @returns { RasterLayer._makeOlLayer }\n * \n * @listens ol.source.ImageWMS~imageloadstart\n * @listens ol.source.ImageWMS~imageloadend\n * @listens ol.source.ImageWMS~imageloaderror\n */\n\n }, {\n key: '_makeOlLayer',\n value: function _makeOlLayer(withLayers) {\n var _this2 = this;\n\n var olLayer = void 0;\n\n /** @type { 'image' | 'tile' } */\n var image = 'image';\n\n // ARCGIS LAYER\n if ('ARCGISMAPSERVER' === this.config.type) {\n olLayer = new ol.layer.Tile({\n visible: true,\n source: new ol.source.TileArcGISRest({\n url: this.config.url,\n projection: this.config.projection\n })\n });\n }\n\n // WMTS LAYER\n else if ('WMTS' === this.config.type) {\n image = 'tile';\n var layerObj = {\n url: 'mapproxy' === this.config.cache_provider || !(this.layers[0] && this.layers[0].getWmsUrl) ? this.config.url : this.layers[0].getWmsUrl(),\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n cache_provider: this.config.cache_provider, /** @since 3.10.0 **/\n cache_type: this.config.cache_type, /** @since 3.10.0 tms, wms**/\n cache_layer: this.config.cache_layer,\n cache_extent: this.config.cache_extent,\n cache_grid: this.config.cache_grid,\n cache_grid_extent: this.config.cache_grid_extent\n };\n\n /** @since 3.10.0 - MapProxy WMTS layer **/\n var resolutions = 'mapproxy' === layerObj.cache_provider && ol.tilegrid.createXYZ({ extent: layerObj.cache_grid_extent }).getResolutions();\n\n olLayer = resolutions ? new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: layerObj.url,\n layer: layerObj.cache_layer,\n matrixSet: layerObj.cache_grid,\n format: layerObj.cache_format || 'png',\n projection: layerObj.layers[0].getProjection(),\n tileGrid: new ol.tilegrid.WMTS({\n resolutions: resolutions,\n origin: ol.extent.getTopLeft(layerObj.cache_grid_extent),\n matrixIds: resolutions.map(function (_, i) {\n return i;\n })\n }),\n style: layerObj.style || '',\n transparent: false\n })\n }) : RasterLayer._makeOlLayer({\n layerObj: layerObj,\n extraParams: this.extraParams || {},\n tiled: true\n });\n }\n\n // XYZ LAYER\n else if ('XYZ' === this.config.type) {\n var projection = this.config.url && this.projection ? this.projection : this.layer.getProjection();\n\n olLayer = new ol.layer.Tile({\n visible: true,\n projection: projection,\n source: new ol.source.XYZ({\n url: this.config.url,\n maxZoom: 20,\n minZoom: undefined,\n projection: projection,\n crossOrigin: undefined,\n tileLoadFunction: this.iframe_internal ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() || 'mapproxy' === this.config.cache_provider ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: 20 }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n }\n\n // WMS LAYER\n else {\n olLayer = RasterLayer._makeOlLayer({\n layerObj: {\n url: this.layers[0] && this.layers[0].getWmsUrl ? this.layers[0].getWmsUrl() : this.config.url,\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n /** @since 3.9.1 */\n format: this.config.format\n },\n extraParams: this.extraParams\n }, this._method);\n }\n\n olLayer.getSource().on(image + 'loadstart', function () {\n return _this2.emit('loadstart');\n });\n olLayer.getSource().on(image + 'loadend', function () {\n return _this2.emit('loadend');\n });\n olLayer.getSource().on(image + 'loaderror', function () {\n return _this2.emit('loaderror');\n });\n\n return olLayer;\n }\n\n //update Layers\n\n }, {\n key: 'update',\n value: function update() {\n var mapState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var force = extraParams.force,\n params = _objectWithoutProperties(extraParams, ['force']);\n\n // check which layers have to be disabled\n\n\n if (!force) {\n var resolution = mapState.resolution,\n mapUnits = mapState.mapUnits;\n\n this.allLayers.forEach(function (l) {\n l.setDisabled(resolution, mapUnits);return l.isDisabled();\n });\n }\n\n if ('XYZ' === this.config.type) {\n this._olLayer.setVisible(this.layer.isVisible());\n return;\n }\n\n var layers = this.layers.filter(function (l) {\n return l.isVisible() && (params.layerId ? params.layerId === l.getId() : true);\n }) || [];\n\n // skip when ..\n if (layers.length <= 0) {\n this._olLayer.setVisible(false);\n return;\n }\n\n var STYLES = [];\n var OPACITIES = [];\n var LEGEND_ON = undefined;\n var LEGEND_OFF = undefined;\n\n layers.forEach(function (l) {\n var _get_legend_params = (0, _get_legend_params2.get_legend_params)(l),\n on = _get_legend_params.LEGEND_ON,\n off = _get_legend_params.LEGEND_OFF;\n\n STYLES.push(l.getStyle());\n OPACITIES.push(parseInt(l.getOpacity() / 100 * 255));\n if (on) {\n LEGEND_ON = undefined === LEGEND_ON ? on : LEGEND_ON + ';' + on;\n }\n if (off) {\n LEGEND_OFF = undefined === LEGEND_OFF ? off : LEGEND_OFF + ';' + off;\n }\n });\n\n this._olLayer.setVisible(true);\n //check if a layer source has with updateParams method\n /** @TODO Check a better way to do this */\n if (this._olLayer.getSource().updateParams) {\n this._olLayer.getSource().updateParams(_extends({}, params, {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF,\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: '' + (layers[0].isArcgisMapserver() ? 'show:' : '') + layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(','),\n STYLES: STYLES.join(','),\n /** @since 3.8 */\n OPACITIES: OPACITIES.join(',')\n }));\n }\n }\n }, {\n key: 'setupCustomMapParamsToLegendUrl',\n value: function setupCustomMapParamsToLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if ('XYZ' !== this.config.type) {\n [].concat(this.layer || this.layers).forEach(function (l) {\n return l.setMapParamstoLegendUrl(params);\n });\n }\n }\n }]);\n\n return RasterLayer;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/layers/rasters.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n\nRasterLayer._makeOlLayer = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n return new (opts.tiled ? ol.layer.Tile : ol.layer.Image)({\n id: opts.layerObj.id,\n name: opts.layerObj.name,\n opacity: undefined !== opts.layerObj.opacity ? opts.layerObj.opacity : 1.0,\n visible: opts.layerObj.visible,\n extent: opts.layerObj.extent,\n maxResolution: opts.layerObj.maxResolution,\n source: new (opts.tiled ? ol.source.TileWMS : ol.source.ImageWMS)({\n ratio: 1,\n url: opts.layerObj.url,\n projection: opts.layerObj.projection ? opts.layerObj.projection.getCode() : null,\n params: _extends({}, Object.fromEntries(Object.entries({\n DPI: _g3wConstants.DOTS_PER_INCH,\n TRANSPARENT: true,\n FORMAT: opts.layerObj.format,\n LAYERS: undefined !== opts.layerObj.layers ? opts.layerObj.layers : '',\n VERSION: undefined !== opts.layerObj.version ? opts.layerObj.version : '1.3.0',\n SLD_VERSION: undefined !== opts.layerObj.sld_version ? opts.layerObj.sld_version : '1.1.0'\n })\n // prevents sending \"FORMAT\" parameter when undefined\n .filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n\n return 'FORMAT' !== key ? true : undefined !== val;\n })), opts.extraParams || {}),\n imageLoadFunction: opts.layerObj.iframe_internal || 'POST' === method ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref4 = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x10) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined\n })\n });\n};\n\n/**\n * @param config.id\n * @param config.title\n * @param config.name\n * @param config.origname\n * @param config.multilayerid\n * @param config.servertype\n * @param config.source\n * @param config.crs\n * @param config.projection\n * @param config.bbox\n * @param config.capabilities\n * @param config.cache_url\n * @param { string } config.cache_provider since 3.10.0 (eg. \"mapproxy\")\n * @param config.baselayer\n * @param config.geometrytype\n * @param config.editops\n * @param config.expanded\n * @param config.fields\n * @param config.wmsUrl\n * @param config.infoformat\n * @param config.infourl\n * @param config.maxscale\n * @param config.minscale\n * @param config.visible\n * @param config.scalebasedvisibility\n * @param config.wfscapabilities\n * @param config.ows_method\n * @param config.wms_use_layer_ids\n * @param config.styles\n */\n\nvar ImageLayer = function (_GeoLayerMixin) {\n _inherits(ImageLayer, _GeoLayerMixin);\n\n function ImageLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ImageLayer);\n\n var _this3 = _possibleConstructorReturn(this, (ImageLayer.__proto__ || Object.getPrototypeOf(ImageLayer)).call(this, config, options));\n\n _this3._BASE_LAYER = options._BASE_LAYER;\n\n _this3.setters = {\n change: function change() {}\n };\n\n _this3.config.baselayer = config.baselayer || false;\n _this3.type = _layer.Layer.LayerTypes.IMAGE;\n _this3.legendUrl = null;\n _this3.customParams = {};\n\n _this3.setup(config, options);\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('OSM' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n source: new ol.source.OSM({ url: _this3.config.url }),\n id: _this3.config.name || 'osm',\n title: _this3.config.title || 'OSM',\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('Bing' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var name = {\n streets: 'Road',\n aerial: 'Aerial',\n aerialwithlabels: 'AerialWithLabels'\n }[_this3.config.source && _this3.config.source.subtype] || 'Aerial';\n return new ol.layer.Tile({\n name: name,\n visible: false,\n preload: Infinity,\n source: new ol.source.BingMaps({ imagerySet: name, key: _application2.default.keys.vendorkeys.bing }),\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var url = undefined !== _this3.config.url ? _this3.config.url : null;\n var projection = url && _this3.getProjectionFromCrs(_this3.config.crs);\n if (!url) {\n return;\n }\n return new ol.layer.Tile({\n visible: false,\n projection: projection,\n source: new ol.source.XYZ({\n url: url,\n maxZoom: _this3.config.maxZoom,\n minZoom: _this3.config.minZoom,\n projection: projection,\n crossOrigin: 'anonymous',\n // tileLoadFunction: undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: _this3.config.maxZoom }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMTS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n // use this config to get params\n var _this3$config = _this3.config,\n url = _this3$config.url,\n layer = _this3$config.layer,\n attributions = _this3$config.attributions,\n matrixSet = _this3$config.matrixSet,\n _this3$config$format = _this3$config.format,\n format = _this3$config$format === undefined ? 'image/png' : _this3$config$format,\n _this3$config$style = _this3$config.style,\n style = _this3$config$style === undefined ? 'default' : _this3$config$style,\n requestEncoding = _this3$config.requestEncoding,\n grid = _this3$config.grid,\n grid_extent = _this3$config.grid_extent;\n\n /** @since 3.10.0 */\n\n var projection = _this3.config.projection || _this3.getProjectionFromCrs(_this3.config.crs);\n\n if (matrixSet) {\n var size = ol.extent.getWidth(projection.getExtent()) / 256;\n return new ol.layer.Tile({\n opacity: .7,\n source: new ol.source.WMTS({\n url: url,\n projection: projection,\n layer: layer,\n matrixSet: matrixSet,\n requestEncoding: requestEncoding,\n format: format,\n attributions: attributions,\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(projection.getExtent()),\n resolutions: Array.from({ length: 14 }, function (_, z) {\n return size / Math.pow(2, z);\n }),\n matrixIds: Array.from({ length: 14 }, function (_, z) {\n return z;\n })\n }),\n style: style\n })\n });\n }\n\n /** @since 3.10.0 WMTS based on mapproxy*/\n if (grid && grid_extent) {\n var resolutions = ol.tilegrid.createXYZ({ extent: grid_extent }).getResolutions();\n return new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: url,\n layer: layer,\n projection: projection,\n matrixSet: grid,\n format: format || 'png',\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(grid_extent),\n resolutions: resolutions,\n matrixIds: resolutions.map(function (_, z) {\n return z;\n })\n }),\n style: style,\n transparent: false\n })\n });\n }\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return RasterLayer._makeOlLayer({\n layerObj: {\n url: _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions,\n layers: _this3.config.layers,\n tiled: undefined === _this3.config.singleTile ? false : _this3.config.singleTile,\n opacity: undefined === _this3.config.opacity ? 1 : _this3.config.opacity\n }\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('ARCGISMAPSERVER' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var _this3$config2 = _this3.config,\n url = _this3$config2.url,\n _this3$config2$visibl = _this3$config2.visible,\n visible = _this3$config2$visibl === undefined ? true : _this3$config2$visibl,\n extent = _this3$config2.extent,\n projection = _this3$config2.projection,\n attributions = _this3$config2.attributions,\n crossOrigin = _this3$config2.crossOrigin;\n\n\n return new ol.layer.Tile({\n extent: extent,\n visible: visible,\n source: new ol.source.TileArcGISRest({\n url: url,\n projection: projection,\n attributions: attributions,\n crossOrigin: crossOrigin\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (_this3._makeOlLayer && _this3.isWMS()) {\n _this3._mapLayer = new RasterLayer({\n url: _this3.getWmsUrl(),\n id: _this3.state.id,\n tiled: _this3.state.tiled\n });\n _this3._mapLayer.addLayer(_this3);\n } else if (_this3._makeOlLayer) {\n _this3._mapLayer = _this3;\n }\n return _this3;\n }\n\n /**\n *\n * Used by the following plugins: \"plugin\"\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n *\n *\n * @param force\n * @param vectorurl\n * @param project_type\n * @param project\n * @return {Promise}\n */\n\n\n _createClass(ImageLayer, [{\n key: 'getLayerForEditing',\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$force = _ref6.force,\n force = _ref6$force === undefined ? false : _ref6$force,\n vectorurl = _ref6.vectorurl,\n project_type = _ref6.project_type,\n project = _ref6.project;\n\n if (!force && !this.isEditable()) {\n return null;\n }\n\n // set editing layer\n try {\n var layerForEditing = yield new _vectorlayer.VectorLayer(this.config, {\n vectorurl: vectorurl,\n project_type: project_type,\n project: project || _application2.default.project\n }).layerForEditing;\n this.setEditingLayer(layerForEditing);\n return layerForEditing;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function getLayerForEditing() {\n return _ref5.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n }, {\n key: 'isWMS',\n value: function isWMS() {\n return [\"QGIS\", \"Mapserver\", \"Geoserver\", \"OGC\"].includes(this.config.servertype);\n }\n }, {\n key: 'isLayerProjectionASMapProjection',\n value: function isLayerProjectionASMapProjection() {\n return this.config.crs.epsg === this.config.map_crs;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'isExternalWMS',\n value: function isExternalWMS() {\n return !!(this.config.source && this.config.source.external && this.config.source.url);\n }\n }, {\n key: 'isArcgisMapserver',\n value: function isArcgisMapserver() {\n return this.isExternalWMS() && \"arcgismapserver\" === this.config.source.type;\n }\n }, {\n key: '_getBaseLayerName',\n value: function _getBaseLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: '_hasExternalWMSOrLegend',\n value: function _hasExternalWMSOrLegend() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'map';\n var source = this.config.source;\n\n\n return source && ('map' !== type || this.isExternalWMS() && this.isLayerProjectionASMapProjection()) && ('legend' === type || source.external);\n }\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$type = _ref7.type,\n type = _ref7$type === undefined ? 'map' : _ref7$type;\n\n var _ref8 = this.config || { source: {} },\n source = _ref8.source;\n\n var source_layer = source.layers || source.layer;\n\n /** @FIXME add description */\n if (source_layer && this._hasExternalWMSOrLegend(type)) {\n return source_layer;\n }\n\n return this._getBaseLayerName();\n }\n\n /**\n * @param opts\n * @param { 'map' | 'legend' } opts.type \n */\n\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$type = _ref9.type,\n type = _ref9$type === undefined ? 'map' : _ref9$type;\n\n var _ref10 = this.config || { source: {} },\n source = _ref10.source;\n\n /** @FIXME add description */\n\n\n if (source.url && this._hasExternalWMSOrLegend(type) && ['wms', 'wmst'].includes(source.type)) {\n return source.url;\n }\n\n return this.config.wmsUrl;\n }\n }, {\n key: 'getWFSLayerName',\n value: function getWFSLayerName() {\n return (this.config.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.getName()).replace(/\\s/g, '_').replaceAll(':', '-');\n }\n }, {\n key: 'useProxy',\n value: function useProxy() {\n return this.isExternalWMS() && this.isLayerProjectionASMapProjection() && this.getInfoFormats();\n }\n }, {\n key: 'getWMSInfoLayerName',\n value: function getWMSInfoLayerName() {\n return this.useProxy() ? this.getSource().layers : this._getBaseLayerName();\n }\n }, {\n key: 'getPrintLayerName',\n value: function getPrintLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n }, {\n key: 'getStringBBox',\n value: function getStringBBox() {\n var _config$bbox = this.config.bbox,\n minx = _config$bbox.minx,\n miny = _config$bbox.miny,\n maxx = _config$bbox.maxx,\n maxy = _config$bbox.maxy;\n\n return minx + ',' + miny + ',' + maxx + ',' + maxy;\n }\n }, {\n key: 'isWfsActive',\n value: function isWfsActive() {\n return Array.isArray(this.config.ows) && this.config.ows.some(function (t) {\n return 'WFS' === t;\n });\n }\n\n /**\n * Get wms url of the layer\n */\n\n }, {\n key: 'getFullWmsUrl',\n value: function getFullWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl();\n }\n\n /**\n * Get WMS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWmsUrl',\n value: function getCatalogWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl() + '?service=WMS&version=1.3.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWfsUrl',\n value: function getCatalogWfsUrl() {\n return this.getWfsUrl() + '?service=WFS&version=1.1.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS 3 url (used by Catalog Layer Menu)\n * @since 3.10.0\n * @return { String } url\n */\n\n }, {\n key: 'getCatalogWfs3Url',\n value: function getCatalogWfs3Url() {\n return this.getWfsUrl() + 'wfs3/';\n }\n }, {\n key: 'getWfsUrl',\n value: function getWfsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url) {\n return wms_url;\n }\n\n return this.config.wmsUrl;\n }\n\n /**\n * Get query url based on type, external or same projection of map\n * \n * @returns {string}\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n var url = _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getQueryUrl', this).call(this);\n var is_qgis = \"QGIS\" === this.getServerType() && this.isExternalWMS() && this.isLayerProjectionASMapProjection();\n\n /** @FIXME add description */\n if (is_qgis && this.getInfoFormats()) {\n return this.getSource().url;\n }\n\n /** @FIXME add description */\n if (is_qgis) {\n return url + 'SOURCE=' + this.config.source.type;\n }\n\n return url;\n }\n }, {\n key: 'getIconUrlFromLegend',\n value: function getIconUrlFromLegend() {\n return this.getLegendUrl({ layertitle: false });\n }\n\n /**\n * Retrieve legend url (ARCGISMAPSERVER or WMS)\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/legendservice.js@3.8.5\n * \n * @param { boolean } opts.categories whether layer has categories\n * @param { boolean } opts.all whether to show all categories (disables filter by map's BBOX).\n * @param { 'application/json' | 'image/png' | string } opts.format MIME Type used to set format of legend:\n * - `application/json`: if request from layers categories (icon and label),\n * - `image/png`: if request from legend tab\n * \n * @see https://docs.qgis.org/3.28/en/docs/server_manual/services/wms.html#getlegendgraphics\n */\n\n }, {\n key: 'getLegendUrl',\n value: function getLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { categories: false, all: false, format: 'image/png' };\n\n\n var base_url = void 0,\n url_params = void 0;\n\n var _params$customParams = _extends({}, params, this.customParams),\n width = _params$customParams.width,\n height = _params$customParams.height,\n _params$customParams$ = _params$customParams.color,\n color = _params$customParams$ === undefined ? \"white\" : _params$customParams$,\n _params$customParams$2 = _params$customParams.fontsize,\n fontsize = _params$customParams$2 === undefined ? 10 : _params$customParams$2,\n _params$customParams$3 = _params$customParams.transparent,\n transparent = _params$customParams$3 === undefined ? true : _params$customParams$3,\n boxspace = _params$customParams.boxspace,\n layerspace = _params$customParams.layerspace,\n _params$customParams$4 = _params$customParams.layertitle,\n layertitle = _params$customParams$4 === undefined ? true : _params$customParams$4,\n layertitlespace = _params$customParams.layertitlespace,\n symbolspace = _params$customParams.symbolspace,\n iconlabelspace = _params$customParams.iconlabelspace,\n symbolwidth = _params$customParams.symbolwidth,\n symbolheight = _params$customParams.symbolheight,\n itemfontfamily = _params$customParams.itemfontfamily,\n layerfontfamily = _params$customParams.layerfontfamily,\n layerfontbold = _params$customParams.layerfontbold,\n itemfontbold = _params$customParams.itemfontbold,\n layerfontitalic = _params$customParams.layerfontitalic,\n itemfontitalic = _params$customParams.itemfontitalic,\n rulelabel = _params$customParams.rulelabel,\n crs = _params$customParams.crs,\n bbox = _params$customParams.bbox,\n _params$customParams$5 = _params$customParams.sld_version,\n sld_version = _params$customParams$5 === undefined ? '1.1.0' : _params$customParams$5;\n\n /**\n * ARCGIS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/arcgismapserverlegend.js@3.8.5\n */\n\n\n if (this.isArcgisMapserver()) {\n base_url = this.getConfig().source.url.replace('/rest/', '/') + '/WMSServer';\n url_params = ['request=GetLegendGraphic', 'version=1.3.0', 'format=image/png', 'LAYER=' + this.getConfig().source.layer];\n }\n\n /**\n * WMS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/wmslegend.js@3.8.5\n */\n else {\n var ctx_legend = opts.categories && (['image/png', undefined].includes(opts.format) || _application2.default.project.state.context_base_legend) ? (0, _get_legend_params2.get_legend_params)(this) : undefined // disabled when `FORMAT=application/json` (otherwise it creates some strange behaviour on WMS `getMap` when switching between layer styles)\n ;\n base_url = this.getWmsUrl({ type: 'legend' });\n url_params = ['SERVICE=WMS', 'VERSION=1.3.0', 'REQUEST=GetLegendGraphic', __('SLD_VERSION=', sld_version), __('WIDTH=', width), __('HEIGHT=', height), __('FORMAT=', undefined === opts.format ? 'image/png' : opts.format), __('TRANSPARENT=', transparent), __('ITEMFONTCOLOR=', color), __('LAYERFONTCOLOR=', color), __('LAYERTITLE=', layertitle), __('ITEMFONTSIZE=', fontsize), __('CRS=', crs), __('BBOX=', [false, undefined].includes(opts.all) && bbox && bbox.join(',')), __('BOXSPACE=', boxspace), __('LAYERSPACE=', layerspace), __('LAYERTITLESPACE=', layertitlespace), __('SYMBOLSPACE=', symbolspace), __('ICONLABELSPACE=', iconlabelspace), __('SYMBOLWIDTH=', opts.categories && 'application/json' === opts.format ? 16 : symbolwidth), __('SYMBOLHEIGHT=', opts.categories && 'application/json' === opts.format ? 16 : symbolheight), __('LAYERFONTFAMILY=', layerfontfamily), __('ITEMFONTFAMILY=', itemfontfamily), __('LAYERFONTBOLD=', layerfontbold), __('ITEMFONTBOLD=', itemfontbold), __('LAYERFONTITALIC=', layerfontitalic), __('ITEMFONTITALIC=', itemfontitalic), __('RULELABEL=', rulelabel), __('LEGEND_ON=', ctx_legend && ctx_legend.LEGEND_ON), __('LEGEND_OFF=', ctx_legend && ctx_legend.LEGEND_OFF), __('STYLES=', opts.categories && 'application/json' === opts.format ? encodeURIComponent(this.getCurrentStyle().name) : undefined), __('LAYER=', this.getWMSLayerName({ type: 'legend' }))];\n }\n\n // discard nullish parameters (without a value)\n url_params = url_params.filter(function (p) {\n return p;\n });\n\n this.legendUrl = '' + base_url + (base_url.indexOf('?') > -1 ? '&' : '?') + url_params.join('&');\n\n return this.legendUrl;\n }\n }, {\n key: 'setMapParamstoLegendUrl',\n value: function setMapParamstoLegendUrl(_ref11) {\n var bbox = _ref11.bbox,\n crs = _ref11.crs;\n\n this.customParams = _extends({}, this.customParams, { bbox: bbox, crs: crs });\n }\n }, {\n key: 'getWfsCapabilities',\n value: function getWfsCapabilities() {\n return this.config.wfscapabilities || 1 === this.config.capabilities;\n }\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments[1];\n\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n options.iframe_internal = _application2.default.iframe && !this.isExternalWMS();\n var method = this.isExternalWMS() ? 'GET' : this.getOwsMethod();\n var extent = this.config.bbox ? [this.config.bbox.minx, this.config.bbox.miny, this.config.bbox.maxx, this.config.bbox.maxy] : null;\n var source = this.config.source;\n /** @since 3.10.0 Cache info **/\n var cache_provider = this.config.cache_provider;\n var cache_service_type = this.config.cache_service_type || 'tms'; //default tile\n var cache_layer = this.config.cache_layer;\n var cache_extent = this.config.cache_extent;\n var cache_grid = this.config.cache_grid;\n var cache_grid_extent = this.config.cache_grid_extent;\n //get layer url\n var url = this.isCached() ? this.getCacheUrl() : options.url || this.getWmsUrl();\n\n if (this.isCached() && 'tms' === cache_service_type) {\n return new RasterLayer(_extends({}, options, { extent: extent, url: url, cache_provider: cache_provider, type: 'XYZ' }), {}, method);\n }\n\n if (this.isExternalWMS() && source && \"arcgismapserver\" === source.type) {\n return new RasterLayer(_extends({}, options, source), extraParams);\n }\n\n if (this.isCached() && 'wmts' === cache_service_type) {\n return new RasterLayer(_extends({}, options, {\n url: url,\n cache_provider: cache_provider,\n cache_layer: cache_layer,\n cache_extent: cache_extent,\n cache_grid: cache_grid,\n cache_grid_extent: cache_grid_extent,\n type: 'WMTS'\n }), extraParams, method);\n }\n\n if (this.isExternalWMS() && source && \"wmst\" === source.type) {\n return new RasterLayer(_extends({}, options, { url: url, cache_provider: cache_provider, type: 'WMTS' }), extraParams, method);\n }\n\n return new RasterLayer(_extends({}, options, { url: url }), extraParams, method);\n }\n\n /**\n * @override Layer~getFormat\n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n if (this.isExternalWMS() && this.getSource()) {\n return this.getSource().format;\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getFormat', this).call(this);\n }\n\n /**\n * @override ImageLayer~getOwsMethod\n * \n * @see https://github.com/g3w-suite/g3w-client/issues/616\n * \n * forces to `GET` when wms layer is external or query url isn't a qgis server endpoint (ie. doesn't start with `/ows/`).\n * \n * @since 3.10.0\n */\n\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.isExternalWMS() || !/^\\/ows/.test(new URL(this.getQueryUrl(), window.initConfig.baseurl).pathname) ? 'GET' : this.config.ows_method;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'update',\n value: function update(mapState, extraParams) {\n if (this.isWMS()) {\n this._mapLayer.update(mapState, extraParams);\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n if (this._mapLayer) {\n this.getOLLayer().setVisible(bool);\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'setVisible', this).call(this, bool);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n if (this._mapLayer) {\n return this.getOLLayer().getSource();\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getSource', this).call(this);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getProjectionFromCrs',\n value: function getProjectionFromCrs() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n crs.epsg = crs.epsg ? crs.epsg : 'EPSG:3857';\n return _projections2.default.get(crs);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOLLayer',\n value: function getOLLayer() {\n var _this4 = this;\n\n if (!this._olLayer && this._makeOlLayer) {\n this._olLayer = this._makeOlLayer();\n // register loading event\n this._olLayer.getSource().on('imageloadstart', function () {\n return _this4.emit(\"loadstart\");\n });\n this._olLayer.getSource().on('imageloadend', function () {\n return _this4.emit(\"loadend\");\n });\n if (this._mapLayer.config.attributions) {\n this._olLayer.getSource().setAttributions(this._mapLayer.config.attributions);\n }\n this._olLayer.setVisible(this._mapLayer.state.visible);\n }\n return this._olLayer;\n }\n }]);\n\n return ImageLayer;\n}((0, _geoMixin2.default)(_layer.Layer));\n\nexports.ImageLayer = ImageLayer;\nexports.RasterLayer = RasterLayer;\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/get_legend_params\":218}],156:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Layer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _parseAttributes = require('utils/parseAttributes');\n\nvar _promisify = require('utils/promisify');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _XHR = require('utils/XHR');\n\nvar _prompt = require('utils/prompt');\n\nvar _Table = require('components/Table.vue');\n\nvar _Table2 = _interopRequireDefault(_Table);\n\nvar _parsers = require('utils/parsers');\n\nvar _get_legend_params = require('utils/get_legend_params');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar is_defined = function is_defined(d) {\n return undefined !== d;\n};\nvar çç = function çç(a, b) {\n return undefined !== a ? a : b;\n}; // like a ?? (coalesce operator)\n\n// BACKCOMP v3.x\nfunction createProvider(name, layer) {\n var provider = new Providers[name]();\n return Object.assign(provider, {\n _name: name,\n _layer: layer,\n getLayer: function getLayer() {\n return provider._layer;\n },\n setLayer: function setLayer(l) {\n return provider._layer = l;\n },\n getFeatures: provider.getFeatures || function () {\n return console.log('overwriteby single provider');\n },\n query: provider.query || function () {\n return console.log('overwriteby single provider');\n },\n getName: function getName() {\n return provider._name;\n }\n });\n}\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/providersfactory.js@v3.10.2\n * ORIGINAL SOURCE: src/app/core/layers/providers/geojsonprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/qgisprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n */\nvar Providers = {\n\n geojson: function () {\n function geojson() {\n _classCallCheck(this, geojson);\n }\n\n _createClass(geojson, [{\n key: 'query',\n value: function query() {\n return (0, _promisify.$promisify)(Promise.resolve([]));\n }\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return new ol.format.GeoJSON().readFeatures(opts.data || (yield _XHR.XHR.get({ url: opts.url || _this._layer.get('source').url })).results, {\n featureProjection: opts.mapProjection,\n dataProjection: opts.projection || 'EPSG:4326'\n });\n }));\n }\n }]);\n\n return geojson;\n }(),\n\n qgis: function () {\n function qgis() {\n _classCallCheck(this, qgis);\n }\n\n _createClass(qgis, [{\n key: 'query',\n\n\n /**\n * Query by filter\n * \n * @param { boolean } opts.raw whether to get raw response\n * @param { number } opts.feature_count maximum feature for request\n * @param { string } opts.queryUrl url for request data\n * @param { Array } opts.layers Array or request layers\n * @param opts.I wms request parameter \n * @param opts.J wms request parameter \n */\n value: function query() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._projections = this._projections || { map: null, layer: null };\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var is_table = 'table' === _this2._layer.getType();\n\n // in case not alphanumeric layer set projection\n if (!is_table) {\n _this2._projections.map = _this2._layer.getMapProjection() || _this2._projections.layer;\n }\n\n var layers = opts.layers ? opts.layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(',') : _this2._layer.getWMSLayerName();\n\n // skip when ..\n if (!opts.filter) {\n return Promise.reject();\n }\n\n var filter = [].concat(opts.filter)\n // BACKOMP v3.x\n .map(function (f) {\n return {\n type: f._type || f.type,\n value: f._filter || f.value\n };\n });\n\n // check if geometry filter. If not i have to remove projection layer\n if ('geometry' !== filter[0].type) {\n _this2._projections.layer = null;\n }\n\n filter = filter.filter(function (f) {\n return f.value;\n });\n\n var response = yield _XHR.XHR.get({\n url: opts.queryUrl || _this2._layer.getUrl('query'),\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: layers,\n QUERY_LAYERS: layers,\n INFO_FORMAT: _this2._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: opts.feature_count || 10,\n CRS: is_table ? _application2.default.map.epsg : _this2._projections.map.getCode(),\n I: opts.I,\n J: opts.J,\n FILTER: filter.length ? filter.map(function (f) {\n return f.value;\n }).join(';') : undefined,\n WITH_GEOMETRY: !is_table\n }\n });\n\n var _layers = undefined === opts.layers ? [_this2._layer] : opts.layers;\n\n return opts.raw ? response : _parsers.ResponseParser.get(_layers[0].getInfoFormat())({\n response: response,\n projections: _this2._projections,\n layers: _layers,\n wms: true\n });\n }));\n }\n\n /**\n * get layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return (0, _promisify.$promisify)(_XHR.XHR.get({ url: this._layer.getUrl('config') }));\n }\n\n /**\n * Load editing features (Read / Write)\n */\n\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // filter null values\n Object.entries(params).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n if ([null, undefined].includes(value)) {\n delete params[key];\n }\n });\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n params = new URLSearchParams(params || {}).toString();\n params = (params ? '?' : '') + params;\n\n // read mode\n if (!options.editing) {\n var _ref6 = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('data') + params\n }),\n vector = _ref6.vector;\n\n return {\n data: vector.data,\n count: vector.count\n };\n }\n\n // editing mode\n try {\n\n var response = void 0;\n\n if (!options.filter) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.bbox)) {\n // bbox filter\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n in_bbox: options.filter.bbox.join(','),\n filtertoken: _application2.default.tokens.filtertoken\n }),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fid)) {\n // fid filter\n response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(options.filter.fid) });\n } else if (options.filter.field) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify(options.filter),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fids)) {\n response = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('editing') + params,\n params: options.filter\n });\n } else if (is_defined(options.filter.nofeatures)) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n field: (options.filter.nofeatures_field || 'id') + '|eq|__G3W__NO_FEATURES__'\n }),\n contentType: 'application/json'\n });\n }\n\n // invalid response\n if (!response.result) {\n return;\n }\n\n var lockIds = response.featurelocks.map(function (lk) {\n return lk.featureid;\n });\n\n // resolves with features locked and requested\n return {\n count: response.vector.count, // real number of features that request will return\n featurelocks: response.featurelocks,\n features: _parsers.ResponseParser.get('g3w-' + _this3._layer.getType() + '/json')(response.vector.data, 'NoGeometry' === response.vector.geometrytype ? {} : { crs: _this3._layer.getCrs() }).filter(function (f) {\n return lockIds.includes('' + f.getId());\n }).map(function (feature) {\n return new _feature.Feature({ feature: feature });\n })\n };\n } catch (e) {\n console.warn(e);\n }\n return Promise.reject({ message: t(\"info.server_error\") });\n }));\n }\n }]);\n\n return qgis;\n }(),\n\n wms: function () {\n function wms() {\n _classCallCheck(this, wms);\n }\n\n _createClass(wms, [{\n key: 'query',\n value: function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$layers = opts.layers,\n layers = _opts$layers === undefined ? [this._layer] : _opts$layers,\n _opts$size = opts.size,\n size = _opts$size === undefined ? [101, 101] : _opts$size,\n _opts$coordinates = opts.coordinates,\n coordinates = _opts$coordinates === undefined ? [] : _opts$coordinates,\n resolution = opts.resolution;\n\n // get extent for view size\n\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var bbox = [coordinates[0] - dx, coordinates[1] - dy, coordinates[0] + dx, coordinates[1] + dy];\n\n var projection = this._layer.getMapProjection() || this._layer.getProjection();\n var tolerance = çç(opts.query_point_tolerance, _g3wConstants.QUERY_POINT_TOLERANCE);\n\n var url = layers[0].getQueryUrl();\n var method = layers[0].getOwsMethod();\n var proxy = layers[0].useProxy();\n var source = (url || '').split('SOURCE');\n\n // base request\n var params = {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n CRS: projection.getCode(),\n LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n QUERY_LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n filtertoken: _application2.default.tokens.filtertoken,\n INFO_FORMAT: this._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: çç(opts.feature_count, 10),\n WITH_GEOMETRY: true,\n DPI: _g3wConstants.DOTS_PER_INCH,\n FILTER_GEOM: 'map' === tolerance.unit ? new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(coordinates, tolerance.value))) : undefined,\n FI_POINT_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_LINE_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_POLYGON_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n G3W_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value * resolution,\n I: 'map' === tolerance.unit ? undefined : Math.floor((coordinates[0] - bbox[0]) / resolution), // x\n J: 'map' === tolerance.unit ? undefined : Math.floor((bbox[3] - coordinates[1]) / resolution), // y\n WIDTH: size[0],\n HEIGHT: size[1],\n STYLES: (layers || []).map(function (l) {\n return l.getStyle();\n }).join(','),\n BBOX: ('ne' === projection.getAxisOrientation().substr(0, 2) ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox).join(','),\n // HOTFIX for GetFeatureInfo requests and feature layer categories that are not visible (unchecked) at QGIS project setting\n LEGEND_ON: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_ON;\n }).filter(Boolean).join(';') || undefined,\n LEGEND_OFF: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_OFF;\n }).filter(Boolean).join(';') || undefined,\n SOURCE: !proxy && 'GET' === method && source.length > 1 ? source[1] : undefined\n };\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: { coordinates: coordinates, resolution: resolution }\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if (proxy) {\n response = yield layers[0].getDataProxyFromServer('wms', { url: url, params: params, method: method, headers: { 'Content-Type': params.INFO_FORMAT } });\n } else if ('GET' === method) {\n var uri = (source.length ? source[0] : url).replace(/[?&]$/, ''); // remove any trailing ? or &\n response = yield _XHR.XHR.get({\n url: uri + (uri.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).filter(function (k) {\n return ![undefined, null].includes(params[k]);\n }) // skip null and undefined params\n .map(function (k) {\n return k + '=' + encodeURIComponent(params[k]);\n }).join('&')\n });\n } else if ('POST' === method) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n } else {\n console.warn('unsupported method: ', method);\n }\n return {\n data: _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n layers: layers,\n wms: true,\n projections: { map: projection, layer: null }\n }),\n query: { coordinates: coordinates, resolution: resolution }\n };\n } finally {\n if (!proxy) {\n clearTimeout(timer);\n }\n }\n })()]));\n }\n }]);\n\n return wms;\n }(),\n\n wfs: function () {\n function wfs() {\n _classCallCheck(this, wfs);\n }\n\n _createClass(wfs, [{\n key: 'query',\n\n\n // query method\n value: function query() {\n var _this4 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = opts.filter || {};\n var layers = opts.layers || [this._layer];\n var url = (layers[0].getQueryUrl() + '/').replace(/\\/+$/, '/');\n var method = layers[0].getOwsMethod();\n\n // BACKCOMP v3.x\n Object.assign(filter, {\n config: filter.config || {},\n type: filter._type || filter.type,\n value: filter._filter || filter.value\n });\n\n params = Object.assign(params, {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n MAXFEATURES: çç(opts.feature_count, 10),\n TYPENAME: layers.map(function (l) {\n return l.getWFSLayerName();\n }).join(','),\n OUTPUTFORMAT: layers[0].getInfoFormat(),\n SRSNAME: (opts.reproject ? layers[0].getProjection() : this._layer.getMapProjection()).getCode(),\n FILTER: 'all' !== filter.type ? ('(' + new ol.format.WFS().writeGetFeature({\n featureTypes: [layers[0]],\n filter: {\n 'bbox': ol.format.filter.bbox('the_geom', filter.value),\n 'geometry': ol.format.filter[filter.config.spatialMethod || 'intersects']('the_geom', filter.value),\n 'expression': null\n }[filter.type]\n }).children[0].innerHTML + ')').repeat(layers.length || 1) : undefined\n });\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: {}\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if ('GET' === method && !['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.get({ url: url + '?' + new URLSearchParams(params || {}).toString() });\n }\n\n if ('POST' === method || ['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n }\n\n var data = _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n projections: {\n map: _this4._layer.getMapProjection(),\n layer: opts.reproject ? _this4._layer.getProjection() : null\n },\n layers: layers,\n wms: false\n });\n\n // sanitize in case of nil:true\n data.flatMap(function (l) {\n return l.features || [];\n }).forEach(function (f) {\n return Object.entries(f.getProperties()).forEach(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n attribute = _ref10[0],\n value = _ref10[1];\n\n return value && value['xsi:nil'] && feature.set(attribute, 'NULL');\n });\n });\n return { data: data };\n } finally {\n clearTimeout(timer);\n }\n })()]));\n }\n }]);\n\n return wfs;\n }()\n\n};\n\nvar DOWNLOAD_FORMATS = {\n download: { format: 'shapefile', url: 'shp' },\n download_gpkg: { format: 'gpkg', url: 'gpkg' },\n download_gpx: { format: 'gpx', url: 'gpx' },\n download_csv: { format: 'csv', url: 'csv' },\n download_xls: { format: 'xls', url: 'xls' },\n download_raster: { format: 'geotiff', url: 'geotiff' },\n download_pdf: { format: 'pdf', url: 'pdf' }\n};\n\n/**\n * Base class for all layers\n */\n\nvar Layer = function (_G3WObject) {\n _inherits(Layer, _G3WObject);\n\n function Layer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Layer);\n\n //get current project object\n var _this5 = _possibleConstructorReturn(this, (Layer.__proto__ || Object.getPrototypeOf(Layer)).call(this));\n\n var project = options.project || _application2.default.project;\n var suffixUrl = config.baselayer ? '' : project.getType() + '/' + project.getId() + '/' + config.id + '/';\n var vectorUrl = config.baselayer ? '' : project.state.vectorurl;\n var rasterUrl = config.baselayer ? '' : project.state.rasterurl;\n\n // assign some attributes\n\n _this5.config = Object.assign(config, _extends({\n id: config.id || 'Layer',\n title: config.title || config.name,\n download: !!config.download,\n geolayer: false,\n baselayer: !!config.baselayer,\n fields: config.fields || {},\n // URLs to get various type of data\n urls: _extends({\n query: config.infourl || config.wmsUrl\n }, config.urls || {}, config.baselayer ? {} : {\n filtertoken: vectorUrl + 'filtertoken/' + suffixUrl,\n data: vectorUrl + 'data/' + suffixUrl,\n shp: vectorUrl + 'shp/' + suffixUrl,\n csv: vectorUrl + 'csv/' + suffixUrl,\n xls: vectorUrl + 'xls/' + suffixUrl,\n gpx: vectorUrl + 'gpx/' + suffixUrl,\n gpkg: vectorUrl + 'gpkg/' + suffixUrl,\n geotiff: rasterUrl + 'geotiff/' + suffixUrl,\n editing: vectorUrl + 'editing/' + suffixUrl,\n commit: vectorUrl + 'commit/' + suffixUrl,\n config: vectorUrl + 'config/' + suffixUrl,\n unlock: vectorUrl + 'unlock/' + suffixUrl,\n widget: {\n unique: vectorUrl + 'widget/unique/data/' + suffixUrl\n },\n /** @since 3.8.0 */\n featurecount: project.getUrl('featurecount'),\n /** @since 3.10.0 */\n pdf: '/html2pdf/'\n })\n }, config.baselayer ? {} : { searchParams: { I: 0, J: 0 } }, {\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n search_endpoint: 'api'\n }));\n\n var relations = project.getRelations().filter(function (r) {\n return [r.referencedLayer, r.referencingLayer].includes(_this5.getId());\n });\n\n /**\n * Layer relations\n */\n _this5._relations = {\n\n /**\n * ORIGINAL SOURCE: src/app/core/relations/relation.js@v3.10.1\n * \n * Relations store\n * \n * @type { Relation[] }\n */\n _relations: (relations || []).reduce(function (relations) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var suffix = Date.now();\n /** relation state */\n var state = {\n /** @type { boolean } loading state (for editing purpose) */\n loading: false,\n /** @type { string } relation id */\n id: config.id || 'id_' + suffix,\n /** @type { string } relation name */\n name: config.name || 'name_' + suffix,\n origname: config.origname || 'origname_' + suffix,\n /** @type { string[] } layerId of father relation */\n father: config.referencedLayer,\n /** @type { string[] } layerId of child relation */\n child: config.referencingLayer,\n /** @type { 'MANY' | ONE' | string } relation type */\n type: config.type,\n /** @since 3.9.0 */\n editable: config.editable || false,\n /** @type { string } relation prefix (for Relation 1:1) @since 3.9.0 */\n prefix: config.prefix,\n /** BACKCOMP (g3w-admin < v.3.7.0) - father relation field name */\n fatherField: [].concat(config.fieldRef.referencedField),\n /** BACKCOMP (g3w-admin < v.3.7.0) - child relation layer field name */\n childField: [].concat(config.fieldRef.referencingField)\n };\n relations[state.id] = Object.assign(new _g3wObject2.default(config), {\n state: state,\n getId: function getId() {\n return state.id;\n },\n setId: function setId(id) {\n return state.id = id;\n },\n getName: function getName() {\n return state.name;\n },\n setName: function setName(n) {\n return state.name = n;\n },\n getChild: function getChild() {\n return state.child;\n },\n getFather: function getFather() {\n return state.father;\n },\n getState: function getState() {\n return state;\n },\n getType: function getType() {\n return state.type;\n },\n getFatherField: function getFatherField() {\n return state.fatherField;\n },\n getChildField: function getChildField() {\n return state.childField;\n },\n setLoading: function setLoading(b) {\n return state.loading = !!b;\n },\n isLoading: function isLoading() {\n return state.loading;\n },\n isEditable: function isEditable() {\n return state.editable;\n },\n getPrefix: function getPrefix() {\n return state.prefix;\n },\n /** @returns {{ father, child }} relation fields */\n getFields: function getFields() {\n return { father: state.fatherField, child: state.childField };\n },\n /** @FIXME `state.title` is not defined */\n getTitle: function getTitle() {\n return state.title;\n },\n /** @FIXME `state.title` is not defined */\n setTitle: function setTitle(t) {\n return state.title = t;\n }\n });\n return relations;\n }, {}),\n\n /**\n * Number of relations\n * \n * @type { number }\n */\n _length: relations ? relations.length : 0,\n\n /**\n * Build relations between layers.\n *\n * @private\n */\n _reloadRelationsInfo: function _reloadRelationsInfo() {\n\n this._relationsInfo = {\n children: {}, // hashmap: >\n fathers: {}, // hashmap: >\n father_child: {} // hashmap: \n };\n\n var f = void 0,\n c = void 0;\n var _relationsInfo = this._relationsInfo,\n father_child = _relationsInfo.father_child,\n fathers = _relationsInfo.fathers,\n children = _relationsInfo.children;\n\n\n Object.entries(this._relations).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n relationKey = _ref12[0],\n relation = _ref12[1];\n\n f = relation.getFather();\n c = relation.getChild();\n\n father_child[f + c] = relationKey; // relationKey = [father_layerId + child_layerId]\n fathers[f] = fathers[f] || [];\n children[c] = children[c] || [];\n\n fathers[f].push(c);\n children[c].push(f);\n });\n },\n\n\n /**\n * @returns { number } number of relations\n */\n getLength: function getLength() {\n return this._length;\n },\n\n\n /**\n * @param relation.type\n *\n * @returns { {} | Relation[] } relations filtered by type\n */\n getRelations: function getRelations() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$type = _ref13.type,\n type = _ref13$type === undefined ? null : _ref13$type;\n\n // type = null\n if (!type) {\n return this._relations;\n }\n\n // type = { 'ONE' | 'MANY' }\n if (-1 !== ['ONE', 'MANY'].indexOf(type)) {\n var _relations = {};\n for (var name in this._relations) {\n if (type === this._relations[name].getType()) {\n _relations[name] = this._relations[name];\n }\n }\n return _relations;\n }\n\n return {};\n },\n setRelations: function setRelations() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._relations = Array.isArray(relations) ? relations : [];\n },\n getRelationById: function getRelationById(id) {\n return this._relations[id];\n },\n getArray: function getArray() {\n return Object.entries(this._relations).map(function (r) {\n return r[1];\n });\n },\n getRelationByFatherChildren: function getRelationByFatherChildren(father, child) {\n return this.getRelationById(this._relationsInfo.father_child[father + child]);\n },\n isChild: function isChild(id) {\n return !!this._relationsInfo.children[id];\n },\n isFather: function isFather(id) {\n return !!this._relationsInfo.fathers[id];\n },\n hasChildren: function hasChildren(layer_id) {\n return (this.getChildren(layer_id) || []).length > 0;\n },\n hasFathers: function hasFathers(layer_id) {\n return (this.getFathers(layer_id) || []).length > 0;\n },\n\n /** @returns { Array | null } child layers (IDs) within same relation */\n getChildren: function getChildren(layer_id) {\n return this.isFather(layer_id) ? this._relationsInfo.fathers[layer_id] : null;\n },\n\n /** @returns { Array | null } father layers (IDs) within same relation */\n getFathers: function getFathers(layer_id) {\n return this.isChild(layer_id) ? this._relationsInfo.children[layer_id] : null;\n }\n };\n\n _this5._relations._reloadRelationsInfo();\n\n // dinamic layer values useful for layerstree\n var defaultstyle = config.styles && config.styles.find(function (s) {\n return s.current;\n }).name;\n\n /**\n * @TODO make it simpler, `this.config` and `this.state` are essentially duplicated data\n */\n _this5.state = {\n id: config.id,\n title: config.title,\n selected: config.selected || false,\n disabled: config.disabled || false,\n metadata: config.metadata,\n openattributetable: _this5.canShowTable(),\n removable: config.removable || false,\n downloadable: _this5.isDownloadable(),\n source: config.source,\n styles: config.styles,\n defaultstyle: defaultstyle,\n infoformat: _this5.getInfoFormat(),\n infoformats: _this5.config.infoformats || [],\n projectLayer: true,\n geolayer: false,\n attributetable: { pageLength: null },\n visible: config.visible || false,\n tochighlightable: false,\n /** state of if is in editing (setted by editing plugin) */\n inediting: false,\n /** Reactive selection attribute */\n selection: { active: false },\n /** Reactive filter attribute */\n filter: {\n active: false,\n /** @since 3.9.0 whether filter is set from a previously saved filter */\n current: null,\n /** @since v3.11.0 **/\n pagination: false\n },\n /** @type { Array<{{ id: string, name: string }}> } since 3.9.0 - array of saved filters */\n filters: config.filters || [],\n /** @type {number} since 3.8.0 */\n featurecount: config.featurecount,\n /** @type { boolean | Object } since 3.8.0 */\n stylesfeaturecount: config.featurecount && defaultstyle && _defineProperty({}, defaultstyle, config.featurecount),\n /** @type { string } since 3.10.0 */\n name: config.name,\n /** @type { boolean } since 3.10.0 */\n expanded: config.expanded,\n /** @type { boolean } since 3.10.0 - whether to show layer on TOC (default: true) */\n toc: 'boolean' === typeof config.toc ? config.toc : true\n };\n\n /**\n * Store all selections feature `fids`\n */\n _this5.selectionFids = new Set();\n\n // referred to (layersstore);\n _this5._layersstore = config.layersstore || null;\n\n var layerType = _this5.config.servertype + ' ' + (_this5.config.source && _this5.config.source.type);\n\n /**\n * Layer providers used to retrieve layer data from server\n * \n * 1 - data: raw layer data (editing)\n * 2 - filter\n * 3 - filtertoken\n * 4 - query\n * 5 - search\n */\n _this5.providers = {\n\n data: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType)) {\n return createProvider('qgis', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n filter: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms'].includes(layerType) && createProvider('wfs', _this5),\n\n filtertoken: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext'].includes(layerType) && createProvider('qgis', _this5),\n\n query: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms', 'QGIS gdal',\n /** @since 3.9.0 */\n 'QGIS postgresraster', 'QGIS vector-tile', 'QGIS vectortile', 'QGIS arcgismapserver', 'QGIS mdal', 'OGC wms'].includes(layerType)) {\n return createProvider('wms', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n search: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType) && createProvider('qgis', _this5)\n\n };\n\n /**\n * Store last proxy params (useful for repeat request info formats for wms external layer)\n */\n _this5.proxyData = {\n wms: null // at the moment only wms data from server\n };\n\n return _this5;\n }\n\n /******************************************************************************************\n * LAYER DOWNLOAD\n *****************************************************************************************/\n\n /** \n * @returns { Promise }\n */\n\n\n _createClass(Layer, [{\n key: 'getDownloadFilefromDownloadDataType',\n value: function getDownloadFilefromDownloadDataType(type, _ref15) {\n var _ref15$data = _ref15.data,\n data = _ref15$data === undefined ? {} : _ref15$data;\n\n data.filtertoken = this.getFilterToken();\n\n if ('pdf' === type) {\n return (0, _downloadFile.downloadFile)({\n url: this.getUrl('pdf'),\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n data: JSON.stringify(data),\n mime_type: 'application/pdf',\n method: 'POST'\n });\n }\n\n return _XHR.XHR.fileDownload({\n url: this.getUrl('shapefile' === type ? 'shp' : type),\n data: data,\n httpMethod: \"POST\"\n });\n }\n }, {\n key: 'getGeoTIFF',\n value: function getGeoTIFF() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$data = _ref16.data,\n data = _ref16$data === undefined ? {} : _ref16$data;\n\n return this.getDownloadFilefromDownloadDataType('geotiff', { data: data });\n }\n }, {\n key: 'getXls',\n value: function getXls() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$data = _ref17.data,\n data = _ref17$data === undefined ? {} : _ref17$data;\n\n return this.getDownloadFilefromDownloadDataType('xls', { data: data });\n }\n }, {\n key: 'getShp',\n value: function getShp() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? {} : _ref18$data;\n\n return this.getDownloadFilefromDownloadDataType('shapefile', { data: data });\n }\n }, {\n key: 'getGpx',\n value: function getGpx() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$data = _ref19.data,\n data = _ref19$data === undefined ? {} : _ref19$data;\n\n return this.getDownloadFilefromDownloadDataType('gpx', { data: data });\n }\n }, {\n key: 'getGpkg',\n value: function getGpkg() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$data = _ref20.data,\n data = _ref20$data === undefined ? {} : _ref20$data;\n\n return this.getDownloadFilefromDownloadDataType('gpkg', { data: data });\n }\n }, {\n key: 'getCsv',\n value: function getCsv() {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? {} : _ref21$data;\n\n return this.getDownloadFilefromDownloadDataType('csv', { data: data });\n }\n\n /**\n * @returns { string[] } download formats\n */\n\n }, {\n key: 'getDownloadableFormats',\n value: function getDownloadableFormats() {\n var _this6 = this;\n\n return Object.keys(DOWNLOAD_FORMATS).filter(function (d) {\n return _this6.config[d];\n }).map(function (d) {\n return DOWNLOAD_FORMATS[d].format;\n });\n }\n\n /**\n * @param download url\n * \n * @returns { string }\n */\n\n }, {\n key: 'getDownloadUrl',\n value: function getDownloadUrl(format) {\n return (Object.values(DOWNLOAD_FORMATS).find(function (d) {\n return d.format === format;\n }) || {}).url;\n }\n\n /**\n * @returns { boolean } whether it has a format to download\n */\n\n }, {\n key: 'isDownloadable',\n value: function isDownloadable() {\n return !!this.getDownloadableFormats().length;\n }\n }, {\n key: 'isGeoTIFFDownloadable',\n value: function isGeoTIFFDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' === this.config.source.type;\n }\n }, {\n key: 'isShpDownloadable',\n value: function isShpDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' !== this.config.source.type;\n }\n }, {\n key: 'isXlsDownloadable',\n value: function isXlsDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_xls;\n }\n }, {\n key: 'isGpxDownloadable',\n value: function isGpxDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpx;\n }\n }, {\n key: 'isGpkgDownloadable',\n value: function isGpkgDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpkg;\n }\n }, {\n key: 'isCsvDownloadable',\n value: function isCsvDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_csv;\n }\n\n /******************************************************************************************\n * LAYER RELATIONS\n *****************************************************************************************/\n\n /**\n * @returns {*} relations\n */\n\n }, {\n key: 'getRelations',\n value: function getRelations() {\n return this._relations;\n }\n\n /**\n * @param id\n * \n * @returns {*} relation by id\n */\n\n }, {\n key: 'getRelationById',\n value: function getRelationById(id) {\n return this._relations.getArray().find(function (r) {\n return id === r.getId();\n });\n }\n\n /**\n * @param relationName\n * \n * @returns { * | Array } relation fields\n */\n\n }, {\n key: 'getRelationAttributes',\n value: function getRelationAttributes(relationName) {\n var relation = this._relations.find(function (r) {\n return relationName === r.name;\n });\n return relation ? relation.fields : [];\n }\n\n /**\n * [LAYER RELATIONS]\n * \n * @TODO Add description\n * \n * @returns { Object } fields\n */\n\n }, {\n key: 'getRelationsAttributes',\n value: function getRelationsAttributes() {\n return (this.state.relations || []).reduce(function (fields, r) {\n fields[r.name] = r.fields;\n return fields;\n }, {});\n }\n\n /**\n * @returns { * | boolean } whether layer is a Child of a relation\n */\n\n }, {\n key: 'isChild',\n value: function isChild() {\n return this.getRelations() ? this._relations.isChild(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether layer is a Father of a relation\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.getRelations() ? this._relations.isFather(this.getId()) : false;\n }\n\n /**\n * @returns { * |Array } children relations\n */\n\n }, {\n key: 'getChildren',\n value: function getChildren() {\n return this.isFather() ? this._relations.getChildren(this.getId()) : [];\n }\n\n /**\n * @returns { * | Array } parents relations\n */\n\n }, {\n key: 'getFathers',\n value: function getFathers() {\n return this.isChild() ? this._relations.getFathers(this.getId()) : [];\n }\n\n /**\n * @returns { * | boolean } whether it has children\n */\n\n }, {\n key: 'hasChildren',\n value: function hasChildren() {\n return this.hasRelations() ? this._relations.hasChildren(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether it has fathers\n */\n\n }, {\n key: 'hasFathers',\n value: function hasFathers() {\n return this.hasRelations() ? this._relations.hasFathers(this.getId()) : false;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'hasRelations',\n value: function hasRelations() {\n return !!this._relations;\n }\n\n /******************************************************************************************\n * LAYER SELECTION\n *****************************************************************************************/\n\n /**\n * @returns { boolean } whether is selected\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param { boolean } selected\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected(selected) {\n this.state.selected = selected;\n }\n\n /**\n * Set Selection\n * \n * @param bool\n * \n * @returns {Promise}\n * \n * @fires unselectionall\n */\n\n }, {\n key: 'setSelection',\n value: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selection.active = bool;\n\n // skip when selection is active\n if (bool) {\n return;\n }\n\n //check if filter is active\n var is_active = this.state.filter.active;\n var has_current = null !== this.state.filter.current;\n\n /** @TODO add description */\n if (has_current && is_active) {\n yield this._applyFilterToken(this.state.filter.current);\n }\n\n /** @TODO add description */\n if (!has_current && is_active) {\n yield this.deleteFilterToken();\n }\n\n this.emit('unselectionall', this.getId());\n });\n\n function setSelection() {\n return _ref22.apply(this, arguments);\n }\n\n return setSelection;\n }()\n\n /**\n * @returns { boolean } whether selection si active\n */\n\n }, {\n key: 'isSelectionActive',\n value: function isSelectionActive() {\n return this.state.selection.active;\n }\n\n /**\n * @returns {{ active: boolean }} selection\n */\n\n }, {\n key: 'getSelection',\n value: function getSelection() {\n return this.state.selection;\n }\n\n /**\n * @returns filter\n */\n\n }, {\n key: 'getFilter',\n value: function getFilter() {\n return this.state.filter;\n }\n\n /**\n * Set filter Active to layer\n * \n * @param {boolean} bool\n */\n\n }, {\n key: 'setFilter',\n value: function setFilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.filter.active = bool;\n //@since 3.11.0 need to reset pagination filter when bool is false\n this.state.filter.pagination = bool && this.state.filter.pagination;\n if (this.isGeoLayer() && this.state.filter.active) {\n this.hideOlSelectionFeatures();\n }\n if (this.isGeoLayer() && !this.state.filter.active) {\n this.updateMapOlSelectionFeatures();\n }\n }\n\n /**\n * Apply layer filter by fid\n * \n * @param filter\n */\n\n }, {\n key: 'applyFilter',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (filter) {\n if (!this.providers['filtertoken']) {\n return;\n }\n\n // the current filter is set and is different from current\n if (null === this.state.filter.current || filter.fid !== this.state.filter.current.fid) {\n yield this.clearSelectionFids();\n _gui2.default.closeContent();\n }\n\n yield this._applyFilterToken(filter);\n });\n\n function applyFilter(_x21) {\n return _ref23.apply(this, arguments);\n }\n\n return applyFilter;\n }()\n\n /**\n * @returns {Promise}\n * \n * @private\n */\n\n }, {\n key: '_applyFilterToken',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (filter) {\n try {\n /** @example /vector/api/filtertoken////mode=apply&fid=|name= */\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'apply', fid: filter.fid }\n });\n if (!response || !response.result || !response.data) {\n return;\n }\n this.setFilter(false);\n this.state.filter.current = filter;\n this.setFilterToken(response.data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function _applyFilterToken(_x22) {\n return _ref24.apply(this, arguments);\n }\n\n return _applyFilterToken;\n }()\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'saveFilter',\n value: function saveFilter() {\n\n // skip when ..\n if (!this.providers['filtertoken'] || !this.selectionFids.size > 0) {\n return;\n }\n\n var layer = this;\n\n (0, _prompt.prompt)({\n label: t('layer_selection_filter.tools.savefilter'),\n value: layer.state.filter.current ? layer.state.filter.current.name : '',\n callback: function () {\n var _ref25 = _asyncToGenerator(function* (name) {\n\n /** @example /vector/api/filtertoken////mode=save&name= */\n var response = yield _XHR.XHR.get({\n url: layer.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'save', name: name } });\n\n // skip when no data return from provider\n if (!response || !response.result || !response.data) {\n return;\n }\n\n var filter = layer.state.filters.find(function (f) {\n return response.data.fid === f.fid;\n });\n\n // add saved filter to filters array\n if (undefined === filter) {\n filter = {\n fid: response.data.fid, //get fid\n name: response.data.name //get name\n };\n layer.state.filters.push(filter);\n }\n\n layer.state.filter.current = filter; // set current filter\n layer.setFilter(false); // set to false\n layer.getSelection().active = false; // reset selection to false\n layer.selectionFids.clear(); // clear current fids\n\n //in the case of geolayer\n if (layer.isGeoLayer()) {\n //remove selection feature from map\n layer.setOlSelectionFeatures();\n }\n\n //emit unselectionall\n layer.emit('unselectionall', layer.getId());\n });\n\n function callback(_x23) {\n return _ref25.apply(this, arguments);\n }\n\n return callback;\n }()\n });\n }\n\n /**\n * Toggle filter token on layer\n */\n\n }, {\n key: 'toggleFilterToken',\n value: function () {\n var _ref26 = _asyncToGenerator(function* () {\n\n //set to handle select or hide ol\n this.setFilter(!this.state.filter.active);\n\n var has_current = this.state.filter.current;\n var is_active = this.state.filter.active;\n\n // there is an active filter --> create a new filter\n if (is_active) {\n yield this.createFilterToken();\n }\n\n // there is a current saved filter --> apply filter\n if (has_current && !is_active) {\n yield this.applyFilter(this.state.filter.current);\n }\n\n // there is no current saved filter --> delete it\n if (!has_current && !is_active) {\n yield this.deleteFilterToken();\n }\n\n return this.state.filter.active;\n });\n\n function toggleFilterToken() {\n return _ref26.apply(this, arguments);\n }\n\n return toggleFilterToken;\n }()\n\n /**\n * Delete filtertoken from server\n * \n * @param fid unique id of filter saved to delete\n */\n\n }, {\n key: 'deleteFilterToken',\n value: function () {\n var _ref27 = _asyncToGenerator(function* (fid) {\n try {\n // skip when no filtertoken provider is set\n if (!this.providers['filtertoken']) {\n return;\n }\n\n var filtertoken = void 0;\n try {\n // Delete saved filter from server --> `/vector/api/filtertoken////mode=delete_saved&fid=|name=`\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: fid, mode: undefined === fid ? 'delete' : 'delete_saved' }\n });\n // filter token if another layer is filtered otherwise filtertoken is undefined\n if (response && response.result && response.data) {\n filtertoken = response.data.filtertoken;\n }\n } catch (e) {\n console.warn(e);\n }\n\n // remove it from filters list when deleting a saved filter (since v3.9.0)\n if (undefined !== fid) {\n this.state.filters = this.state.filters.filter(function (f) {\n return fid !== f.fid;\n });\n }\n\n this.state.filter.current = null; // set current filter set to null\n // set active filter to false\n if (this.state.filter.active) {\n this.setFilter(false);\n }\n this.setFilterToken(filtertoken); // pass `filtertoken` to application\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFilterToken(_x24) {\n return _ref27.apply(this, arguments);\n }\n\n return deleteFilterToken;\n }()\n\n /**\n * Set applicaton filter token\n * \n * @param {string} filtertoken a string passed by server and used as parameter in XHR request\n *\n * @fires filtertokenchange when filtertoken is changed\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'setFilterToken',\n value: function setFilterToken() {\n var filtertoken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n _application2.default.tokens.filtertoken = filtertoken;\n this.setFilter(!!filtertoken);\n this.emit('filtertokenchange', { layerId: this.getId() });\n }\n\n /**\n * Create filter token\n */\n\n }, {\n key: 'createFilterToken',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n try {\n\n var provider = this.providers['filtertoken'];\n var selection = this.selectionFids;\n\n // skip when no filter token provider is set or selectionFids is empty\n if (!provider || !selection.size > 0) {\n return;\n }\n\n // select all features\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n try {\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: undefined, mode: 'delete' }\n });\n } catch (e) {\n console.warn(e);\n }\n this.setFilterToken(null);\n\n return;\n }\n\n var fids = Array.from(selection);\n\n var _ref29 = yield _XHR.XHR.get({\n url: provider._layer.getUrl('filtertoken'),\n params: selection.has(_g3wConstants.SELECTION.EXCLUDE) ? { fidsout: fids.filter(function (id) {\n return id !== _g3wConstants.SELECTION.EXCLUDE;\n }).join(',') // exclude features from selection\n } : { fidsin: fids.join(',') // include features in selection\n } }),\n _ref29$data = _ref29.data,\n data = _ref29$data === undefined ? {} : _ref29$data;\n\n this.setFilterToken(data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function createFilterToken() {\n return _ref28.apply(this, arguments);\n }\n\n return createFilterToken;\n }()\n\n /**\n * Get Application filter token\n * \n * @returns {*}\n */\n\n }, {\n key: 'getFilterToken',\n value: function getFilterToken() {\n return _application2.default.tokens.filtertoken;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'setSelectionFidsAll',\n value: function setSelectionFidsAll() {\n this.selectionFids.clear();\n this.selectionFids.add(_g3wConstants.SELECTION.ALL);\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n //set all features selected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = true;\n });\n this.updateMapOlSelectionFeatures();\n }\n\n /** @TODO add description */\n this.setSelection(true);\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n }\n\n /**\n * @returns {Set} stored selection `fids` \n */\n\n }, {\n key: 'getSelectionFids',\n value: function getSelectionFids() {\n return this.selectionFids;\n }\n\n /**\n * Invert current selection fids\n */\n\n }, {\n key: 'invertSelectionFids',\n value: function invertSelectionFids() {\n var selection = this.selectionFids;\n\n /** @TODO add description */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n selection.delete(_g3wConstants.SELECTION.EXCLUDE);\n } else if (selection.has(_g3wConstants.SELECTION.ALL)) {\n selection.delete(_g3wConstants.SELECTION.ALL);\n } else if (selection.size > 0) {\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setInversionOlSelectionFeatures();\n }\n\n /** In the case of tocken filter active create */\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n\n this.setSelection(selection.size > 0);\n }\n\n /**\n * Check if feature id is present\n * \n * @param fid feature id\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'hasSelectionFid',\n value: function hasSelectionFid(fid) {\n var selection = this.selectionFids;\n\n /** In case contain selection ALL, mean all features selected */\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n return true;\n }\n\n /**In case selection contains exclude value, check if id is not in excluded feature id */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n return !selection.has(fid);\n }\n\n /** Check if id is on selection set */\n return selection.has(fid);\n }\n\n /**\n * Include fid feature id to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'includeSelectionFid',\n value: function () {\n var _ref30 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) && selection.has(fid);\n\n // remove fid from exclude\n if (is_excluded) {\n selection.delete(fid);\n }\n\n // add to selection fid\n if (!is_excluded) {\n selection.add(fid);\n }\n\n // if the only one exclude Set all selected\n if (is_excluded && 1 === selection.size) {\n this.setSelectionFidsAll();\n }\n\n /** @TODO add description */\n if (!is_excluded && !this.isSelectionActive()) {\n this.setSelection(true);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFid(_x27) {\n return _ref30.apply(this, arguments);\n }\n\n return includeSelectionFid;\n }()\n\n /**\n * Exclude fid to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'excludeSelectionFid',\n value: function () {\n var _ref31 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n /**In case all features are selected or no features are selected */\n if (selection.has(_g3wConstants.SELECTION.ALL) || 0 === selection.size) {\n //set an empty selection set\n selection.clear();\n //add exclude item\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** If has exclude item, mean add fid to exclude */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //add to exclude\n selection.add(fid);\n } else {\n //remote to exclude\n selection.delete(fid);\n }\n\n /** If no selection */\n if (0 === selection.size) {\n this.clearSelectionFids();\n }\n\n /** If contain only exclude fid */\n if (1 === selection.size && selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //celar selection set\n selection.clear();\n this.setselectionFidsAll();\n }\n\n if (this.isGeoLayer()) {\n // whether fid is excluded from selection\n this.setOlSelectionFeatureByFid(fid, selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid) ? 'remove' : 'add');\n }\n\n /** If there is a filterActive */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFid(_x29) {\n return _ref31.apply(this, arguments);\n }\n\n return excludeSelectionFid;\n }()\n\n /**\n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'includeSelectionFids',\n value: function () {\n var _ref32 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this7.includeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFids() {\n return _ref32.apply(this, arguments);\n }\n\n return includeSelectionFids;\n }()\n\n /**\n * Exclude fids from selection\n * \n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'excludeSelectionFids',\n value: function () {\n var _ref33 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n //pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this8.excludeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFids() {\n return _ref33.apply(this, arguments);\n }\n\n return excludeSelectionFids;\n }()\n\n /**\n * Clear selection\n */\n\n }, {\n key: 'clearSelectionFids',\n value: function () {\n var _ref34 = _asyncToGenerator(function* () {\n this.selectionFids.clear();\n // remove selected feature on a map\n if (this.isGeoLayer()) {\n //set all features unselected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = false;\n });\n this.updateMapOlSelectionFeatures();\n }\n // set selection false\n yield this.setSelection(false);\n });\n\n function clearSelectionFids() {\n return _ref34.apply(this, arguments);\n }\n\n return clearSelectionFids;\n }()\n\n /******************************************************************************************\n * LAYER BASE\n *****************************************************************************************/\n\n /**\n * Proxy params data\n */\n\n }, {\n key: 'getProxyData',\n value: function getProxyData(type) {\n return type ? this.proxyData[type] : this.proxyData;\n }\n\n /**\n * Set proxy data\n *\n * @param type\n * @param data\n */\n\n }, {\n key: 'setProxyData',\n value: function setProxyData(type) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.proxyData[type] = data;\n }\n\n /**\n * Clear proxy data\n *\n * @param type\n */\n\n }, {\n key: 'clearProxyData',\n value: function clearProxyData(type) {\n this.proxyData[type] = null;\n }\n\n /**\n * Get a proxy request\n *\n * @param type\n * @param proxyParams\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'getDataProxyFromServer',\n value: function () {\n var _ref35 = _asyncToGenerator(function* () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var proxyParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n var _ref36 = yield _data2.default.getData('proxy:' + type, {\n inputs: proxyParams,\n outputs: false\n }),\n response = _ref36.response,\n data = _ref36.data;\n\n this.setProxyData(type, JSON.parse(data));\n return response;\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getDataProxyFromServer() {\n return _ref35.apply(this, arguments);\n }\n\n return getDataProxyFromServer;\n }()\n\n /**\n * @TODO Add description\n *\n * @param type\n * @param changes\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'changeProxyDataAndReloadFromServer',\n value: function changeProxyDataAndReloadFromServer() {\n var _this9 = this;\n\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(changes).forEach(function (c) {\n Object.keys(changes[c]).forEach(function (p) {\n _this9.proxyData[type][c][p] = changes[c][p];\n });\n });\n return this.getDataProxyFromServer(type, this.proxyData[type]);\n }\n\n /**\n * [EDITING PLUGIN] Check if layer is in editing\n *\n * @returns { boolean }\n */\n\n }, {\n key: 'isInEditing',\n value: function isInEditing() {\n return this.state.inediting;\n }\n\n /**\n * [EDITING PLUGIN] Set editing state\n *\n * @param {boolean} bool\n */\n\n }, {\n key: 'setInEditing',\n value: function setInEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.inediting = bool;\n }\n\n /**\n * @TODO Add description here\n *\n * @returns {*}\n */\n\n }, {\n key: 'getSearchParams',\n value: function getSearchParams() {\n return this.config.searchParams;\n }\n\n /**\n * @deprecated since 3.10.0. Will be removed in v.4.x.\n */\n\n }, {\n key: 'getSearchEndPoint',\n value: function getSearchEndPoint() {\n console.warn('getSearchEndPoint is deprecated');\n return 'api';\n }\n\n /**\n * @TODO Add description\n *\n * @param pageLength\n */\n\n }, {\n key: 'setAttributeTablePageLength',\n value: function setAttributeTablePageLength(pageLength) {\n this.state.attributetable.pageLength = pageLength;\n }\n\n /**\n * @TODO add description\n *\n * @returns {null}\n */\n\n }, {\n key: 'getAttributeTablePageLength',\n value: function getAttributeTablePageLength() {\n return this.state.attributetable.pageLength;\n }\n\n /**\n * @returns { string } wms layer name for wms request\n */\n\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @returns { boolean | *} whether request need to use `layer.id` or `layer.name`\n */\n\n }, {\n key: 'isWmsUseLayerIds',\n value: function isWmsUseLayerIds() {\n return this.config.wms_use_layer_ids;\n }\n\n /**\n * @returns {*|null} source type of layer\n */\n\n }, {\n key: 'getSourceType',\n value: function getSourceType() {\n return this.config.source ? this.config.source.type : null;\n }\n\n /**\n * @returns {boolean} whether it is a layer with geometry\n */\n\n }, {\n key: 'isGeoLayer',\n value: function isGeoLayer() {\n return this.state.geolayer;\n }\n\n /**\n * @TODO Add description\n *\n * @param { Object } opts\n * @param opts.page\n * @param opts.page_size\n * @param opts.ordering\n * @param opts.search\n * @param opts.suggest\n * @param opts.formatter\n * @param opts.custom_params\n * @param opts.field\n * @param opts.in_bbox\n *\n * @returns {*}\n */\n\n }, {\n key: 'getDataTable',\n value: function getDataTable() {\n var _this10 = this;\n\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$page = _ref37.page,\n page = _ref37$page === undefined ? null : _ref37$page,\n _ref37$page_size = _ref37.page_size,\n page_size = _ref37$page_size === undefined ? null : _ref37$page_size,\n _ref37$ordering = _ref37.ordering,\n ordering = _ref37$ordering === undefined ? null : _ref37$ordering,\n _ref37$search = _ref37.search,\n search = _ref37$search === undefined ? null : _ref37$search,\n _ref37$suggest = _ref37.suggest,\n suggest = _ref37$suggest === undefined ? null : _ref37$suggest,\n _ref37$formatter = _ref37.formatter,\n formatter = _ref37$formatter === undefined ? 0 : _ref37$formatter,\n _ref37$custom_params = _ref37.custom_params,\n custom_params = _ref37$custom_params === undefined ? {} : _ref37$custom_params,\n field = _ref37.field,\n in_bbox = _ref37.in_bbox;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when..\n if (!_this10.getProvider('filter') && !_this10.getProvider('data')) {\n return Promise.reject();\n }\n\n var response = yield (0, _promisify.promisify)(_this10.getProvider('data').getFeatures({ editing: false }, _extends({}, custom_params, {\n field: field,\n page: page,\n page_size: page_size,\n ordering: ordering,\n search: search,\n formatter: formatter,\n suggest: suggest,\n in_bbox: in_bbox,\n filtertoken: _application2.default.tokens.filtertoken\n })));\n var features = response.data.features && response.data.features || [];\n return {\n headers: (0, _parseAttributes.parseAttributes)(_this10.getAttributes(), features.length ? features[0].properties : []),\n features: features,\n title: _this10.getTitle(),\n count: response.count\n };\n }));\n }\n\n /**\n * Search layer feature by fids\n *\n * @param fids\n * @param formatter\n */\n\n }, {\n key: 'getFeatureByFids',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref40$fids = _ref40.fids,\n fids = _ref40$fids === undefined ? [] : _ref40$fids,\n _ref40$formatter = _ref40.formatter,\n formatter = _ref40$formatter === undefined ? 0 : _ref40$formatter;\n\n var url = this.getUrl('data');\n try {\n var response = yield _XHR.XHR.get({\n url: url,\n params: {\n fids: fids.toString(),\n formatter: formatter\n }\n });\n if (response && response.result && response.vector && response.vector.data) {\n return response.vector.data.features;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getFeatureByFids() {\n return _ref39.apply(this, arguments);\n }\n\n return getFeatureByFids;\n }()\n\n /**\n * @TODO deprecate `search_endpoint = 'ows'`\n *\n * Search Features\n * \n * @param { Object } options\n * @param { 'ows' | 'api' } options.search_endpoint\n * @param { boolean } options.raw\n * @param { 0 | 1 } options.formatter\n * @param options.filter\n * @param options.suggest\n * @param options.unique\n * @param options.queryUrl\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * @param { Object } params - OWS search params\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'searchFeatures',\n value: function searchFeatures() {\n var _this11 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$search_endpo = options.search_endpoint,\n search_endpoint = _options$search_endpo === undefined ? this.config.search_endpoint : _options$search_endpo;\n\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve, reject) {\n switch (search_endpoint) {\n\n case 'ows':\n _this11.search(options, params).then(function (results) {\n resolve({ data: results });\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n break;\n\n case 'api':\n try {\n resolve((yield _this11.getFilterData({\n queryUrl: options.queryUrl,\n field: options.filter,\n ordering: options.ordering,\n unique: options.unique,\n raw: undefined !== options.raw ? options.raw : false,\n suggest: options.suggest,\n /** @since 3.9.0 */\n formatter: undefined !== options.formatter ? options.formatter : 1,\n /** @since 3.11.0 */\n autofilter: options.autofilter,\n page: options.page,\n page_size: options.page_size\n })));\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n break;\n }\n });\n\n return function (_x44, _x45) {\n return _ref41.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Get feature data based on `field` and `suggests`\n * \n * @param { Object } opts\n * @param { boolean } opts.raw\n * @param { Object } opts.suggest - (mandatory): object with key is a field of layer and value is value of the field to filter\n * @param { 0 | 1 } opts.formatter\n * @param { Array } opts.field - Array of object with type of suggest (see above)\n * @param opts.unique\n * @param opts.fformatter since 3.9.0\n * @param opts.ffield since 3.9.1\n * @param opts.queryUrl\n * @param opts.ordering\n */\n\n }, {\n key: 'getFilterData',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var _ref43 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref43$raw = _ref43.raw,\n raw = _ref43$raw === undefined ? false : _ref43$raw,\n suggest = _ref43.suggest,\n field = _ref43.field,\n unique = _ref43.unique,\n fformatter = _ref43.fformatter,\n ffield = _ref43.ffield,\n _ref43$formatter = _ref43.formatter,\n formatter = _ref43$formatter === undefined ? 1 : _ref43$formatter,\n queryUrl = _ref43.queryUrl,\n ordering = _ref43.ordering,\n autofilter = _ref43.autofilter,\n page = _ref43.page,\n page_size = _ref43.page_size;\n\n var provider = this.getProvider('data');\n provider._projections = provider._projections || { map: null, layer: null };\n var params = {\n field: field,\n suggest: suggest,\n ordering: ordering,\n formatter: formatter,\n unique: unique,\n fformatter: fformatter,\n ffield: ffield,\n filtertoken: _application2.default.tokens.filtertoken,\n autofilter: autofilter,\n page: page,\n page_size: page_size\n };\n try {\n var url = queryUrl ? queryUrl : provider._layer.getUrl('data');\n var response = field // check `field` parameter\n ? yield _XHR.XHR.post({ url: url, contentType: 'application/json', data: JSON.stringify(params) }) // since g3w-admin@v3.7\n : yield _XHR.XHR.get({ url: url, params: params }); // BACKCOMP (`unique` and `ordering` were only GET parameters)\n\n // vector layer\n if ('table' !== provider._layer.getType()) {\n provider._projections.map = provider._layer.getMapProjection() || provider._projections.layer;\n }\n\n if (raw) {\n return response;\n }\n if (unique && response.result) {\n return response.data;\n }\n if (fformatter && response.result) {\n return response;\n }\n\n if (response.result) {\n return {\n data: _parsers.ResponseParser.get('application/json')({\n layers: [provider._layer],\n response: response.vector.data,\n filtertoken: response.filtertoken, //@since v3.11.0 returned filtertoken in case of autofilter request\n projections: provider._projections\n }),\n count: response.vector.count //@since v3.11.0 take in account feature count (all). It use for pagination purpose\n };\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n return Promise.reject();\n });\n\n function getFilterData() {\n return _ref42.apply(this, arguments);\n }\n\n return getFilterData;\n }()\n\n /**\n * search method \n */\n\n }, {\n key: 'search',\n value: function search() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, options, {\n feature_count: options.feature_count || 10\n }, this.config.searchParams, params);\n var provider = this.getProvider('search');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_searchable'));\n }));\n }\n\n /**\n * Info from layer (only for querable layers) \n */\n\n }, {\n key: 'query',\n value: function query() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var provider = this.getProvider(options.filter ? 'filter' : 'query');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_querable'));\n }));\n }\n\n /**\n * General way to get an attribute \n */\n\n }, {\n key: 'get',\n value: function get(property) {\n return this.config[property] ? this.config[property] : this.state[property];\n }\n\n /**\n * @returns { * | {} } layer fields\n */\n\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.config.fields;\n }\n\n /**\n * @returns { Array } editing fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n return this.config.editing.fields;\n }\n\n /**\n * @returns { Array } only show fields\n */\n\n }, {\n key: 'getTableFields',\n value: function getTableFields() {\n return (this.config.fields || []).filter(function (f) {\n return f.show;\n });\n }\n\n /**\n * @returns { Array } table fields exclude geometry field\n */\n\n }, {\n key: 'getTableHeaders',\n value: function getTableHeaders() {\n return this.getTableFields().filter(function (f) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(f.name);\n });\n }\n\n /**\n * @returns {*} current project\n */\n\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.config.project;\n }\n\n /**\n * @returns { Object } layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n\n /**\n *\n * @returns { Array } form structure to show on form editing\n */\n\n }, {\n key: 'getLayerEditingFormStructure',\n value: function getLayerEditingFormStructure() {\n return this.config.editor_form_structure;\n }\n\n /**\n * @returns { boolean } whether it has form structure\n */\n\n }, {\n key: 'hasFormStructure',\n value: function hasFormStructure() {\n return !!this.config.editor_form_structure;\n }\n\n /**\n * @returns custom style (for future implementation)\n */\n\n }, {\n key: 'getCustomStyle',\n value: function getCustomStyle() {\n return this.config.customstyle;\n }\n\n /**\n * Get state layer\n *\n * @returns {*|{metadata, downloadable: *, attributetable: {pageLength: null}, defaultstyle: *, source, title: *, infoformats: ((function(): *)|*|*[]), tochighlightable: boolean, featurecount: number, stylesfeaturecount: (number|string|*|{[p: number]: *}), projectLayer: boolean, infoformat: (string|default.watch.infoformat|*), geolayer: boolean, inediting: boolean, disabled: boolean, id: (*|string), selected: boolean, openattributetable: (boolean|boolean), visible: boolean, filters: *[], filter: {current: null, active: boolean}, selection: {active: boolean}, removable: (boolean|*), styles}}\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @returns {*} layer source (ex. ogr, spatialite, etc..)\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.state.source;\n }\n\n /**\n * @returns {*} editing version of layer\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this._editingLayer;\n }\n\n /**\n * Set editing layer\n *\n * @param editingLayer\n */\n\n }, {\n key: 'setEditingLayer',\n value: function setEditingLayer(editingLayer) {\n this._editingLayer = editingLayer;\n }\n\n /**\n * @returns {string|string[]|boolean|string|*} whether is hidden\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.state.hidden;\n }\n\n /**\n * Set hidden\n *\n * @param bool\n */\n\n }, {\n key: 'setHidden',\n value: function setHidden() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.hidden = bool;\n }\n\n /**\n * @returns {*|string} id\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n\n /**\n * @returns {*} metadata\n */\n\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this.state.metadata;\n }\n\n /**\n * @returns {*} title\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.config.title;\n }\n\n /**\n * @returns {*} name\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.config.name;\n }\n\n /**\n * @returns {*} origin name\n */\n\n }, {\n key: 'getOrigName',\n value: function getOrigName() {\n return this.config.origname;\n }\n\n /**\n * @returns { string } Server type\n */\n\n }, {\n key: 'getServerType',\n value: function getServerType() {\n return this.config.servertype || \"QGIS\";\n }\n\n /**\n * @returns {*} type\n */\n\n }, {\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n\n /**\n * Check if layer is a type passed\n *\n * @param type\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n return type === this.getType();\n }\n\n /**\n * Set disabled\n *\n * @param bool\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(bool) {\n this.state.disabled = bool;\n }\n\n /**\n * @returns {boolean} whether it is disabled\n */\n\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n * @returns {boolean} whether is visible\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility\n *\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n this.state.visible = bool;\n }\n\n /**\n * @param { Object } param\n * @param param.map check if request from map point of view or just a capabilities info layer\n */\n\n }, {\n key: 'isQueryable',\n value: function isQueryable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.QUERYABLE);\n }\n\n /**\n * @TODO Description\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'getTocHighlightable',\n value: function getTocHighlightable() {\n return this.state.tochighlightable;\n }\n\n /**\n * @TODO Description\n *\n * @param bool\n */\n\n }, {\n key: 'setTocHighlightable',\n value: function setTocHighlightable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.tochighlightable = bool;\n }\n\n /**\n * @param conditions plain object with configuration layer attribute and value\n */\n\n }, {\n key: 'isFilterable',\n value: function isFilterable() {\n var _this12 = this;\n\n var conditions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var isFiltrable = !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.FILTERABLE);\n if (isFiltrable && conditions) {\n var conditionalFiltrable = Object.keys(conditions).reduce(function (bool, attribute) {\n var layer_config_value = _this12.get(attribute);\n var condition_attribute_values = conditions[attribute];\n return bool && Array.isArray(layer_config_value) ? layer_config_value.includes(condition_attribute_values) : condition_attribute_values === layer_config_value;\n }, true);\n isFiltrable = isFiltrable && conditionalFiltrable;\n }\n return isFiltrable;\n }\n\n /**\n * @returns { boolean } whether layer is set up as time series\n */\n\n }, {\n key: 'isQtimeseries',\n value: function isQtimeseries() {\n return this.config.qtimeseries;\n }\n\n /**\n * @returns { boolean } whether is editable\n */\n\n }, {\n key: 'isEditable',\n value: function isEditable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.EDITABLE);\n }\n\n /**\n * @returns {*|boolean} whether is a base layer\n */\n\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n\n /**\n * @param type get url by type (data, shp, csv, xls, editing, ...)\n */\n\n }, {\n key: 'getUrl',\n value: function getUrl(type) {\n return this.config.urls[type];\n }\n\n /**\n * Set config url\n * \n * @param { Object } url\n * @param url.type\n * @param url.url\n */\n\n }, {\n key: 'setUrl',\n value: function setUrl() {\n var _ref46 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref46.type,\n url = _ref46.url;\n\n this.config.urls[type] = url;\n }\n\n /**\n * @returns {*} query url\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n return this.config.urls.query;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getQueryLayerOrigName',\n value: function getQueryLayerOrigName() {\n return this.state.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.config.origname;\n }\n\n /**\n * @TODO Description\n *\n * @param ogcService\n *\n * @returns { default.watch.infoformat | * | string }\n */\n\n }, {\n key: 'getInfoFormat',\n value: function getInfoFormat(ogcService) {\n // In the case of NETCDF (qtime series)\n if (true === this.config.qtimeseries || 'gdal' === this.getSourceType()) {\n return 'application/json';\n }\n if (this.config.infoformat && '' !== this.config.infoformat && 'wfs' !== ogcService) {\n return this.config.infoformat;\n }\n return 'application/vnd.ogc.gml';\n }\n\n /**\n * @TODO Description\n *\n * @returns {(function(): *)|*|*[]}\n */\n\n }, {\n key: 'getInfoFormats',\n value: function getInfoFormats() {\n return this.state.infoformats;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.config.infourl;\n }\n\n /**\n * @TODO Description\n *\n * @param infoFormat\n */\n\n }, {\n key: 'setInfoFormat',\n value: function setInfoFormat(infoFormat) {\n this.config.infoformat = infoFormat;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*|{}}\n */\n\n }, {\n key: 'getAttributes',\n value: function getAttributes() {\n return this.config.fields;\n }\n\n /**\n * @TODO Description\n *\n * @param attribute\n * @param type\n * @param options\n */\n\n }, {\n key: 'changeAttribute',\n value: function changeAttribute(attribute, type, options) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.config.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n if (field.name === attribute) {\n field.type = type;\n field.options = options;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n /**\n * @TODO Description\n *\n * @param name\n *\n * @returns {*}\n */\n\n }, {\n key: 'getAttributeLabel',\n value: function getAttributeLabel(name) {\n return (this.getAttributes().find(function (a) {\n return name === a.name;\n }) || {}).label;\n }\n\n /**\n * Return provider by type\n *\n * @param type\n *\n * @returns {*}\n */\n\n }, {\n key: 'getProvider',\n value: function getProvider(type) {\n return this.providers[type];\n }\n\n /**\n * Return all providers\n *\n * @returns {*|{filter: null, search: null, data: null, query: null, filtertoken: null}}\n */\n\n }, {\n key: 'getProviders',\n value: function getProviders() {\n return this.providers;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getLayersStore',\n value: function getLayersStore() {\n return this._layersstore;\n }\n\n /**\n * @TODO Description\n *\n * @param layerstore\n */\n\n }, {\n key: 'setLayersStore',\n value: function setLayersStore(layerstore) {\n this._layersstore = layerstore;\n }\n\n /**\n * Return if it is possible to show table of attribute\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'canShowTable',\n value: function canShowTable() {\n if (this.config.not_show_attributes_table || this.isBaseLayer()) {\n return false;\n }\n\n if (\"QGIS\" === this.getServerType() && [\"postgres\", \"oracle\", \"wfs\", \"ogr\", \"mssql\", \"spatialite\"].includes(this.config.source.type) && this.isQueryable()) {\n return this.getTableFields().length > 0;\n }\n\n if (\"G3WSUITE\" === this.getServerType() && \"geojson\" === this.get('source').type) {\n return true;\n }\n\n if (\"G3WSUITE\" !== this.getServerType() && this.isFilterable()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } field\n * @param field.name\n * @param field.type\n * @param field.options\n * @param field.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeFieldType',\n value: function changeFieldType() {\n var _ref47 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref47.name,\n type = _ref47.type,\n _ref47$options = _ref47.options,\n options = _ref47$options === undefined ? {} : _ref47$options,\n _ref47$reset = _ref47.reset,\n reset = _ref47$reset === undefined ? false : _ref47$reset;\n\n var field = this.getFields().find(function (f) {\n return name === f.name;\n });\n\n if (field && reset) {\n field.type = field._type;\n delete field._type;\n delete field[type + 'options'];\n return field.type;\n }\n\n if (field && !reset) {\n field._type = field.type;\n field.type = type;\n field[type + 'options'] = options;\n return field._type;\n }\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } config\n * @param config.name\n * @param config.type\n * @param config.options\n * @param config.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeConfigFieldType',\n value: function changeConfigFieldType(_ref48) {\n var name = _ref48.name,\n type = _ref48.type,\n _ref48$options = _ref48.options,\n options = _ref48$options === undefined ? {} : _ref48$options,\n _ref48$reset = _ref48.reset,\n reset = _ref48$reset === undefined ? false : _ref48$reset;\n\n return this.changeFieldType({ name: name, type: type, options: options, reset: reset });\n }\n\n /**\n * Function called in case of change project to remove all stored information \n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n\n /**\n * @returns {boolean} whether is a vector layer\n */\n\n }, {\n key: 'isVector',\n value: function isVector() {\n return Layer.LayerTypes.VECTOR === this.getType();\n }\n\n /**\n * @returns {boolean} whether is a table layer\n */\n\n }, {\n key: 'isTable',\n value: function isTable() {\n return Layer.LayerTypes.TABLE === this.getType();\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'getFeatureCount',\n value: function getFeatureCount() {\n return this.state.featurecount;\n }\n\n /**\n * @param style\n * \n * @returns { Promise}\n * \n * @since 3.8.0\n */\n\n }, {\n key: 'getStyleFeatureCount',\n value: function () {\n var _ref49 = _asyncToGenerator(function* (style) {\n // skip when layer hasn't feature count option set on QGIS project\n if (undefined === this.state.stylesfeaturecount) {\n return;\n }\n if (undefined === this.state.stylesfeaturecount[style]) {\n try {\n var _ref50 = yield _XHR.XHR.post({\n url: '' + this.config.urls.featurecount + this.getId() + '/',\n data: JSON.stringify({ style: style }),\n contentType: 'application/json'\n }),\n result = _ref50.result,\n data = _ref50.data;\n\n this.state.stylesfeaturecount[style] = true === result ? data : {};\n } catch (e) {\n cansole.warn(e);\n this.state.stylesfeaturecount[style] = {};\n }\n }\n return this.state.stylesfeaturecount[style];\n });\n\n function getStyleFeatureCount(_x55) {\n return _ref49.apply(this, arguments);\n }\n\n return getStyleFeatureCount;\n }()\n\n /**\n * @returns { string } layer format (eg. 'image/png') \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n return this.config.format || _application2.default.project.state.wms_getmap_format || 'image/png';\n }\n\n /**\n * @since 3.10.0\n */\n\n }, {\n key: 'openAttributeTable',\n value: function openAttributeTable() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n new (Vue.extend(_Table2.default))(_extends({}, opts, { layerId: this.state.id }));\n }\n }]);\n\n return Layer;\n}(_g3wObject2.default);\n\n/******************************************************************************************\n * LAYER PROPERTIES\n *****************************************************************************************/\n\n/**\n * Layer Types\n */\n\n\nLayer.LayerTypes = {\n TABLE: \"table\",\n IMAGE: \"image\",\n VECTOR: \"vector\"\n};\n\n/**\n * Layer Capabilities\n */\nLayer.CAPABILITIES = {\n QUERYABLE: 1,\n FILTERABLE: 2,\n EDITABLE: 4\n};\n\nexports.Layer = Layer;\n\n},{\"components/Table.vue\":109,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-object\":130,\"map/layers/feature\":152,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/downloadFile\":200,\"utils/get_legend_params\":218,\"utils/parseAttributes\":229,\"utils/parsers\":230,\"utils/promisify\":232,\"utils/prompt\":233}],157:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayersStore = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layersstore.js@v3.10.2\n * @since 3.11.0\n */\n\nvar LayersStore = exports.LayersStore = function (_G3WObject) {\n _inherits(LayersStore, _G3WObject);\n\n function LayersStore() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LayersStore);\n\n var _this = _possibleConstructorReturn(this, (LayersStore.__proto__ || Object.getPrototypeOf(LayersStore)).call(this));\n\n _this.config = {\n id: config.id || Date.now(),\n projection: config.projection,\n extent: config.extent,\n initextent: config.initextent,\n wmsUrl: config.wmsUrl,\n //set catalogable property\n catalog: true === config.catalog || false === config.catalog ? config.catalog : true\n };\n _this.state = {\n //useful to build layerstree\n layerstree: [],\n relations: null // useful to build a tree of relations\n };\n _this._isQueryable = true === config.queryable || false === config.queryable ? config.queryable : true;\n _this._layers = _this.config.layers || {};\n\n _this.setters = {\n setLayerSelected: function setLayerSelected(id, selected) {\n this.getLayers().forEach(function (l) {\n return l.state.selected = id === l.getId() ? selected : false;\n });\n },\n addLayers: function addLayers() {\n var _this2 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (l) {\n return _this2.addLayer(l);\n });\n },\n addLayer: function addLayer(layer) {\n this._addLayer(layer);\n },\n removeLayer: function removeLayer(id) {\n this._removeLayer(id);\n }\n };\n return _this;\n }\n\n _createClass(LayersStore, [{\n key: 'isQueryable',\n value: function isQueryable() {\n return this._isQueryable;\n }\n }, {\n key: 'setQueryable',\n\n\n /**\n *\n * @param { Boolean } bool\n */\n value: function setQueryable(bool) {\n this._isQueryable = !!bool;\n }\n }, {\n key: 'showOnCatalog',\n value: function showOnCatalog() {\n return this.config.catalog;\n }\n }, {\n key: 'setOptions',\n value: function setOptions() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config = config;\n }\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n this._layers[layer.getId()] = layer;\n }\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n delete this._layers[layer.getId()];\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this3 = this;\n\n Object.entries(this._layers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n layer = _ref2[1];\n\n return _this3.removeLayer(layer);\n });\n }\n }, {\n key: 'getLayersDict',\n value: function getLayersDict() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // skip when no filter is provided (eg. `filter = null`)\n if (!filter || [filter.PRINTABLE, filter.QUERYABLE, filter.FILTERABLE, filter.EDITABLE, filter.VISIBLE, filter.SELECTED, filter.CACHED, filter.SELECTED_OR_ALL, filter.SERVERTYPE, filter.BASELAYER, filter.GEOLAYER, filter.VECTORLAYER, filter.HIDDEN, filter.DISABLED, filter.IDS].every(function (f) {\n return undefined === f;\n })) {\n return this._layers;\n }\n\n var layers = Object.values(this._layers);\n\n if (filter.IDS) {\n var ids = [].concat(filter.IDS);\n layers = layers.filter(function (l) {\n return ids.includes(l.getId());\n });\n }\n\n // check if there are `selected` layers otherwise get all `layers`\n if (filter.SELECTED_OR_ALL) {\n var selected = layers.filter(function (l) {\n return l.isSelected();\n });\n layers = selected.length > 0 ? selected : layers;\n }\n\n // checks if a boolean filter is setted\n var has = function has(f) {\n return 'boolean' === typeof f;\n };\n\n if (has(filter.SELECTED) && !filter.SELECTED_OR_ALL) layers = layers.filter(function (l) {\n return filter.SELECTED === l.isSelected();\n });\n if (has(filter.QUERYABLE)) layers = layers.filter(function (l) {\n return filter.QUERYABLE === l.isQueryable();\n });\n if (has(filter.FILTERABLE)) layers = layers.filter(function (l) {\n return filter.FILTERABLE === l.isFilterable(options.filtrable || null);\n });\n if (has(filter.EDITABLE)) layers = layers.filter(function (l) {\n return filter.EDITABLE === l.isEditable();\n });\n if (has(filter.VISIBLE)) layers = layers.filter(function (l) {\n return filter.VISIBLE === l.isVisible();\n });\n if (has(filter.CACHED)) layers = layers.filter(function (l) {\n return filter.CACHED === l.isCached();\n });\n if (has(filter.BASELAYER)) layers = layers.filter(function (l) {\n return filter.BASELAYER === l.isBaseLayer();\n });\n if (has(filter.GEOLAYER)) layers = layers.filter(function (l) {\n return filter.GEOLAYER === l.state.geolayer;\n });\n if (has(filter.VECTORLAYER)) layers = layers.filter(function (l) {\n return filter.VECTORLAYER === l.isType('vector');\n });\n if (has(filter.HIDDEN)) layers = layers.filter(function (l) {\n return filter.HIDDEN === l.isHidden();\n });\n if (has(filter.DISABLED)) layers = layers.filter(function (l) {\n return filter.DISABLED === l.isDisabled();\n });\n if ('string' === typeof filter.SERVERTYPE && filter.SERVERTYPE.length) layers = layers.filter(function (l) {\n return filter.SERVERTYPE === l.getServerType();\n });\n if (filter.PRINTABLE) layers = layers.filter(function (l) {\n return l.state.geolayer && l.isPrintable({ scale: filter.PRINTABLE.scale });\n });\n\n /**@since v3.10.3 order TOC */\n if (options.TOC_ORDER && this.state.layerstree) {\n return this._getAllSiblingsChildrenLayersId(this.state.layerstree[0]).filter(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n }).map(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n });\n }\n\n return layers;\n }\n }, {\n key: 'getLayers',\n\n\n // return layers array\n value: function getLayers() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(this.getLayersDict(filter, options));\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this.getLayersDict({ BASELAYER: true });\n }\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getLayersDict()[id];\n }\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this._layers.find(function (l) {\n return name === l.getName();\n });\n }\n }, {\n key: 'getLayerAttributes',\n value: function getLayerAttributes(id) {\n return this.getLayerById(id).getAttributes();\n }\n }, {\n key: 'getLayerAttributeLabel',\n value: function getLayerAttributeLabel(id, name) {\n return this.getLayerById(id).getAttributeLabel(name);\n }\n }, {\n key: 'getGeoLayers',\n value: function getGeoLayers() {\n return this.getLayers({ GEOLAYER: true });\n }\n }, {\n key: '_getAllSiblingsChildrenLayersId',\n value: function _getAllSiblingsChildrenLayersId(layerstree) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n traverse(layerstree);\n return nodeIds;\n }\n }, {\n key: '_getAllParentLayersId',\n value: function _getAllParentLayersId(layerstree, node) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n }\n });\n };\n\n traverse({ nodes: layerstree.nodes.filter(function (n) {\n return node !== n;\n }) });\n\n return nodeIds;\n }\n }, {\n key: 'selectLayer',\n value: function selectLayer(id, selected) {\n this.setLayerSelected(id, selected);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getExtent',\n value: function getExtent() {\n return this.config.extent;\n }\n }, {\n key: 'getInitExtent',\n value: function getInitExtent() {\n return this.config.initextent;\n }\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n return this.config.wmsUrl;\n }\n }, {\n key: 'removeLayersTree',\n value: function removeLayersTree() {\n this.state.layerstree.splice(0, this.state.layerstree.length);\n }\n }, {\n key: 'getLayersTree',\n value: function getLayersTree() {\n return this.state.layerstree;\n }\n }, {\n key: 'setLayersTree',\n\n\n /**\n * Set layersstree of layers inside the layersstore\n *\n * @param {unknown[]} layerstree nodes\n * @param {string} name\n * @param {boolean} [expanded = true]\n */\n value: function setLayersTree() {\n var layerstree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var name = arguments[1];\n var expanded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _getInitExtent = this.getInitExtent(),\n _getInitExtent2 = _slicedToArray(_getInitExtent, 4),\n minx = _getInitExtent2[0],\n miny = _getInitExtent2[1],\n maxx = _getInitExtent2[2],\n maxy = _getInitExtent2[3];\n\n // Root group project that contains all layerstree of qgis project\n\n\n var rootGroup = {\n title: name || this.config.id,\n root: true,\n parentGroup: null,\n expanded: expanded,\n disabled: false,\n checked: true,\n /**\n * @since 3.8.0\n */\n bbox: { minx: minx, miny: miny, maxx: maxx, maxy: maxy },\n nodes: layerstree\n };\n\n if (layerstree.length > 0) {\n this._traverseLayersTree(layerstree, rootGroup);\n this.state.layerstree.splice(0, 0, rootGroup); // at the end\n }\n }\n }, {\n key: 'createLayersTree',\n\n\n /**\n * Used by external plugins to build layerstree\n *\n * @param {string} groupName is a ProjectName\n * @param options\n * @param {Object} [options.layerstree = null ]\n * @param {boolean} [options.expanded = false]\n * @param {boolean} [options.full = false]\n */\n value: function createLayersTree(groupName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n layerstree: null,\n expanded: false,\n full: false\n };\n\n\n var layerstree = [];\n\n // return layerstree from server project config (when setted)\n if (options.layerstree && true === options.full) {\n return this.state.layerstree;\n }\n\n // compare all layer ids from server config with all layer nodes on layerstree server property\n if (options.layerstree && true !== options.full) {\n var tocLayersId = this.getLayers({ BASELAYER: false }).map(function (l) {\n return l.getId();\n });\n this._traverseLightLayersTree(options.layerstree, layerstree, tocLayersId);\n }\n\n // retrieve all project layers that have geometry\n if (!options.layerstree) {\n layerstree = this.getGeoLayers().map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n title: l.getTitle(),\n visible: l.isVisible() || false\n };\n });\n }\n\n // setLayerstree\n this.setLayersTree(layerstree, groupName, options.expanded);\n }\n }, {\n key: '_traverseLightLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLightLayersTree(nodes, layerstree, tocLayersId) {\n var _this4 = this;\n\n nodes.forEach(function (n) {\n var lightlayer = null;\n\n // case TOC has layer ID\n if (null !== n.id && undefined !== n.id && tocLayersId.find(function (id) {\n return n.id === id;\n })) {\n lightlayer = _extends({}, lightlayer, n);\n }\n\n // case group\n if (null !== n.nodes && undefined !== n.nodes) {\n lightlayer = _extends({}, lightlayer, {\n name: n.name, /** @since 3.10.0 **/\n title: n.name,\n groupId: (0, _getUniqueDomId.getUniqueDomId)(),\n root: false,\n nodes: [],\n checked: n.checked,\n mutually_exclusive: n[\"mutually-exclusive\"],\n 'mutually-exclusive': n[\"mutually-exclusive\"] /** @since 3.10.0 */\n });\n _this4._traverseLightLayersTree(n.nodes, lightlayer.nodes, tocLayersId); // recursion step\n }\n\n // check if lightlayer is not null\n if (null !== lightlayer) {\n lightlayer.expanded = n.expanded; // expand legend item (TOC)\n layerstree.push(lightlayer);\n }\n });\n }\n }, {\n key: '_traverseLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLayersTree(nodes, parentGroup) {\n var _this5 = this;\n\n nodes.forEach(function (node, index) {\n // substitute node layer with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n }\n // case of layer substitute node with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n // pass bbox and epsg of layer\n if (undefined !== nodes[index].bbox) {\n _this5._setLayersTreeGroupBBox(parentGroup, { bbox: nodes[index].bbox, epsg: nodes[index].epsg });\n }\n }\n if (Array.isArray(node.nodes)) {\n node.nodes.forEach(function (n) {\n return n.parentGroup = parentGroup;\n });\n _this5._traverseLayersTree(node.nodes, node);\n }\n //SET PARENT GROUP\n nodes[index].parentGroup = parentGroup;\n });\n }\n }, {\n key: '_setLayersTreeGroupBBox',\n\n\n /**\n * @since 3.8.0\n */\n value: function _setLayersTreeGroupBBox(group) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bbox = _ref3.bbox,\n epsg = _ref3.epsg;\n\n var project_epsg = this.getProjection().getCode();\n\n // translate bbox epsg to project epsg code (when they differ)\n if (epsg !== project_epsg) {\n var _ol$proj$transformExt = ol.proj.transformExtent([bbox.minx, bbox.miny, bbox.maxx, bbox.maxy], epsg, project_epsg),\n _ol$proj$transformExt2 = _slicedToArray(_ol$proj$transformExt, 4),\n minx = _ol$proj$transformExt2[0],\n miny = _ol$proj$transformExt2[1],\n maxx = _ol$proj$transformExt2[2],\n maxy = _ol$proj$transformExt2[3];\n\n bbox = { minx: minx, miny: miny, maxx: maxx, maxy: maxy };\n }\n\n // get current bbox or compute bbox from an ol extent\n if (undefined === group.bbox) {\n group.bbox = bbox;\n } else {\n group.bbox = ol.extent.extend([group.bbox.minx, group.bbox.miny, group.bbox.maxx, group.bbox.maxy], [bbox.minx, bbox.miny, bbox.maxx, bbox.maxy]).reduce(function (bbox, extentCoordinate, index) {\n switch (index) {\n case 0:\n bbox.minx = extentCoordinate;break;\n case 1:\n bbox.miny = extentCoordinate;break;\n case 2:\n bbox.maxx = extentCoordinate;break;\n case 3:\n bbox.maxy = extentCoordinate;break;\n }\n return bbox;\n }, { minxx: null, miny: null, maxx: null, maxy: null });\n }\n\n // Recursion\n if (group.parentGroup && false === group.parentGroup.root) {\n this._setLayersTreeGroupBBox(group.parentGroup, { bbox: group.bbox, epsg: project_epsg });\n }\n }\n }]);\n\n return LayersStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"utils/getUniqueDomId\":217}],158:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableLayer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer = require('map/layers/layer');\n\nvar _featuresstore = require('map/layers/featuresstore');\n\nvar _feature = require('map/layers/feature');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/tablelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\n/**\n * Base Layer that support editing\n */\n\nvar TableLayer = exports.TableLayer = function (_Layer) {\n _inherits(TableLayer, _Layer);\n\n function TableLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, TableLayer);\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Hook setters methods\n */\n var _this = _possibleConstructorReturn(this, (TableLayer.__proto__ || Object.getPrototypeOf(TableLayer)).call(this, config, opts));\n\n _this.setters = {\n /**\n * Clear all features of the layer\n */\n clearFeatures: function clearFeatures() {\n this._featuresstore.clearFeatures();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n\n /**\n * @TODO it used ????\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n setFeatures: function setFeatures(features) {\n this._featuresstore.setFeatures(features);\n },\n setColor: function setColor(color) {\n this._color = color;\n },\n\n\n /**\n * get data from every sources (server, wms, etc..)\n * through provider related to featuresstore\n *\n * @param {*} opts\n */\n getFeatures: function getFeatures() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this2._featuresstore.getFeatures(opts));\n _this2.emit('getFeatures', features);\n return features;\n }));\n },\n commit: function commit(commitItems) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this3._featuresstore.commit(commitItems));\n // sync selection filter features\n if (response && response.result) {\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(_this3.getId());\n //if layer has geometry\n if (layer.isGeoLayer()) {\n commitItems.update.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n geometry = _ref3.geometry;\n\n if (layer.getOlSelectionFeature(id)) {\n layer.updateOlSelectionFeature({ id: id, geometry: geometry });\n }\n });\n }\n commitItems.delete.forEach(function (id) {\n if (layer.hasSelectionFid(id)) {\n layer.excludeSelectionFid(id);\n }\n });\n } catch (e) {\n console.warn(e);\n }\n }\n return response;\n }));\n }\n };\n\n /**\n * EDITING API URL: /api/vector////\n *\n * @example /api/vector/config/qdjango/10/points273849503023\n */\n _this.type = _layer.Layer.LayerTypes.TABLE;\n\n /**\n * color\n */\n _this._color = null;\n\n /**\n * @FIXME add description\n */\n _this.layerId = config.id;\n\n // @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n // editable layer -- > update layer config info\n if (_this.isEditable()) {\n _this.layerForEditing = _asyncToGenerator(function* () {\n // get layer editing config (from server)\n try {\n var _ref5 = yield (0, _promisify.promisify)(_this.getProvider('data').getConfig(opts)),\n vector = _ref5.vector,\n _ref5$constraints = _ref5.constraints,\n constraints = _ref5$constraints === undefined ? {} : _ref5$constraints,\n capabilities = _ref5.capabilities;\n\n yield (0, _waitFor.waitFor)(function () {\n return window.g3wsdk.core.hasOwnProperty('editing');\n }, _g3wConstants.TIMEOUT); // wait until \"editing\" plugin is loaded\n // add editing configurations\n _this.config.editing = {\n fields: vector.fields || [],\n format: vector.format,\n constraints: constraints,\n capabilities: capabilities || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES, // default editing capabilities\n form: { perc: null }, // set editing form `perc` to null at beginning\n style: vector.style, // get vector layer style\n geometrytype: vector.geometrytype, // whether is a vector layer,\n visible: (vector.editing || { visible: true }).visible //@since 3.11.0 let know if layer should be editable directly (true) or through relation layer (false)\n };\n\n if (vector.style) {\n // set vector layer color \n _this.setColor(vector.style.color);\n }\n\n _this._editor = new window.g3wsdk.core.editing.Editor({ layer: _this }); // create an instance of editor\n _this.setReady(true); // set ready\n return _this;\n } catch (e) {\n console.warn(e);\n _this.setReady(false);\n return Promise.reject(_this);\n }\n })();\n\n _this.state = _extends({}, _this.state, {\n editing: {\n started: false,\n modified: false,\n ready: false\n }\n });\n }\n\n /**\n * Feature wrapper (to store feature)\n */\n _this._featuresstore = new _featuresstore.FeaturesStore({ provider: _this.providers.data });\n\n return _this;\n }\n\n /**\n *\n * @param perc\n */\n\n\n _createClass(TableLayer, [{\n key: 'setFormPercentage',\n value: function setFormPercentage(perc) {\n this.config.editing.form.perc = perc;\n }\n }, {\n key: 'getFormPercentage',\n value: function getFormPercentage() {\n return this.config.editing.form.perc;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'getColor',\n value: function getColor() {\n return this._color;\n }\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._featuresstore.readFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Get editing layer\n *\n * @param vectorurl\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'getLayerForEditing',\n value: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n vectorurl = _ref7.vectorurl;\n\n if (vectorurl) {\n //@TODO Check if it used otherwise delete it\n this.vectorUrl = vectorurl;\n }\n\n try {\n return yield this.clone().layerForEditing; // cloned editable layer\n } catch (e) {\n console.warn(e);\n return e;\n }\n });\n\n function getLayerForEditing() {\n return _ref6.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns return ol source of features\n */\n\n }, {\n key: 'getEditingSource',\n value: function getEditingSource() {\n return this._editor.getEditingSource();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns Array of features\n */\n\n }, {\n key: 'readEditingFeatures',\n value: function readEditingFeatures() {\n return this._editor.readEditingFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {TableLayer}\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {{}}\n */\n\n }, {\n key: 'getEditingConstrains',\n value: function getEditingConstrains() {\n return this.config.editing.constraints;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*|string[]}\n */\n\n }, {\n key: 'getEditingCapabilities',\n value: function getEditingCapabilities() {\n return this.config.editing.capabilities;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param fieldName\n * @return {boolean}\n */\n\n }, {\n key: 'isFieldRequired',\n value: function isFieldRequired(fieldName) {\n return (this.getEditingFields().find(function (f) {\n return fieldName === f.name;\n }) || { validate: { required: false } }).validate.required;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Unlock editing features\n *\n * @returns jQuery Promise\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n yield (0, _promisify.promisify)(_this4._featuresstore.unlock());\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param { Boolean } editable In case we want only editable fields\n * @returns layer fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n var editable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return editable ? (this.config.editing.fields || []).filter(function (f) {\n return f.editable;\n }) : this.config.editing.fields || [];\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n *\n * @returns {boolean} whether field is a Primary Key\n */\n\n }, {\n key: 'isPkField',\n value: function isPkField(field) {\n return (this.getEditingFields().find(function (f) {\n return field === f.name;\n }) || {}).pk;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n * @return {boolean}\n */\n\n }, {\n key: 'isEditingFieldEditable',\n value: function isEditingFieldEditable(field) {\n return (this.getEditingFields().find(function (f) {\n return f.name === field;\n }) || { editable: false }).editable;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditingNotEditableFields',\n value: function getEditingNotEditableFields() {\n return this.config.editing.fields.filter(function (f) {\n return !f.editable;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getEditingMediaFields',\n value: function getEditingMediaFields() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n return this.config.editing.fields.filter(function (f) {\n return 'media' === f.input.type;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {boolean}\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this.state.editing.ready;\n }\n }, {\n key: 'setReady',\n\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param bool\n */\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.editing.ready = bool;\n }\n }, {\n key: 'getWidgetData',\n value: function getWidgetData() {\n var _this5 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.get({\n url: _this5.getProvider('data')._layer.getUrl('widget')[opts.type],\n params: { fields: opts.fields }\n });\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this._editor;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this._editor.isStarted();\n }\n }, {\n key: 'getFeaturesStore',\n value: function getFeaturesStore() {\n return this._featuresstore;\n }\n }, {\n key: 'setFeaturesStore',\n value: function setFeaturesStore(featuresstore) {\n this._featuresstore = featuresstore;\n }\n }, {\n key: 'setSource',\n value: function setSource(source) {\n this.setFeaturesStore(source);\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this._featuresstore;\n }\n }, {\n key: 'addFeatures',\n value: function addFeatures() {\n var _this6 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this6.addFeature(f);\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param lockIds\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n this._featuresstore.addLockIds(lockIds);\n }\n\n /**\n * create attributes from fields\n */\n\n }, {\n key: 'setFieldsWithValues',\n value: function setFieldsWithValues(feature, fields) {\n var createAttrs = function createAttrs() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return fields.reduce(function (acc, f) {\n if ('child' === f.type) {\n acc[f.name] = createAttrs(f.fields);\n } else if ('null' === f.value) {\n f.value = null;\n }\n acc[f.name] = f.value;\n return acc;\n }, {});\n };\n var attributes = createAttrs(fields);\n feature.setProperties(attributes);\n return attributes;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param obj\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getFieldsWithValues',\n value: function getFieldsWithValues(obj) {\n var _this7 = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _opts$exclude = opts.exclude,\n exclude = _opts$exclude === undefined ? [] : _opts$exclude,\n _opts$get_default_val = opts.get_default_value,\n get_default_value = _opts$get_default_val === undefined ? true : _opts$get_default_val;\n\n\n var fields = _cloneDeep(this.getEditingFields());\n var feature = void 0;\n\n if (obj instanceof _feature.Feature) {\n feature = obj;\n } else if (obj instanceof ol.Feature) {\n feature = new _feature.Feature({ feature: obj });\n } else if (obj) {\n feature = this.getFeatureById(obj);\n } else {\n return fields;\n }\n\n var attributes = feature.getProperties();\n\n fields.forEach(function (field) {\n\n field.value = attributes[field.name];\n field._value = attributes[field.name]; // store original value\n field.update = false; // at beginning set update false. Used to form\n\n field.visible = exclude.indexOf(field.name) === -1; // exclude contain field to set visible false\n\n // for editing purpose\n if (undefined === field.validate) {\n field.validate = {};\n }\n\n field.nullOption = undefined === field.nullOption || field.nullOption; //@since 3.11.0 used in InputSelect.vue component.\n field.forceNull = false;\n field.validate.valid = true;\n field.validate._valid = true; // useful to get previous value in certain case\n field.value_from_default_value = false; // need to be checked if the default value is set by server configuration field\n field.get_default_value = get_default_value; // specify if you need to get value from form field.input.options.default value in case of missing value of field.value\n field.validate.exclude_values = new Set(); // for validate.unique purpose to check is new value inserted or change needs to be di\n field.validate.unique = field.validate.unique || false;\n field.validate.required = field.validate.required || false;\n field.validate.mutually_valid = true;\n field.validate.empty = false; // Mean no value (field.value) set start value to false. It will be set once the input field is show\n field.validate.message = null;\n\n if (field.input) {\n var options = _this7.getEditingFields().find(function (f) {\n return f.name === field.name;\n }).input.options;\n field.input.options.loading = options.loading || { state: null };\n //check if value is defined otherwise set empty array (e.g., required for field.validate unique)\n field.input.options.values = options.values || [];\n }\n });\n\n return fields;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {Feature}\n */\n\n }, {\n key: 'createNewFeature',\n value: function createNewFeature() {\n var feature = new _feature.Feature({\n feature: new ol.Feature(this.getEditingFields().reduce(function (props, f) {\n props[f.name] = null;return props;\n }, {}))\n });\n feature.setNew();\n return feature;\n }\n }]);\n\n return TableLayer;\n}(_layer.Layer);\n\n},{\"g3w-constants\":126,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":152,\"map/layers/featuresstore\":153,\"map/layers/layer\":156,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"utils/promisify\":232,\"utils/waitFor\":243}],159:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.VectorLayer = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _promisify = require('utils/promisify');\n\nvar _layer = require('map/layers/layer');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/vectorlayer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar VectorLayer = exports.VectorLayer = function (_GeoLayerMixin) {\n _inherits(VectorLayer, _GeoLayerMixin);\n\n function VectorLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VectorLayer);\n\n var _this = _possibleConstructorReturn(this, (VectorLayer.__proto__ || Object.getPrototypeOf(VectorLayer)).call(this, config, opts));\n\n _this._mapLayer = null; // later tah will be added to the map\n _this.type = _layer.Layer.LayerTypes.VECTOR;\n\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // need an ol layer for adding to the map\n _this.setup(config, opts);\n\n if ('G3WSUITE geojson' === layerType) {\n _this._g3w_geojson = true;\n _this.config.style = config.style;\n _this.setup(config);\n }\n\n return _this;\n }\n\n _createClass(VectorLayer, [{\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this.getMapLayer().getOLLayer();\n }\n }, {\n key: 'resetEditingSource',\n value: function resetEditingSource() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.getMapLayer().resetSource(features);\n }\n }, {\n key: 'getEditingGeometryType',\n value: function getEditingGeometryType() {\n return this.config.editing.geometrytype;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/map/vectorlayer.js@v3.10.1\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var _this2 = this;\n\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n this._mapLayer = new _g3wObject2.default();\n\n var style = this._g3w_geojson ? this.get('style') : this.config.editing ? this.config.editing.style : this.getCustomStyle();\n\n var olStyle = style ? new ol.style.Style(Object.entries(style || {}).reduce(function (styles, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n type = _ref2[0],\n config = _ref2[1];\n\n if ('point' === type && config.icon) {\n styles.image = new ol.style.Icon({ src: config.icon.url, imageSize: config.icon.width });\n }\n if ('line' === type) {\n styles.stroke = new ol.style.Stroke({ color: config.color, width: config.width });\n }\n if ('polygon' === type) {\n styles.fill = new ol.style.Fill({ color: config.color });\n }\n return styles;\n }, {})) : null;\n\n // create ol layer to add to map\n this._mapLayer._olLayer = new ol.layer.Vector({\n id: this.getId(),\n source: new ol.source.Vector({ features: this._editor && this._editor.getEditingSource().getFeaturesCollection() || [] || new ol.Collection() })\n });\n\n if (!olStyle && (0, _isPointGeometryType.isPointGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: this.getColor() }),\n radius: 5\n })\n });\n }\n\n if (!olStyle && (0, _isLineGeometryType.isLineGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: this.getColor(), width: 3 })\n });\n }\n\n if (!olStyle && (0, _isPolygonGeometryType.isPolygonGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: '#000000', width: 1 }),\n fill: new ol.style.Fill({ color: this.getColor() })\n });\n this._mapLayer._olLayer.setOpacity(0.6);\n }\n\n this._mapLayer._olLayer.setStyle(olStyle);\n\n Object.assign(this._mapLayer, {\n _olLayer: this._mapLayer._olLayer,\n mapService: _gui2.default.getService('map'),\n geometryType: this.getGeometryType(),\n geometrytype: null,\n type: null,\n crs: null,\n id: this.getId(),\n name: this._g3w_geojson && this.getName() || '',\n style: style,\n color: this.getColor(),\n projection: this._g3w_geojson ? this.getProjection().getCode() : _gui2.default.getService('map').getProjection().getCode(),\n url: this._g3w_geojson ? this.get('source').url : undefined,\n provider: this.getProvider('data'),\n getProvider: function getProvider() {\n return _this2._mapLayer.provider;\n },\n resetSource: function resetSource() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.setSource(new ol.source.Vector({ features: feats }));\n },\n getFeatures: function getFeatures() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return _this2._mapLayer.addFeatures((yield (0, _promisify.promisify)(_this2._mapLayer.provider.getFeatures(opts))));\n }));\n },\n addFeatures: function addFeatures() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.getSource().addFeatures(feats);\n },\n addFeature: function addFeature(feat) {\n return feat && _this2.getSource().addFeature(feat);\n },\n getOLLayer: function getOLLayer() {\n return _this2._mapLayer._olLayer;\n },\n getSource: function getSource() {\n return _this2._mapLayer._olLayer.getSource();\n },\n setSource: function setSource(source) {\n return _this2._mapLayer._olLayer.setSource(source);\n },\n setStyle: function setStyle(style) {\n return _this2._mapLayer._olLayer.setStyle(style);\n },\n getFeatureById: function getFeatureById(id) {\n return id ? _this2._mapLayer._olLayer.getSource().getFeatureById(id) : null;\n },\n isVisible: function isVisible() {\n return _this2._mapLayer._olLayer.getVisible();\n },\n setVisible: function setVisible(bool) {\n return _this2._mapLayer._olLayer.setVisible(bool);\n },\n clear: function clear() {\n return _this2._mapLayer.getSource().clear();\n },\n addToMap: function addToMap(map) {\n return map.addLayer(_this2._mapLayer._olLayer);\n }\n\n });\n\n if (this._g3w_geojson) {\n this._mapLayer.getFeatures({\n url: this.get('source').url,\n mapProjection: _gui2.default.getService('map').getProjection().getCode()\n });\n }\n\n return this._mapLayer;\n }\n }]);\n\n return VectorLayer;\n}((0, _geoMixin2.default)(_tablelayer.TableLayer));\n\n},{\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/tablelayer\":158,\"services/gui\":173,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/promisify\":232}],160:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n autocompleteRequest: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n field = _ref2.field,\n value = _ref2.value;\n\n var data = [];\n try {\n data = yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getFilterData({\n suggest: field + '|' + value,\n unique: field\n });\n } catch (e) {\n console.warn(e);\n }\n return data.map(function (value) {\n return { id: value, text: value };\n });\n });\n\n function autocompleteRequest() {\n return _ref.apply(this, arguments);\n }\n\n return autocompleteRequest;\n }()\n }\n};\n\n},{\"utils/getCatalogLayerById\":203}],161:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n tabIndex: function tabIndex() {\n return this.editable ? 0 : -1;\n },\n notvalid: function notvalid() {\n return false === this.state.validate.valid;\n },\n editable: function editable() {\n return this.state.editable;\n },\n showhelpicon: function showhelpicon() {\n return this.state.help && this.state.help.message.trim();\n },\n disabled: function disabled() {\n return !this.editable || ['loading', 'error'].includes(this.loadingState);\n },\n loadingState: function loadingState() {\n return this.state.input.options.loading ? this.state.input.options.loading.state : null;\n }\n },\n methods: {\n /**\n * @since v3.9.1\n * @param bool\n */\n setLoading: function setLoading(bool) {\n this.state.input.options.loading.state = bool ? 'loading' : 'ready';\n },\n showHideHelp: function showHideHelp() {\n this.state.help.visible = !this.state.help.visible;\n },\n\n // used to text input to listen to mobile changes\n mobileChange: function mobileChange(event) {\n this.state.value = event.target.value;\n this.change();\n },\n\n // called when input value change\n change: function change() {\n this.service.setEmpty();\n // validate input every time on change\n // because can be inserted a text where state.input.type (widget) is text but state.type is integer\n this.service.validate();\n //after check if is valid need to set update\n this.service.setUpdate();\n // emit change input\n this.$emit('changeinput', this.state);\n },\n isVisible: function isVisible() {}\n }\n};\n\n},{}],162:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.8\n */\n\nexports.default = {\n created: function created() {\n /**\n * Store `click` and `doubleclick` events on a single vue element.\n *\n * @see https://stackoverflow.com/q/41303982\n */\n this.__CLICK_EVENT = {\n count: 0, // count click events\n timeoutID: null // timeoutID return by setTimeout Function\n };\n },\n\n\n methods: {\n\n /**\n * @param {{ '1': () => {}, '2': () => {}}} callbacks hashmap of click event handlers ('1' = click, '2' = double click)\n * @param context\n */\n handleClick: function handleClick() {\n var _this = this;\n\n var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments[1];\n\n if (!this.__CLICK_EVENT) {\n console.warn('click mixin not initialized on context:', context);\n return;\n }\n this.__CLICK_EVENT.count += 1; // increment click count\n if (!this.__CLICK_EVENT.timeoutID) {\n // skip and wait for timeout in order to detect double click\n this.__CLICK_EVENT.timeoutID = setTimeout(function () {\n if (undefined !== callbacks[_this.__CLICK_EVENT.count]) {\n callbacks[_this.__CLICK_EVENT.count].call(context);\n }\n _this.__resetClickMixin();\n }, 300);\n }\n },\n __resetClickMixin: function __resetClickMixin() {\n this.__CLICK_EVENT.count = 0;\n this.__CLICK_EVENT.timeoutID = null;\n },\n __clearClickMixin: function __clearClickMixin() {\n this.__resetClickMixin();\n this.__CLICK_EVENT = null;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.__clearClickMixin();\n }\n};\n\n},{}],163:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getFieldService: function getFieldService() {\n if (undefined === this._fieldsService) {\n this._fieldsService = require('gui/fields/fieldsservice');\n }\n return this._fieldsService;\n },\n getFieldType: function getFieldType(field) {\n return this.getFieldService().getType(field);\n },\n isSimple: function isSimple(field) {\n return this.getFieldService().isSimple(field);\n },\n isLink: function isLink(field) {\n return this.getFieldService().isLink(field);\n },\n isImage: function isImage(field) {\n return this.getFieldService().isImage(field);\n },\n isPhoto: function isPhoto(field) {\n return this.getFieldService().isPhoto(field);\n },\n isVue: function isVue(field) {\n return this.getFieldService().isVue(field);\n },\n sanitizeFieldValue: function sanitizeFieldValue(value) {\n return Array.isArray(value) && !value.length ? '' : value;\n }\n }\n};\n\n},{\"gui/fields/fieldsservice\":4}],164:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n valid: false\n };\n },\n\n methods: {\n addToValidate: function addToValidate(input) {\n this.tovalidate.push(input);\n },\n changeInput: function changeInput(input) {\n this.isValid(input);\n },\n\n // Every input sends to form it valid value that will change the genaral state of form\n isValid: function isValid(input) {\n var _this = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually) {\n if (!input.validate.required) {\n if (!input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n } else {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n var countNoTEmptyInputName = [];\n for (var i = input.validate.mutually.length; i--;) {\n var name = input.validate.mutually[i];\n if (!this.tovalidate[name].validate.empty) {\n countNoTEmptyInputName.push(name);\n }\n }\n if (countNoTEmptyInputName.length < 2) {\n countNoTEmptyInputName.forEach(function (name) {\n _this.tovalidate[name].validate.mutually_valid = true;\n _this.tovalidate[name].validate.valid = true;\n setTimeout(function () {\n _this.tovalidate[name].validate.valid = _this.tovalidate[name].validate._valid;\n _this.state.valid = _this.state.valid && _this.tovalidate[name].validate.valid;\n });\n });\n }\n }\n }\n //check if min_field or max_field is set\n } else if (!input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.tovalidate[input.validate.min_field].value : this.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.tovalidate[input.validate.max_field].value;\n if (input.validate.valid) {\n this.tovalidate[input_name].validate.valid = true;\n }\n }\n }\n this.valid = Object.values(this.tovalidate).reduce(function (bool, input) {\n return bool && input.validate.valid;\n }, true);\n }\n },\n created: function created() {\n this.tovalidate = [];\n },\n destroyed: function destroyed() {\n this.tovalidate = null;\n }\n};\n\n},{}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n showLayer: function showLayer() {\n this.visible = !this.visible;\n this.layer.setVisible(this.visible);\n }\n },\n created: function created() {\n var data = this.data;\n var mapProjection = _gui2.default.getService('map').getProjection().getCode();\n var style = void 0;\n switch (data.type) {\n case 'Point':\n case 'MultiPoint':\n style = [new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n }), new ol.style.Style({\n image: new ol.style.Circle({\n radius: 2,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n })];\n break;\n case 'Line':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.3)' }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n });\n break;\n }\n this.layer = new ol.layer.Vector({\n source: new ol.source.Vector({\n features: new ol.format.GeoJSON().readFeatures(data, { featureProjection: mapProjection })\n }),\n visible: !!this.visible,\n style: style\n });\n _gui2.default.getService('map').getMap().addLayer(this.layer);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.getService('map').getMap().removeLayer(this.layer);\n }\n}; /**\n * @file\n * @since v3.7\n */\n\n},{\"services/gui\":173}],166:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.formInputsMixins = exports.select2Mixin = exports.selectMixin = exports.resizeMixin = exports.geoMixin = exports.mediaMixin = exports.fieldsMixin = undefined;\n\nvar _autocomplete = require('mixins/autocomplete');\n\nvar _autocomplete2 = _interopRequireDefault(_autocomplete);\n\nvar _fields = require('mixins/fields');\n\nvar _fields2 = _interopRequireDefault(_fields);\n\nvar _media = require('mixins/media');\n\nvar _media2 = _interopRequireDefault(_media);\n\nvar _geo = require('mixins/geo');\n\nvar _geo2 = _interopRequireDefault(_geo);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _select = require('mixins/select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = require('mixins/select2');\n\nvar _select4 = _interopRequireDefault(_select3);\n\nvar _formInputs = require('mixins/form-inputs');\n\nvar _formInputs2 = _interopRequireDefault(_formInputs);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mixins = {\n autocompleteMixin: _autocomplete2.default,\n fieldsMixin: _fields2.default,\n mediaMixin: _media2.default,\n geoMixin: _geo2.default,\n resizeMixin: _resize2.default,\n selectMixin: _select2.default,\n select2Mixin: _select4.default,\n formInputsMixins: _formInputs2.default,\n baseInputMixin: _baseInput2.default\n}; /**\n * @file\n * @since v3.7\n */\nexports.fieldsMixin = _fields2.default;\nexports.mediaMixin = _media2.default;\nexports.geoMixin = _geo2.default;\nexports.resizeMixin = _resize2.default;\nexports.selectMixin = _select2.default;\nexports.select2Mixin = _select4.default;\nexports.formInputsMixins = _formInputs2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":160,\"mixins/base-input\":161,\"mixins/fields\":163,\"mixins/form-inputs\":164,\"mixins/geo\":165,\"mixins/media\":167,\"mixins/resize\":168,\"mixins/select\":169,\"mixins/select2\":170}],167:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n filename: function filename() {\n return this.value ? this.value.split('/').pop() : this.value;\n }\n },\n methods: {\n isMedia: function isMedia(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n return !!value.mime_type;\n }\n return false;\n },\n getMediaType: function getMediaType(mime_type) {\n var media = {\n type: null,\n options: {}\n };\n\n switch (mime_type) {\n case 'image/gif':\n case 'image/png':\n case 'image/jpeg':\n case 'image/bmp':\n media.type = 'image';\n break;\n case 'application/pdf':\n media.type = 'pdf';\n break;\n case 'video/mp4':\n case 'video/ogg':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n case 'video/quicktime':\n media.type = 'video';\n media.options.format = mime_type;\n break;\n case 'application/gzip':\n case 'application/zip':\n media.type = 'zip';\n break;\n case 'application/msword':\n case 'application/vnd.oasis.opendocument.text':\n media.type = 'text';\n break;\n case 'application/vnd.ms-office':\n case 'application/vnd.oasis.opendocument.spreadsheet':\n media.type = 'excel';\n break;\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n case 'application/vnd.ms-powerpoint':\n case 'application/vnd.oasis.opendocument.presentation':\n media.type = 'ppt';\n break;\n default:\n media.type = 'unknow';\n }\n return media;\n }\n }\n};\n\n},{}],168:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _throttle = require('utils/throttle');\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nvar DELAY_TYPE = {\n throttle: _throttle.throttle,\n debounce: _debounce.debounce\n};\n\nexports.default = {\n created: function created() {\n var delayWrapper = this.delayType && DELAY_TYPE[this.delayType] || DELAY_TYPE.throttle;\n this.delayResize = this.resize ? delayWrapper(this.resize.bind(this), this.delayTime) : null;\n _gui2.default.on('resize', this.delayResize);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n if (this.resize) {\n this.resize();\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n _gui2.default.off('resize', this.delayResize);\n this.delayResize = null;\n this.delayTime = null;\n }\n};\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"utils/throttle\":241}],169:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getLanguage: function getLanguage() {\n return window.initConfig.user.i18n || \"en\";\n },\n changeSelect: function () {\n var _ref = _asyncToGenerator(function* (value) {\n this.state.value = 'null' === value ? null : value;\n //need to be waited in case of autocomplete\n yield this.$nextTick();\n this.change();\n });\n\n function changeSelect(_x) {\n return _ref.apply(this, arguments);\n }\n\n return changeSelect;\n }(),\n getValue: function getValue(value) {\n return null === value ? 'null' : value;\n },\n resetValues: function resetValues() {\n this.state.input.options.values.splice(0);\n }\n },\n computed: {\n autocomplete: function autocomplete() {\n return 'select_autocomplete' === this.state.input.type && this.state.input.options.usecompleter;\n }\n },\n watch: {\n notvalid: function () {\n var _ref2 = _asyncToGenerator(function* (value) {\n yield this.$nextTick();\n if (this.select2) {\n this.select2.data('select2').$container[value ? \"addClass\" : \"removeClass\"](\"input-error-validation\");\n }\n });\n\n function notvalid(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return notvalid;\n }()\n }\n};\n\n},{}],170:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n mixins: [_resize2.default],\n methods: {\n setValue: function setValue() {\n this.select2.val(this.state.value).trigger('change');\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n //destroy a select2 dom element\n if (this.select2) {\n this.select2.select2('destroy');\n // remove all events\n this.select2.off();\n this.select2 = null;\n }\n }\n};\n\n},{\"mixins/resize\":168,\"store/application\":178}],171:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.6\n */\nvar ApplicationService = new _g3wObject2.default({ setters: {\n online: function online() {},\n offline: function offline() {}\n } });\nApplicationService.version = _g3wConstants.APP_VERSION;\n\nexports.default = ApplicationService;\n\n},{\"g3w-constants\":126,\"g3w-object\":130}],172:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _XHR = require('utils/XHR');\n\nvar _promisify = require('utils/promisify');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar handleQueryPromises = function () {\n var _ref = _asyncToGenerator(function* () {\n var promises = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var responses = yield Promise.allSettled(promises);\n // at least one response\n if (responses.some(function (r) {\n return 'fulfilled' === r.status;\n })) {\n return responses.filter(function (r) {\n return 'fulfilled' === r.status;\n }).map(function (r) {\n return r.value;\n });\n }\n // show all errors\n return Promise.reject(responses.filter(function (r) {\n return 'rejected' === r.status;\n }).map(function (r) {\n return r.reason;\n }));\n });\n\n return function handleQueryPromises() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexports.default = {\n\n /**\n * @param { string } contextAndMethod function name (eg. \"query:coordinates\", \"query:bbox\", \"query:polygon\")\n * @param options\n * \n * @returns {Promise}\n */\n getData: function () {\n var _ref2 = _asyncToGenerator(function* (contextAndMethod) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$inputs = options.inputs,\n inputs = _options$inputs === undefined ? {} : _options$inputs,\n _options$outputs = options.outputs,\n outputs = _options$outputs === undefined ? {} : _options$outputs;\n\n var promise = this[contextAndMethod](inputs);\n if (outputs) {\n _gui2.default.outputDataPlace(promise, outputs);\n }\n return yield yield promise;\n });\n\n function getData(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return getData;\n }(),\n\n\n /**\n * @param {{ coordinates: unknown, layerIds: unknown[], multilayers: boolean, query_point_tolerance: number, feature_count: number }}\n */\n 'query:coordinates': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n coordinates = _ref4.coordinates,\n _ref4$layerIds = _ref4.layerIds,\n layerIds = _ref4$layerIds === undefined ? [] : _ref4$layerIds,\n _ref4$multilayers = _ref4.multilayers,\n multilayers = _ref4$multilayers === undefined ? false : _ref4$multilayers,\n _ref4$query_point_tol = _ref4.query_point_tolerance,\n query_point_tolerance = _ref4$query_point_tol === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref4$query_point_tol,\n _ref4$addExternal = _ref4.addExternal,\n addExternal = _ref4$addExternal === undefined ? true : _ref4$addExternal,\n feature_count = _ref4.feature_count;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({\n QUERYABLE: true,\n SELECTED_OR_ALL: 0 === layerIds.length,\n VISIBLE: true,\n IDS: layerIds.length ? layerIds.map(function (id) {\n return id;\n }) : undefined\n });\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n coordinates: coordinates,\n type: 'coordinates',\n external: {\n add: !external || layerIds.length > 0 ? 1 === layers.length && layers[0].isSelected() ? false : addExternal : // avoid querying a temporary layer (external layer) when another layer is selected\n addExternal, // an external layer is selected\n filter: {\n SELECTED: external\n }\n }\n },\n data: ((!external || layerIds.length > 0) && (yield (0, _promisify.promisify)(this.getQueryLayersPromisesByCoordinates(layers, {\n multilayers: multilayers,\n feature_count: feature_count,\n query_point_tolerance: query_point_tolerance,\n coordinates: coordinates\n }))) || []).flatMap(function (_ref5) {\n var _ref5$data = _ref5.data,\n data = _ref5$data === undefined ? [] : _ref5$data;\n return data;\n })\n\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryCoordinates() {\n return _ref3.apply(this, arguments);\n }\n\n return queryCoordinates;\n }(),\n\n\n /**\n * @param bbox\n * @param feature_count\n * @param multilayers\n * @param condition\n * @param filterConfig\n * @param addExternal\n * @param layersFilterObject\n */\n 'query:bbox': function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n bbox = _ref7.bbox,\n _ref7$feature_count = _ref7.feature_count,\n feature_count = _ref7$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref7$feature_count,\n _ref7$filterConfig = _ref7.filterConfig,\n filterConfig = _ref7$filterConfig === undefined ? {} : _ref7$filterConfig,\n _ref7$multilayers = _ref7.multilayers,\n multilayers = _ref7$multilayers === undefined ? false : _ref7$multilayers,\n _ref7$condition = _ref7.condition,\n condition = _ref7$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref7$condition,\n _ref7$excludeSelected = _ref7.excludeSelected,\n excludeSelected = _ref7$excludeSelected === undefined ? null : _ref7$excludeSelected,\n _ref7$addExternal = _ref7.addExternal,\n addExternal = _ref7$addExternal === undefined ? true : _ref7$addExternal,\n _ref7$layersFilterObj = _ref7.layersFilterObject,\n layersFilterObject = _ref7$layersFilterObj === undefined ? { SELECTED_OR_ALL: true, FILTERABLE: true, VISIBLE: true } : _ref7$layersFilterObj;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var selected = external || ('boolean' == typeof excludeSelected ? excludeSelected : false);\n\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n bbox: bbox,\n type: 'bbox',\n filterConfig: filterConfig,\n external: {\n add: addExternal,\n filter: {\n SELECTED: selected\n }\n }\n },\n data: (!external && (yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(layersFilterObject, condition),\n // options\n {\n geometry: ol.geom.Polygon.fromExtent(bbox),\n feature_count: feature_count,\n filterConfig: filterConfig,\n multilayers: multilayers,\n projection: _gui2.default.getService('map').getMap().getView().getProjection()\n })) || []).flatMap(function (_ref8) {\n var _ref8$data = _ref8.data,\n data = _ref8$data === undefined ? [] : _ref8$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryBbox() {\n return _ref6.apply(this, arguments);\n }\n\n return queryBbox;\n }(),\n\n\n /**\n * @param {{ feature: unknown, feature_count: unknown, filterConfig: unknown, multilayers: boolean, condition: boolean, excludeLayers: unknown[] }}\n */\n 'query:polygon': function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref10.feature,\n _ref10$feature_count = _ref10.feature_count,\n feature_count = _ref10$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref10$feature_count,\n _ref10$filterConfig = _ref10.filterConfig,\n filterConfig = _ref10$filterConfig === undefined ? {} : _ref10$filterConfig,\n _ref10$multilayers = _ref10.multilayers,\n multilayers = _ref10$multilayers === undefined ? false : _ref10$multilayers,\n _ref10$condition = _ref10.condition,\n condition = _ref10$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref10$condition,\n _ref10$layerName = _ref10.layerName,\n layerName = _ref10$layerName === undefined ? '' : _ref10$layerName,\n _ref10$excludeSelecte = _ref10.excludeSelected,\n excludeSelected = _ref10$excludeSelecte === undefined ? null : _ref10$excludeSelecte,\n _ref10$external = _ref10.external,\n external = _ref10$external === undefined ? {\n add: true,\n filter: {\n SELECTED: false\n }\n } : _ref10$external,\n _ref10$type = _ref10.type,\n type = _ref10$type === undefined ? 'polygon' : _ref10$type;\n\n var geometry = feature.getGeometry();\n\n try {\n return {\n result: true,\n type: 'ows',\n error: !geometry,\n query: {\n fid: _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n }) ? feature.getId() : feature.get(_g3wConstants.G3W_FID),\n geometry: geometry,\n layerName: layerName,\n type: type,\n filterConfig: filterConfig,\n external: external\n },\n usermessage: !geometry && {\n type: 'warning',\n message: layerName + ' - ' + t('sdk.mapcontrols.querybypolygon.no_geometry'),\n messagetext: true,\n autoclose: false\n },\n data: ((yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(_extends({}, \"boolean\" === typeof excludeSelected ? { SELECTED: !excludeSelected } : { SELECTED_OR_ALL: true }, {\n FILTERABLE: true,\n VISIBLE: true\n }), condition),\n // options\n {\n geometry: geometry,\n multilayers: multilayers,\n feature_count: feature_count,\n filterConfig: filterConfig,\n projection: _application2.default.project.getProjection()\n })) || []).flatMap(function (_ref11) {\n var _ref11$data = _ref11.data,\n data = _ref11$data === undefined ? [] : _ref11$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryPolygon() {\n return _ref9.apply(this, arguments);\n }\n\n return queryPolygon;\n }(),\n\n\n /**\n * Method to search features\n * \n * @param options.layer\n * @param options.filter\n * @param options.raw\n * @param options.queryUrl\n * @param options.feature_count\n * @param options.formatter\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n 'search:features': function () {\n var _ref12 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n layer: layer,\n filter: filter,\n raw: false,\n queryUrl: queryUrl,\n feature_count: feature_count,\n formatter: 1,\n ordering: ordering,\n autofilter: 0,\n //@since 3.11.0 pagination\n page: page,\n page_sizes: page_sizes\n };\n return _asyncToGenerator(function* () {\n var layer = options.layer,\n params = _objectWithoutProperties(options, ['layer']);\n\n params.filter = [].concat(params.filter); // check if filter is an array\n params.page_size = (params.page_sizes || [])[0]; //get page size\n //@since 3.11.0 count features returned by\n var counts = [];\n var page_sizes = []; //set pages based on count feature returned by server\n return {\n data: (yield Promise.allSettled([].concat(layer).map(function (l, i) {\n return l.searchFeatures(_extends({}, params, { filter: params.filter[i] }));\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).map(function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref14.value;\n\n //@since 3.11.0 In case autofilter set\n if (1 === params.autofilter) {\n (value.data || []).forEach(function (_ref15) {\n var layer = _ref15.layer,\n filtertoken = _ref15.filtertoken;\n\n //in the case of filtertoken response attribute set, need to set it to layer\n if (filtertoken) {\n layer.state.selection.active = layer.state.filter.active = true;\n layer.setFilterToken(filtertoken);\n }\n });\n }\n\n if (params.page_sizes) {\n //get max number of elements per page\n var max = Math.max.apply(Math, _toConsumableArray(Array.isArray(params.page_sizes) ? params.page_sizes : [params.page_sizes]));\n //Check if count (total number of elements of search is more o less than max)\n page_sizes.push(max <= value.count ? params.page_sizes : [].concat(_toConsumableArray(params.page_sizes.filter(function (p) {\n return p < value.count;\n })), [value.count]));\n //add a count element on counts array\n counts.push(value.count);\n }\n if (params.raw) {\n return { data: value };\n }\n if (Array.isArray(value.data) && value.data.length > 0) {\n return value.data[0];\n }\n }),\n query: {\n type: 'search',\n search: params.filter, //filter search (array of filter)\n autofilter: !!params.autofilter, //@since 3.11.0 set Boolean\n //@since 3.11.0 pagination\n pagination: params.page_size && {\n pages: params.page && counts.map(function (count) {\n return Math.round(count / params.page_size);\n }), //set number of pages\n current: params.page && counts.map(function () {\n return params.page;\n }), //current page\n page_sizes: page_sizes, //Array contains a number of features that want get with pagination\n counts: counts,\n //Object contains info for do another request by another part of code\n getData: {\n params: params.filter.map(function (filter) {\n return _extends({}, params, { filter: filter });\n }),\n method: 'searchFeatures',\n layers: layer\n }\n }\n },\n type: 'api'\n };\n })();\n });\n\n function searchFeatures() {\n return _ref12.apply(this, arguments);\n }\n\n return searchFeatures;\n }(),\n\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n 'search:fids': function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref17.layer,\n _ref17$formatter = _ref17.formatter,\n formatter = _ref17$formatter === undefined ? 0 : _ref17$formatter,\n _ref17$fids = _ref17.fids,\n fids = _ref17$fids === undefined ? [] : _ref17$fids;\n\n var features = [];\n try {\n // convert API response to Open Layer Features\n features = (layer && (yield layer.getFeatureByFids({ fids: fids, formatter: formatter })) || []).map(function (f) {\n var properties = undefined !== f.properties ? f.properties : {};\n properties[_g3wConstants.G3W_FID] = f.id;\n var olFeat = new ol.Feature(f.geometry && new ol.geom[f.geometry.type](f.geometry.coordinates));\n olFeat.setProperties(properties);\n olFeat.setId(f.id);\n return olFeat;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: [{\n layer: layer,\n features: features\n }],\n query: { type: 'search' }\n };\n });\n\n function searchFids() {\n return _ref16.apply(this, arguments);\n }\n\n return searchFids;\n }(),\n\n\n /**\n * Search service function to load many layers with each one with its fids\n * \n * @param options.layers - Array of layers that we want serach fids features\n * @param options.fids - Array of array of fids\n * @param options.formatter - how we want visualize\n */\n 'search:layersfids': function () {\n var _ref18 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$layers = _ref19.layers,\n layers = _ref19$layers === undefined ? [] : _ref19$layers,\n _ref19$fids = _ref19.fids,\n fids = _ref19$fids === undefined ? [] : _ref19$fids,\n _ref19$formatter = _ref19.formatter,\n formatter = _ref19$formatter === undefined ? 0 : _ref19$formatter;\n\n var data = [];\n try {\n data = (yield Promise.all(layers.map(function (layer, i) {\n return _this['search:fids']({ layer: layer, fids: fids[i], formatter: formatter });\n }))).map(function (response) {\n return response.data;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: data,\n query: { type: 'search' }\n };\n });\n\n function searchLayersfids() {\n return _ref18.apply(this, arguments);\n }\n\n return searchLayersfids;\n }(),\n\n\n /**\n * POST only: accepts\n * \n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.qgis_layer_id layer id owner of the form data\n * @param params.layer_id layer owner of the data\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression': function () {\n var _ref20 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var response = yield _XHR.XHR.post({\n url: '' + _application2.default.project.getUrl('vector_data') + params.layer_id + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n return response.result ? response.vector.data.features || [] : null;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function expressionExpression() {\n return _ref20.apply(this, arguments);\n }\n\n return expressionExpression;\n }(),\n\n\n /**\n * POST only method to return QGIS Expressions evaluated in Project an optional Layer/Form context\n *\n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.layer_id\n * @param params.qgis_layer_id\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression_eval': function expressionExpression_eval() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _XHR.XHR.post({\n url: '/api/expression_eval/' + _application2.default.project.getId() + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n },\n\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n 'proxy:wms': function () {\n var _ref21 = _asyncToGenerator(function* () {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref22.url,\n _ref22$method = _ref22.method,\n method = _ref22$method === undefined ? 'GET' : _ref22$method,\n _ref22$params = _ref22.params,\n params = _ref22$params === undefined ? {} : _ref22$params,\n _ref22$headers = _ref22.headers,\n headers = _ref22$headers === undefined ? {} : _ref22$headers;\n\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(function (p) {\n return url.searchParams.set(p, params[p]);\n });\n url = url.toString();\n }\n try {\n return {\n response: yield _XHR.XHR.post({\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method }),\n contentType: 'application/json',\n url: '' + window.initConfig.proxyurl\n }),\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method })\n };\n } catch (e) {\n console.warn(e);\n }\n });\n\n function proxyWms() {\n return _ref21.apply(this, arguments);\n }\n\n return proxyWms;\n }(),\n\n\n /**\n * Generic proxy data function\n */\n 'proxy:data': function proxyData() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n },\n\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * @param layers \n * @param { Object } opts\n * @param opts.coordinates\n * @param opts.feature_count\n * @param opts.query_point_tolerance\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.reproject\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByCoordinates: function getQueryLayersPromisesByCoordinates(layers) {\n var _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref23.coordinates,\n _ref23$feature_count = _ref23.feature_count,\n feature_count = _ref23$feature_count === undefined ? 10 : _ref23$feature_count,\n _ref23$query_point_to = _ref23.query_point_tolerance,\n query_point_tolerance = _ref23$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref23$query_point_to,\n _ref23$multilayers = _ref23.multilayers,\n multilayers = _ref23$multilayers === undefined ? false : _ref23$multilayers,\n _ref23$reproject = _ref23.reproject,\n reproject = _ref23$reproject === undefined ? true : _ref23$reproject;\n\n // skip when no features\n if (0 === layers.length) {\n return (0, _promisify.$promisify)(Promise.resolve(layers));\n }\n\n var map = _gui2.default.getService('map').getMap();\n var size = map.getSize();\n var mapProjection = map.getView().getProjection();\n var resolution = map.getView().getResolution();\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getInfoFormat() + ':' + l.getInfoUrl() + ':' + l.getMultiLayerId();\n }) : layers).map(function (layers) {\n return (0, _promisify.promisify)([].concat(layers)[0].query(multilayers ? { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution, reproject: reproject, layers: layers } : { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution }));\n }));\n }));\n },\n\n\n /**\n * @param layers\n * @param { Object } opts\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.bbox\n * @param opts.geometry\n * @param opts.projection\n * @param opts.feature_count\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByGeometry: function () {\n var _ref25 = _asyncToGenerator(function* (layers) {\n var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref26.geometry,\n projection = _ref26.projection,\n _ref26$filterConfig = _ref26.filterConfig,\n filterConfig = _ref26$filterConfig === undefined ? {} : _ref26$filterConfig,\n _ref26$multilayers = _ref26.multilayers,\n multilayers = _ref26$multilayers === undefined ? false : _ref26$multilayers,\n _ref26$feature_count = _ref26.feature_count,\n feature_count = _ref26$feature_count === undefined ? 10 : _ref26$feature_count;\n\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n var mapCrs = projection.getCode();\n\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getMultiLayerId() + '_' + l.getProjection().getCode();\n }) : layers).map(function (layers) {\n var layer = [].concat(layers)[0];\n var crs = layer.getProjection().getCode();\n var filter = {\n config: filterConfig,\n type: 'geometry',\n // Convert filter geometry from map to layer CRS\n value: mapCrs === crs ? geometry : geometry.clone().transform(mapCrs, crs)\n };\n return (0, _promisify.promisify)(layer.query(multilayers ? { filter: filter, feature_count: feature_count, layers: layers } : { filter: filter, feature_count: feature_count, filterConfig: filterConfig }));\n }));\n });\n\n function getQueryLayersPromisesByGeometry(_x17) {\n return _ref25.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getMapLayersByFilter\":210,\"utils/groupBy\":219,\"utils/promisify\":232}],173:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/** clear all stacks */\nvar _clearContents = function () {\n var _ref = _asyncToGenerator(function* () {\n yield Promise.allSettled((_application2.default.contentsdata || []).map(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(GUI.getComponent('contents').parent).empty();\n }\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()));\n _application2.default.contentsdata.splice(0, _application2.default.contentsdata.length);\n });\n\n return function _clearContents() {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * Convert error to user message showed\n * @param error\n * @returns {string}\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _iframe = require('services/iframe');\n\nvar _iframe2 = _interopRequireDefault(_iframe);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _promisify = require('utils/promisify');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _getProjectUrl = require('utils/getProjectUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/** store legacy frontend components */\nvar COMPONENTS = {};\n\n/* service know by the applications (standard) */\nvar SERVICES = {\n navbar: null,\n sidebar: null,\n viewport: null\n};\n\nfunction setViewSizes() {\n var state = _application2.default.viewport;\n\n var viewportWidth = $('#app')[0].getBoundingClientRect().width - ($(\".main-sidebar\").length ? $(\".main-sidebar\")[0].getBoundingClientRect().width + $(\".main-sidebar\").offset().left : 0);\n var viewportHeight = $(document).innerHeight() - $('.navbar').innerHeight();\n // assign all width and height of the view to primary view (map)\n var primaryWidth = void 0;\n var primaryHeight = void 0;\n var secondaryWidth = void 0;\n var secondaryHeight = void 0;\n // percentage of secondary view (content)\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === state.split ? 'width' : 'height'];\n var scale = (state.secondaryPerc !== 100 && !is_fullview ? content_perc : 100) / 100;\n if ('h' === state.split) {\n secondaryWidth = state.secondaryVisible ? Math.max(viewportWidth * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n secondaryHeight = viewportHeight;\n primaryWidth = viewportWidth - secondaryWidth;\n primaryHeight = viewportHeight;\n } else {\n secondaryWidth = viewportWidth;\n secondaryHeight = state.secondaryVisible ? Math.max(viewportHeight * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n primaryWidth = state.secondaryVisible && scale === 1 ? 0 : viewportWidth;\n primaryHeight = viewportHeight - secondaryHeight;\n }\n state[state.primaryView].sizes.width = primaryWidth;\n state[state.primaryView].sizes.height = primaryHeight;\n state['map' === state.primaryView ? 'content' : 'map'].sizes.width = secondaryWidth;\n state['map' === state.primaryView ? 'content' : 'map'].sizes.height = secondaryHeight;\n}\n\n/**\n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\nfunction getReducedSizes() {\n var contentEl = $('.content');\n var reducedWidth = 0;\n var reducedHeight = 0;\n var sideBarToggleEl = $('.sidebar-aside-toggle');\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(_application2.default.viewport.split === 'h' ? 'width' : 'height') + '_100'];\n if (contentEl && _application2.default.viewport.secondaryVisible && is_fullview) {\n if (sideBarToggleEl && sideBarToggleEl.is(':visible')) {\n var toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', toggleWidth + 5);\n reducedWidth = toggleWidth - 5;\n }\n } else {\n var _toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', _application2.default.viewport.secondaryPerc === 100 ? _toggleWidth + 5 : 15);\n }\n return {\n reducedWidth: reducedWidth,\n reducedHeight: reducedHeight\n };\n}function errorToMessage(error) {\n var type = (0, _toRawType.toRawType)(error);\n\n if ('Error' === type) {\n return 'CLIENT - ' + error.message;\n }\n\n if ('Object' === type && error.responseJSON && false === error.responseJSON.result) {\n var e = error.responseJSON.error;\n return (e.code || '').toUpperCase() + ' ' + (e.data || '') + ' ' + (e.message || '');\n }\n\n if ('Object' === type && error.responseText) {\n return error.responseText;\n }\n\n if ('Array' === type) {\n return error.map(function (e) {\n return errorToMessage(e);\n }).join(' ');\n }\n\n return error || 'server_error';\n}\n\n// API della GUI.\n// methods have been defined by application\n// app should call GUI.ready() when GUI is ready\nexports.default = new (function (_G3WObject) {\n _inherits(GUI, _G3WObject);\n\n function GUI(opts) {\n _classCallCheck(this, GUI);\n\n var _this = _possibleConstructorReturn(this, (GUI.__proto__ || Object.getPrototypeOf(GUI)).call(this, opts));\n\n _this.setters = {\n setContent: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.emit('opencontent', true);\n\n // close user message before set content\n if (this._closeUserMessage) {\n this.closeUserMessage();\n }\n\n options.content = options.content || null;\n options.title = options.title || \"\";\n options.push = true === options.push || false === options.push ? options.push : false;\n options.perc = isMobile.any ? 100 : options.perc;\n options.split = options.split || 'h';\n options.backonclose = true === options.backonclose || false === options.backonclose ? options.backonclose : false;\n options.showtitle = true === options.showtitle || false === options.showtitle ? options.showtitle : true;\n\n var opts = options;\n\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n opts.perc = opts.perc !== undefined ? opts.perc : content_perc;\n\n // check if push is set\n opts.push = opts.push || false;\n var event = opts.perc === 100 ? 'show-content-full' : 'show-content';\n\n // set all content parameters\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n // call show view (in this case content (other is map)\n this._showView('content', opts);\n\n var contents = this.getComponent('contents');\n\n // whether to clean the stack every time, sure to have just one component.\n if (!opts.push) {\n yield _clearContents();\n }\n\n var content = opts.content;\n var _options = Object.assign(opts, { parent: contents.internalComponent.$el, append: true });\n contents.parent = _options.parent;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(contents.parent).append(el);\n _application2.default.contentsdata.push({ content: el, options: _options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', _application2.default.contentsdata.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = _application2.default.contentsdata.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(_application2.default.contentsdata[id].content.unmount());\n _application2.default.contentsdata.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(contents.parent, _options.append || false));\n $(contents.parent).localize();\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n // DOM element\n else {\n contents.parent.appendChild(content);\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n Array.from(contents.internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n contents.setOpen(true);\n\n this._layoutComponents(event);\n });\n\n function setContent() {\n return _ref3.apply(this, arguments);\n }\n\n return setContent;\n }()\n };\n\n _this.isready = false;\n\n //property to how a result has to be adding or close all and show new\n // false mean create new and close all open\n _this.push_content = false;\n\n _this._closeUserMessage = true;\n\n _this.dialog = bootbox;\n\n _this.notify = {\n warning: function warning(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'warning', message: message, autoclose: autoclose });\n },\n error: function error(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'alert', message: message, autoclose: autoclose });\n },\n info: function info(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'info', message: message, autoclose: autoclose });\n },\n success: function success(message) {\n _this.showUserMessage({ type: 'success', message: message, autoclose: true });\n }\n };\n\n /** @since 3.11.0 */\n _this.currentoutputplace = 'gui';\n\n return _this;\n }\n\n _createClass(GUI, [{\n key: 'addComponent',\n value: function addComponent(component, placeholder) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var register = true;\n if (placeholder && Object.keys(SERVICES).indexOf(placeholder) > -1) {\n // add component to the sidebar and set position inside the sidebar\n if ('sidebar' === placeholder) {\n if (!isMobile.any || false !== component.mobile) {\n _application2.default.sidebar.components.push(component);\n new (Vue.extend(require('components/SidebarItem.vue')))({ component: component, opts: options }).$mount();\n }\n register = true;\n } else if (SERVICES[placeholder]) {\n register = SERVICES[placeholder].addComponents([component], options);\n }\n }\n if (register) {\n this.setComponent(component);\n }\n return true;\n }\n\n /**\n * used by the following plugins: \"billboards\"\n */\n\n }, {\n key: 'setPushContent',\n value: function setPushContent() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.push_content = bool;\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n var id = component.getId();\n if (undefined === COMPONENTS[id]) {\n COMPONENTS[id] = component;\n }\n }\n }, {\n key: 'getComponent',\n value: function getComponent(id) {\n return COMPONENTS[id];\n }\n }, {\n key: 'getComponents',\n value: function getComponents() {\n return COMPONENTS;\n }\n }, {\n key: 'ready',\n value: function ready() {\n var _this2 = this;\n\n var drawing = false;\n var resizeFired = false;\n function triggerResize() {\n resizeFired = true;\n drawResize();\n }\n /**\n * function called from resize of browser windows (also open dev tool)\n */\n var drawResize = function drawResize() {\n if (true === resizeFired) {\n resizeFired = false;\n drawing = true;\n _this2._layout('resize');\n requestAnimationFrame(drawResize);\n } else {\n drawing = false;\n }\n };\n\n // SetSidebar width (used by components/Viewport.vue single file component)\n _application2.default.viewport.SIDEBARWIDTH = this.getSize({ element: 'sidebar', what: 'width' });\n\n this._layout();\n\n // resize della window\n $(window).resize(function () {\n // set resizedFired to true and execute drawResize if it's not already running\n if (false === drawing) {\n triggerResize();\n }\n });\n\n // resize on main siedemar open close sidebar\n $('.main-sidebar').on('transitionend', function (event) {\n //be sure that is the main sidebar that is transitioned non his child\n if (event.target === this) {\n $(this).trigger('trans-end');\n triggerResize();\n }\n });\n\n this.emit('ready');\n this.isready = true;\n }\n }, {\n key: 'isReady',\n value: function isReady() {\n var _this3 = this;\n\n return new Promise(function (resolve) {\n return _this3.isready ? resolve() : _this3.once('ready', resolve);\n });\n }\n }, {\n key: 'getService',\n\n\n /**\n * Passing a component application ui id return service that belongs to component\n * @param componentId\n * @returns {*}\n */\n value: function getService(componentId) {\n var component = this.getComponent(componentId);\n return component && component.getService();\n }\n\n /* end spinner */\n\n /**\n * Wrapper for download\n *\n * @param { Function } downloadFnc function to call\n * @param { Object } options Object parameters\n *\n * @since 3.9.0\n */\n\n }, {\n key: 'downloadWrapper',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (downloadFnc) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.setLoadingContent(true);\n\n try {\n yield downloadFnc(options);\n } catch (e) {\n this.showUserMessage({ type: 'alert', message: e || 'server_error', textMessage: !!e });\n }\n _application2.default.download = true;\n _application2.default.download = false;\n\n this.setLoadingContent(false);\n });\n\n function downloadWrapper(_x9) {\n return _ref4.apply(this, arguments);\n }\n\n return downloadWrapper;\n }()\n\n /** @since 3.10.0 remove _setUpTemplateDependencies method**/\n\n }, {\n key: 'isMobile',\n value: function (_isMobile) {\n function isMobile() {\n return _isMobile.apply(this, arguments);\n }\n\n isMobile.toString = function () {\n return _isMobile.toString();\n };\n\n return isMobile;\n }(function () {\n return isMobile.any;\n })\n }, {\n key: 'getFontClass',\n value: function getFontClass(type) {\n return Vue.prototype.g3wtemplate.getFontClass(type);\n }\n\n /* Metodos to define */\n\n }, {\n key: 'getResourcesUrl',\n value: function getResourcesUrl() {\n return window.initConfig.staticurl + window.initConfig.client;\n }\n\n /**\n * Function called from DataRouterservice for gui output\n * \n * @param promise // is request data promise\n * @param { Object } output\n * @param { boolean | Function | Object } output.show set output condition (whether to show result or not)\n * @param { boolean } output.add\n * @param { String } output.title\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (promise) {\n var output = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n //set current unique request id of request\n var rid = (0, _getUniqueDomId.getUniqueDomId)();\n\n /** In the case of a current output result is iframe, send to IFrameRouterService.outputDataPlace*/\n if ('iframe' === this.currentoutputplace) {\n return _iframe2.default.outputDataPlace(promise, output);\n }\n\n //set loading state\n this.setLoadingContent(true);\n\n //check show attribute if is a valid type\n var condition = ['function', 'boolean'].includes(_typeof(output.show));\n\n Object.assign(output, _extends({\n condition: condition ? output.show : true,\n add: false\n }, condition ? {} : output.show));\n\n // abort any previous request\n if (this.pending_output) {\n yield this.pending_output();\n }\n\n // if request doesn't need to add to a current query result\n if (!output.add) {\n this.showQueryResults(output.title || '');\n }\n\n // Store data promise\n var data = {};\n // stop\n var stop = false;\n\n //set current pending out\n this.pending_output = _asyncToGenerator(function* () {\n return stop = true;\n });\n\n //set current request id\n this.crid = rid;\n\n try {\n\n if (!stop) {\n data = yield promise;\n }\n\n //if set before call method and wait\n if (!stop && output.before) {\n yield output.before(data);\n }\n\n // in case of usermessage show user message\n if (!stop && data.usermessage) {\n this.showUserMessage({\n type: data.usermessage.type,\n message: data.usermessage.message,\n autoclose: data.usermessage.autoclose\n });\n }\n\n var show = !stop && 'function' === typeof output.condition ? output.condition(data) : false !== output.condition;\n\n // check if data can be shown on query result content\n if (!stop && show) {\n (this.getService('queryresults') || this.showQueryResults(output.title || '')).setQueryResponse(data, { add: output.add });\n }\n\n if (!stop && !show) {\n this.pending_output = this.closeContent.bind(this);\n }\n\n // call after is set with data\n if (!stop && output.after) {\n output.after(data);\n }\n } catch (e) {\n console.warn(e);\n this.showUserMessage({\n type: 'alert',\n message: errorToMessage(e),\n textMessage: true\n });\n yield this.closeContent();\n }\n\n this.pending_output = null;\n //set loading to false when done current request id\n this.setLoadingContent(rid !== this.crid);\n });\n\n function outputDataPlace(_x11) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n }, {\n key: 'showForm',\n value: function showForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _require = require('components/g3w-form'),\n FormComponent = _require.FormComponent;\n // new instance every time\n\n\n var formComponent = options.formComponent ? new options.formComponent(options) : new FormComponent(options);\n this.setContent({\n perc: options.perc,\n content: formComponent,\n split: undefined !== options.split ? options.split : 'h',\n crumb: options.crumb,\n push: !!options.push, //only one (if other deletes previous component)\n showgoback: !!options.showgoback,\n closable: false\n });\n // return service\n return formComponent.getService();\n }\n\n /**\n *\n * @param pop remove or not content or pop\n */\n\n }, {\n key: 'closeForm',\n value: function closeForm() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$pop = _ref7.pop,\n pop = _ref7$pop === undefined ? false : _ref7$pop;\n\n this.emit('closeform', false);\n\n var backonclose = !pop && _application2.default.viewport.content.backonclose && _application2.default.viewport.content.contentsdata.length > 1;\n\n // remove just last component\n if (pop || backonclose) {\n this.popContent();\n }\n\n // remove all content stacks\n if (!pop && !backonclose) {\n this.closeContent();\n }\n\n this.setModal(false);\n }\n }, {\n key: 'disableElement',\n value: function disableElement(_ref8) {\n var element = _ref8.element,\n disable = _ref8.disable;\n\n $(element)[disable ? 'addClass' : 'removeClass']('g3w-disabled');\n }\n }, {\n key: 'disableContent',\n value: function disableContent(disable) {\n _application2.default.viewport.content.disabled = disable;\n }\n }, {\n key: 'disablePanel',\n value: function disablePanel() {\n var disable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.disableElement({\n element: \"#g3w-sidebarpanel-placeholder\",\n disable: disable\n });\n }\n\n /**\n * collapse any expanded sidebar component \n */\n\n }, {\n key: 'closeSideBar',\n value: function closeSideBar() {\n _application2.default.sidebar.components.forEach(function (c) {\n return c.getOpen() && c.state.closewhenshowviewportcontent && c.collapsible && c.click({ open: false });\n });\n }\n }, {\n key: 'showQueryResults',\n\n\n // show results info/search\n value: function showQueryResults(title, results) {\n var queryresults = this.getComponent('queryresults').getService();\n\n queryresults.clearState();\n\n if (results) {\n queryresults.setQueryResponse(results);\n }\n\n // show contextual content\n this.setContent({\n content: this.getComponent('queryresults'),\n title: \"info.title\",\n crumb: { title: \"info.title\", trigger: null },\n push: this.push_content,\n post_title: title,\n perc: isMobile.any ? 100 : undefined\n });\n\n return queryresults;\n }\n\n /**\n * used by the following plugins: \"stress\" \n */\n\n }, {\n key: 'addNavbarItem',\n value: function addNavbarItem(item) {\n _application2.default.navbaritems.push(item);\n }\n }, {\n key: 'showPanel',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (content) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _application2.default.sidebar.title = content.title;\n _application2.default.sidebar.parent = '#g3w-sidebarpanel-placeholder';\n\n var current = _application2.default.sidebar.contentsdata.at(-1);\n\n if (current) {\n $(current.content.internalPanel.$el).hide();\n }\n\n var options = _extends({ parent: '#g3w-sidebarpanel-placeholder' }, opts);\n var parent = _application2.default.sidebar.parent;\n var data = _application2.default.sidebar.contentsdata;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(parent).append(el);\n data.push({ content: el, options: options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', data.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = data.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(data[id].content.unmount());\n data.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(parent, options.append || false));\n $(parent).localize();\n data.push({ content: content, options: options });\n }\n\n // DOM element\n else {\n parent.appendChild(content);\n data.push({ content: content, options: options });\n }\n });\n\n function showPanel(_x16) {\n return _ref9.apply(this, arguments);\n }\n\n return showPanel;\n }()\n }, {\n key: 'closePanel',\n value: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var data = _application2.default.sidebar.contentsdata;\n if (data.length <= 0) {\n return;\n }\n var panel = data.slice(-1)[0].content;\n if (panel instanceof _g3wComponent2.default || panel instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(panel.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n var content = data.pop();\n content = null;\n var current = _application2.default.sidebar.contentsdata.at(-1);\n if (current) {\n $(current.content.internalPanel.$el).show();\n _application2.default.sidebar.title = current.content.title;\n }\n });\n\n function closePanel() {\n return _ref10.apply(this, arguments);\n }\n\n return closePanel;\n }()\n\n //showusermessage\n\n }, {\n key: 'showUserMessage',\n value: function showUserMessage() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n title = _ref11.title,\n subtitle = _ref11.subtitle,\n message = _ref11.message,\n type = _ref11.type,\n position = _ref11.position,\n size = _ref11.size,\n draggable = _ref11.draggable,\n duration = _ref11.duration,\n _ref11$textMessage = _ref11.textMessage,\n textMessage = _ref11$textMessage === undefined ? false : _ref11$textMessage,\n closable = _ref11.closable,\n autoclose = _ref11.autoclose,\n _ref11$hooks = _ref11.hooks,\n hooks = _ref11$hooks === undefined ? {} : _ref11$hooks,\n _ref11$iconClass = _ref11.iconClass,\n iconClass = _ref11$iconClass === undefined ? null : _ref11$iconClass;\n\n this.closeUserMessage();\n\n setTimeout(function () {\n Object.assign(_application2.default.viewport.usermessage, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n show: true,\n message: message,\n textMessage: textMessage,\n title: title,\n subtitle: subtitle,\n position: position,\n duration: duration,\n type: type,\n size: size,\n autoclose: autoclose,\n closable: closable,\n draggable: draggable,\n hooks: hooks,\n iconClass: iconClass\n });\n });\n\n return _application2.default.viewport.usermessage;\n }\n }, {\n key: 'closeUserMessage',\n value: function closeUserMessage() {\n Object.assign(_application2.default.viewport.usermessage, {\n id: null,\n show: false,\n textMessage: false,\n message: ''\n });\n }\n\n //modal dialog//\n\n }, {\n key: 'showModalDialog',\n value: function showModalDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.dialog.dialog(options);\n }\n }, {\n key: 'showSpinner',\n value: function showSpinner() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var container = options.container || 'body';\n var id = options.id || 'loadspinner';\n var where = options.where || 'prepend'; // append | prepend\n var style = options.style || '';\n var transparent = options.transparent && 'background-color: transparent' || '';\n var center = options.center && 'margin: auto' || '';\n if (!$('#' + id).length) {\n $(container)[where].call($(container), '
');\n }\n }\n }, {\n key: 'hideSpinner',\n value: function hideSpinner() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'loadspinner';\n\n $('#' + id).remove();\n }\n\n /** @since 3.11.0*/\n\n }, {\n key: 'toggleSidebar',\n value: function toggleSidebar() {\n if (document.body.classList.contains('sidebar-open')) {\n this.hideSidebar();\n } else if (document.body.classList.contains('sidebar-collapse') || window.innerWidth <= 767) {\n this.showSidebar();\n } else {\n this.hideSidebar();\n }\n }\n\n /**\n * Toggle set full screen modal\n */\n\n }, {\n key: 'showFullModal',\n value: function showFullModal() {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$element = _ref12.element,\n element = _ref12$element === undefined ? \"#modal-fullscreen\" : _ref12$element,\n _ref12$show = _ref12.show,\n show = _ref12$show === undefined ? true : _ref12$show;\n\n $(element).modal(show ? 'show' : 'hide');\n }\n }, {\n key: 'disableSideBar',\n value: function disableSideBar() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _application2.default.gui.sidebar.disabled = bool;\n }\n\n // (100%) content\n\n }, {\n key: 'showContent',\n value: function showContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.setLoadingContent(false);\n options.perc = isMobile.any ? 100 : options.perc;\n this.setContent(options);\n return true;\n }\n\n // add component to stack (append)\n // Differences between pushContent and setContent are:\n // - push every component is added, set is refreshed\n // - pushContent has a new parameter (backonclose) when is clicked x\n // - the contentComponent is close all stacks are closed\n\n }, {\n key: 'pushContent',\n value: function pushContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n options.perc = isMobile.any ? 100 : options.perc;\n options.push = true;\n this.setContent(options);\n }\n\n //return number of a component of stack\n\n }, {\n key: 'getContentLength',\n value: function getContentLength() {\n return _application2.default.viewport.content.contentsdata.length;\n }\n\n /**\n * change current content options\n * @param opts: { title, crumb, text }\n */\n\n }, {\n key: 'setCurrentContentOptions',\n value: function setCurrentContentOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var content = _application2.default.viewport.content.contentsdata.at(-1) || null;\n if (content && opts.title) {\n content.options.title = opts.title;\n }\n if (content && opts.crumb) {\n content.options.crumb = opts.crumb;\n }\n }\n }, {\n key: 'getCurrentContent',\n value: function getCurrentContent() {\n return _application2.default.viewport.content.contentsdata.at(-1) || null;\n }\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * ORIGINAL SOURCE: src/components/g3w-projectsmenu.js@v3.10.2\n */\n\n }, {\n key: 'getProjectMenuDOM',\n value: function getProjectMenuDOM() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$projects = _ref13.projects,\n projects = _ref13$projects === undefined ? [] : _ref13$projects,\n host = _ref13.host,\n cbk = _ref13.cbk;\n\n var opts = {\n projects: projects && Array.isArray(projects) && projects,\n cbk: cbk,\n host: host\n };\n return new _g3wComponent2.default(_extends({}, opts, {\n id: 'projectsmenu',\n title: opts.title || 'menu',\n internalComponent: new (Vue.extend(require('components/ProjectsMenu.vue')))({\n host: opts.host,\n state: {\n menuitems: (opts.projects || (0, _getListableProjects.getListableProjects)()).map(function (p) {\n return {\n title: p.title,\n description: p.description,\n thumbnail: p.thumbnail,\n gid: p.gid,\n cbk: opts.cbk || function () {\n var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var url = yield GUI.getService('map').addMapExtentUrlParameterToUrl((0, _getProjectUrl.getProjectUrl)(o.gid));\n try {\n history.replaceState(null, null, url);\n } catch (e) {\n console.warn(e);\n }location.replace(url);\n }));\n }\n };\n })\n }\n })\n })).getInternalComponent().$mount().$el;\n }\n }, {\n key: 'toggleUserMessage',\n value: function toggleUserMessage() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._closeUserMessage = bool;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideClientMenu',\n value: function hideClientMenu() {\n window.initConfig.user = null;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideChangeMaps',\n value: function hideChangeMaps() {\n window.initConfig.projects = [];\n }\n }, {\n key: 'setLoadingContent',\n value: function setLoadingContent() {\n var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _application2.default.viewport.content.loading = loading;\n return loading && new Promise(function (resolve) {\n return setTimeout(resolve, 200);\n });\n }\n }, {\n key: 'toggleFullViewContent',\n value: function toggleFullViewContent() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = !rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n this._layoutComponents();\n }\n\n // hide content\n\n }, {\n key: 'hideContent',\n value: function hideContent(bool) {\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n _application2.default.viewport.secondaryVisible = !bool;\n this._layout('hide-content');\n // return previous percentage\n return content_perc;\n }\n }, {\n key: 'closeContent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.emit('closecontent', false);\n\n var state = _application2.default.viewport;\n var open = state.content.contentsdata.length > 0;\n\n // content is open → remove content\n if (open) {\n var contents = this.getComponent('contents');\n contents.setOpen(false);\n _clearContents();\n }\n\n // close secondary view\n if (open && 'map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n if (open) {\n state.secondaryVisible = false;\n this._layout('close-content');\n yield Vue.nextTick();\n }\n\n return this.getComponent('map');\n });\n\n function closeContent() {\n return _ref15.apply(this, arguments);\n }\n\n return closeContent;\n }()\n\n // remove last content from stack\n\n }, {\n key: 'popContent',\n value: function () {\n var _ref16 = _asyncToGenerator(function* () {\n // skip when ..\n if (!_application2.default.viewport.content.contentsdata.length) {\n return Promise.reject();\n }\n\n var data = this.getComponent('contents').contentsdata.at(-2);\n var opts = data.options;\n\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n this._showView('content', data.options);\n\n if (_application2.default.contentsdata.length <= 0) {\n return;\n }\n\n // component exists on stack → remove the last from stack\n var content = _application2.default.contentsdata.slice(-1)[0].content;\n\n if (content instanceof _g3wComponent2.default || content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(content.unmount());\n } else {\n $(this.getComponent('contents').parent).empty();\n }\n\n _application2.default.contentsdata.pop();\n\n Array.from(this.getComponent('contents').internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n _application2.default.viewport.secondaryPerc = data.options.perc;\n\n this._layout('pop-content');\n\n return this.getComponent('contents').contentsdata.at(-1);\n });\n\n function popContent() {\n return _ref16.apply(this, arguments);\n }\n\n return popContent;\n }()\n }, {\n key: 'isSidebarVisible',\n value: function isSidebarVisible() {\n return !document.body.classList.contains('sidebar-collapse');\n }\n }, {\n key: 'setModal',\n value: function setModal() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var message = arguments[1];\n\n var mapService = this.getService('map');\n if (bool) {\n mapService.startDrawGreyCover(message);\n } else {\n mapService.stopDrawGreyCover();\n }\n }\n }, {\n key: 'showSidebar',\n value: function showSidebar() {\n document.body.classList.add('sidebar-open');\n document.body.classList.remove('sidebar-collapse');\n _application2.default.gui.sidebar.open = true;\n }\n }, {\n key: 'hideSidebar',\n value: function hideSidebar() {\n document.body.classList.remove('sidebar-open');\n document.body.classList.add('sidebar-collapse');\n _application2.default.gui.sidebar.open = false;\n }\n }, {\n key: 'getSize',\n value: function getSize(_ref17) {\n var element = _ref17.element,\n what = _ref17.what;\n\n if (element && what) {\n return _application2.default.sizes[element][what];\n }\n }\n\n // manage all layout logic\n // viewName: map or content\n //options. percentage , splitting title etc ..\n\n }, {\n key: '_showView',\n value: function () {\n var _ref18 = _asyncToGenerator(function* (viewName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = _application2.default.viewport;\n\n var _options$perc = options.perc,\n perc = _options$perc === undefined ? viewName == state.primaryView ? 100 : 50 : _options$perc,\n _options$split = options.split,\n split = _options$split === undefined ? 'h' : _options$split;\n\n\n state[viewName].aside = viewName == state.primaryView ? undefined === options.aside ? false : options.aside : true;\n\n //calculate the content\n var secondaryPerc = viewName == state.primaryView ? 100 - perc : perc;\n\n //show Secondary View content only if more than 0\n if (secondaryPerc > 0) {\n state.secondaryVisible = true;\n state.split = undefined !== split ? split : state.split;\n state.secondaryPerc = undefined !== perc ? perc : state.perc;\n this._layout();\n return;\n }\n\n // close secondary view\n if ('map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n state.secondaryVisible = false;\n\n this._layout();\n\n yield Vue.nextTick();\n });\n\n function _showView(_x32) {\n return _ref18.apply(this, arguments);\n }\n\n return _showView;\n }()\n\n /**\n * load components of viewport after right size setting\n * \n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\n\n }, {\n key: '_layoutComponents',\n value: function _layoutComponents() {\n var _this4 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n requestAnimationFrame(function () {\n var reducesdSizes = getReducedSizes();\n var reducedWidth = reducesdSizes.reducedWidth || 0;\n var reducedHeight = reducesdSizes.reducedHeight || 0;\n\n // for each component\n setViewSizes();\n _this4.getService('map').layout({\n width: _application2.default.viewport.map.sizes.width - reducedWidth,\n height: _application2.default.viewport.map.sizes.height - reducedHeight\n });\n\n var parentWidth = _application2.default.viewport.content.sizes.width - reducedWidth;\n\n // Set layout of the content each time\n Vue.nextTick(function () {\n // run only after that vue state is updated\n var el = _this4.getComponent('contents').internalComponent.$el;\n var height = el.parentElement.clientHeight // parent element is \"g3w-view-content\"\n - ((el.parentElement.querySelector('.close-panel-block') || {}).offsetHeight || 0) - ((el.parentElement.querySelector('.content_breadcrumb') || {}).offsetHeight || 0) - 10; // margin 10 from bottom\n el.style.height = height + 'px';\n if (el.firstChild) {\n el.firstChild.style.height = height + 'px';\n }\n _application2.default.contentsdata.forEach(function (d) {\n // re-layout each component stored into the stack\n if ('function' == typeof d.content.layout) {\n d.content.layout(parentWidth + 0.5, height);\n }\n });\n });\n\n if (event) {\n setTimeout(function () {\n _this4.emit(event);\n });\n }\n });\n }\n\n /**\n * main layout function\n */\n\n }, {\n key: '_layout',\n value: function _layout() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var reducesdSizes = getReducedSizes();\n setViewSizes(reducesdSizes.reducedWidth, reducesdSizes.reducedHeight);\n this._layoutComponents(event);\n }\n }]);\n\n return GUI;\n}(_g3wObject2.default))();\n\n},{\"components/ProjectsMenu.vue\":90,\"components/SidebarItem.vue\":107,\"components/g3w-form\":112,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/iframe\":174,\"store/application\":178,\"utils/getListableProjects\":209,\"utils/getProjectUrl\":214,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/toRawType\":242}],174:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/**\n * @param epsg: Number Code of epsg Ex.4326\n * \n * @returns String Normalize epsg: From number ex: 4326 to 'EPSG:4326'\n * \n * @since 3.9.1\n */\nvar _getEpsgFromParam = function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n epsg = (0, _normalizeEpsg.normalizeEpsg)(epsg);\n yield _projections2.default.registerProjection(epsg);\n return epsg;\n });\n\n return function _getEpsgFromParam(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * @example template.html\n * \n * ```html\n * \n * \n * \n * \n * Test Iframe\n * \n * \n * \n * \n * \n * \n * ```\n */\n\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\nvar IframePluginService = function () {\n function IframePluginService() {\n _classCallCheck(this, IframePluginService);\n\n this.pendingactions = {};\n this.getMessage = this.getMessage.bind(this);\n this.eventResponseServiceHandler = this.eventResponseServiceHandler.bind(this);\n }\n\n /**\n * @param { Object } opts\n * @param opts.project current project sends by application service\n */\n\n\n _createClass(IframePluginService, [{\n key: 'init',\n value: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref3.project;\n\n yield _gui2.default.isReady();\n\n this.services = {\n app: new AppService(),\n editing: new EditingService()\n };\n\n // get layer attributes from project layers state\n var layers = project.state.layers.map(function (l) {\n return { id: l.id, name: l.name };\n });\n\n // initialize all services\n var serviceNames = Object.keys(this.services);\n\n for (var i = 0; i < serviceNames.length; i++) {\n var service = this.services[serviceNames[i]];\n // set common layer attribute service just one time\n if (undefined === service.getLayers()) {\n service.setLayers(layers);\n }\n yield service.init();\n service.on('response', this.eventResponseServiceHandler);\n }\n\n // Send post-message is ready\n this.postMessage({\n id: null,\n action: 'app:ready',\n response: { result: true, data: { layers: layers } }\n });\n\n window.addEventListener('message', this.getMessage, false);\n });\n\n function init() {\n return _ref2.apply(this, arguments);\n }\n\n return init;\n }()\n\n // set eventResponse handler to alla services\n\n }, {\n key: 'eventResponseServiceHandler',\n value: function eventResponseServiceHandler(_ref4) {\n var action = _ref4.action,\n response = _ref4.response;\n\n this.postMessage({ id: null, action: action, response: response });\n }\n\n /**\n * Outputplace iframe get by DataRouteService\n * \n * @param dataPromise\n * @param options\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (dataPromise) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var outputData = void 0;\n var _options$action = options.action,\n action = _options$action === undefined ? 'app:results' : _options$action;\n\n var _ref6 = yield dataPromise,\n result = _ref6.result,\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n var parser = new ol.format.GeoJSON();\n try {\n outputData = data.map(function (_ref7) {\n var layer = _ref7.layer,\n features = _ref7.features;\n return _defineProperty({}, layer.getId(), { features: parser.writeFeatures(features) });\n });\n } catch (e) {\n console.warn(e);\n result = false;\n outputData = e;\n }\n\n this.postMessage({\n id: null,\n action: action,\n response: { result: result, data: outputData }\n });\n });\n\n function outputDataPlace(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n\n /**\n * post a message to parent\n */\n\n }, {\n key: 'postMessage',\n value: function postMessage() {\n var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (window.parent) {\n window.parent.postMessage(message, '*');\n }\n }\n }, {\n key: 'stopPendingActions',\n value: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this = this;\n\n var promises = [];\n Object.keys(this.pendingactions).forEach(function (id) {\n promises.push(_this.services[_this.pendingactions[id].context].stop());\n delete _this.pendingactions[id];\n });\n return Promise.allSettled(promises);\n });\n\n function stopPendingActions() {\n return _ref9.apply(this, arguments);\n }\n\n return stopPendingActions;\n }()\n }, {\n key: 'getMessage',\n\n\n /**\n * handle all messages from the window\n */\n value: function () {\n var _ref10 = _asyncToGenerator(function* (evt) {\n if (evt && evt.data) {\n var _evt$data = evt.data,\n _evt$data$id = _evt$data.id,\n id = _evt$data$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _evt$data$id,\n _evt$data$single = _evt$data.single,\n single = _evt$data$single === undefined ? true : _evt$data$single,\n action = _evt$data.action,\n params = _evt$data.data;\n\n var _split = (action || '').split(':'),\n _split2 = _slicedToArray(_split, 2),\n context = _split2[0],\n method = _split2[1];\n\n var result = false;\n var data = void 0;\n try {\n var is_ready = this.services[context].getReady();\n if (is_ready && single) {\n yield this.stopPendingActions();\n }\n if (is_ready) {\n this.pendingactions[id] = { context: context };\n data = yield this.services[context][method](params);\n result = true;\n }\n } catch (e) {\n console.warn(e);\n result = false;\n data = e;\n }\n this.postMessage({\n id: id,\n action: action,\n response: { result: result, data: data }\n });\n delete this.pendingactions[id];\n }\n });\n\n function getMessage(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return getMessage;\n }()\n\n /**\n * Called when change map or clear\n */\n\n }, {\n key: 'clear',\n value: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var serviceNames = Object.keys(this.services);\n for (var i = 0; i < serviceNames.length; i++) {\n this.services[serviceNames[i]].off('response', this.eventResponseServiceHandler);\n }\n yield this.stopPendingActions();\n window.removeEventListener('message', this.getMessage, false);\n });\n\n function clear() {\n return _ref11.apply(this, arguments);\n }\n\n return clear;\n }()\n }]);\n\n return IframePluginService;\n}();\n\n/**\n * ORIGINAL SOURCE: src/app/core/iframe/services/baseservice.js@3.9.0\n */\n\n\nvar BaseIframeService = function (_G3WObject) {\n _inherits(BaseIframeService, _G3WObject);\n\n function BaseIframeService() {\n _classCallCheck(this, BaseIframeService);\n\n /**\n * @type { boolean }\n */\n var _this2 = _possibleConstructorReturn(this, (BaseIframeService.__proto__ || Object.getPrototypeOf(BaseIframeService)).call(this));\n\n _this2.ready = false;\n\n /**\n * Map service\n */\n _this2.mapService = _gui2.default.getService('map');\n\n /**\n * Current project\n */\n _this2.project = _application2.default.project;\n\n /**\n * @type { Array | undefined }\n */\n _this2.layers = undefined;\n\n // common attributes between plugin service\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n _this2.pluginName;\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @since 3.9.1\n */\n _this2.dependencyApi = {};\n\n return _this2;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses\n * \n * @since 3.9.1\n */\n\n\n _createClass(BaseIframeService, [{\n key: 'init',\n value: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$layers = _ref13.layers,\n layers = _ref13$layers === undefined ? {} : _ref13$layers;\n\n this.layers = layers;\n // skip when plugin is not in configuration (ie. added to the application)\n if (!_application2.default.configurationPlugins.includes(this.pluginName)) {\n return;\n }\n var plugin = _plugins2.default.getPlugin(this.pluginName);\n if (plugin) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n } else {\n _plugins2.default.onafter('registerPlugin', function () {\n var _ref14 = _asyncToGenerator(function* (plugin) {\n yield plugin.isReady();\n if (plugin.getName() === _this3.pluginName) {\n _this3.setDependencyApi(plugin.getApi());\n _this3.setReady(true);\n }\n });\n\n return function (_x8) {\n return _ref14.apply(this, arguments);\n };\n }());\n }\n });\n\n function init() {\n return _ref12.apply(this, arguments);\n }\n\n return init;\n }()\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'setDependencyApi',\n value: function setDependencyApi() {\n var api = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.dependencyApi = api;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/iframe/services/plugins/service.js@3.9.0\n * \n * @virtual method need to be implemented by subclasses \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getDependecyApi',\n value: function getDependecyApi() {\n return this.dependencyApi;\n }\n\n /**\n * Return a qgs_layer_id array based on passed qgis_layer_id\n * \n * @param { Object } opts\n * @param { string | string[] | null | undefined } opts.qgs_layer_id\n * @param { Array } noValue\n * \n * @returns { string[] } qgs_layer_id\n * \n * @private\n */\n\n }, {\n key: 'getQgsLayerId',\n value: function getQgsLayerId(_ref15) {\n var qgs_layer_id = _ref15.qgs_layer_id,\n _ref15$noValue = _ref15.noValue,\n noValue = _ref15$noValue === undefined ? this.layers.map(function (l) {\n return l.id;\n }) : _ref15$noValue;\n\n return qgs_layer_id ? [].concat(qgs_layer_id) : noValue;\n }\n }, {\n key: 'searchFeature',\n\n\n /**\n * getFeature from DataProvider\n * \n * @private\n */\n value: function () {\n var _ref17 = _asyncToGenerator(function* (_ref16) {\n var layer = _ref16.layer,\n feature = _ref16.feature;\n var field = feature.field,\n value = feature.value;\n\n var DataRouterService = require('services/data').default;\n\n var _ref18 = yield DataRouterService.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: 'eq' })\n },\n outputs: false\n }),\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? [] : _ref18$data;\n\n return data;\n });\n\n function searchFeature(_x10) {\n return _ref17.apply(this, arguments);\n }\n\n return searchFeature;\n }()\n }, {\n key: 'findFeaturesWithGeometry',\n\n\n /**\n * Search feature(s) by field and value\n * \n * @param { Object } opts\n * @param opts.qgs_layer_id\n * @param opts.feature\n * @param opts.zoom\n * @param opts.highlight\n * \n * @returns { Promise<{ qgs_layer_id: null, features: [], found: boolean }>}\n */\n value: function () {\n var _ref19 = _asyncToGenerator(function* () {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref20.feature,\n _ref20$qgs_layer_id = _ref20.qgs_layer_id,\n qgs_layer_id = _ref20$qgs_layer_id === undefined ? [] : _ref20$qgs_layer_id,\n _ref20$zoom = _ref20.zoom,\n zoom = _ref20$zoom === undefined ? false : _ref20$zoom,\n _ref20$highlight = _ref20.highlight,\n highlight = _ref20$highlight === undefined ? false : _ref20$highlight;\n\n var response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n var layersCount = qgs_layer_id.length;\n var i = 0;\n while (!response.found && i < layersCount) {\n var layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n var data = layer && (yield this.searchFeature({ layer: layer, feature: feature }));\n var features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(function (f) {\n return f.getGeometry();\n });\n if (!features || !response.found) {\n throw 'invalid response';\n }\n response.features = features;\n response.qgs_layer_id = qgs_layer_id[i];\n if (zoom) {\n yield this.mapService.zoomToFeatures(features, { highlight: highlight });\n }\n } catch (e) {\n i++;console.warn(e);\n }\n }\n // in case of no response zoom to an initial extent\n if (!response.found) {\n this.zoomToExtent(this.mapService.project.state.initextent);\n }\n return response;\n });\n\n function findFeaturesWithGeometry() {\n return _ref19.apply(this, arguments);\n }\n\n return findFeaturesWithGeometry;\n }()\n\n /**\n * Set layer function\n * \n * @param layers\n */\n\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.ready = bool;\n }\n }, {\n key: 'getReady',\n value: function getReady() {\n return this.ready;\n }\n\n /**\n * Overwrite single service: Usefult to stop eventually running action\n * \n * @virtual method need to be implemented by subclasses\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stop',\n value: function () {\n var _ref21 = _asyncToGenerator(function* () {});\n\n function stop() {\n return _ref21.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n }]);\n\n return BaseIframeService;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\n\n\nvar AppService = function (_BaseIframeService) {\n _inherits(AppService, _BaseIframeService);\n\n function AppService() {\n _classCallCheck(this, AppService);\n\n var _this4 = _possibleConstructorReturn(this, (AppService.__proto__ || Object.getPrototypeOf(AppService)).call(this));\n\n _this4.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null }\n };\n return _this4;\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n\n\n _createClass(AppService, [{\n key: 'init',\n value: function init() {\n var _this5 = this;\n\n return new Promise(function (resolve) {\n _this5.mapService.once('ready', function () {\n _this5._map = _this5.mapService.getMap();\n _this5._mapCrs = _this5.mapService.getCrs();\n _this5.mapControls.screenshot.control = _this5.mapService.getMapControlByType({ type: 'screenshot' });\n _this5.setReady(true);\n resolve();\n });\n });\n }\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'results',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (_ref22) {\n var _ref22$capture = _ref22.capture,\n capture = _ref22$capture === undefined ? true : _ref22$capture;\n\n _gui2.default.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n });\n\n function results(_x14) {\n return _ref23.apply(this, arguments);\n }\n\n return results;\n }()\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'screenshot',\n value: function () {\n var _ref25 = _asyncToGenerator(function* (_ref24) {\n var _this6 = this;\n\n var _ref24$capture = _ref24.capture,\n capture = _ref24$capture === undefined ? true : _ref24$capture;\n\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(_asyncToGenerator(function* () {\n var response = void 0;\n try {\n response = { result: true, data: yield _this6.mapService.createMapImage() };\n } catch (e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n _this6.emit('response', { response: response, action: 'app:screenshot' });\n }\n }));\n });\n\n function screenshot(_x15) {\n return _ref25.apply(this, arguments);\n }\n\n return screenshot;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getcenter',\n value: function () {\n var _ref27 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(center, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return center;\n });\n\n function getcenter() {\n return _ref27.apply(this, arguments);\n }\n\n return getcenter;\n }()\n\n /**\n * Zoom to coordinates\n * \n * @param { Object } params\n * @param { Array } params.coordinates\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtocoordinates',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$coordinates = params.coordinates,\n coordinates = _params$coordinates === undefined ? [] : _params$coordinates,\n epsg = params.epsg;\n // skip when coordinates in params are null or are an array with more than item 2\n\n if (!(coordinates && Array.isArray(coordinates) && 2 === coordinates.length)) {\n return Promise.reject(coordinates);\n }\n if (undefined !== epsg) {\n // normalized psg code\n epsg = yield _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n });\n\n function zoomtocoordinates() {\n return _ref28.apply(this, arguments);\n }\n\n return zoomtocoordinates;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getextent',\n value: function () {\n var _ref29 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(extent, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return extent;\n });\n\n function getextent() {\n return _ref29.apply(this, arguments);\n }\n\n return getextent;\n }()\n\n /**\n * @param { Object } params\n * @param { Array } params.extent\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtoextent',\n value: function () {\n var _ref30 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$extent = params.extent,\n extent = _params$extent === undefined ? [] : _params$extent,\n epsg = params.epsg;\n // skip when an extent is null ora an array with number of ites not equal to 4\n\n if (!(extent && Array.isArray(extent) && 4 === extent.length)) {\n return Promise.reject(extent);\n }\n /** If epsg is provide, get epsg definition */\n if (undefined !== epsg) {\n epsg = _getEpsgFromParam(epsg);\n extent = ol.proj.transformExtent(extent, epsg, this.mapService.getEpsg());\n } else {\n this.mapService.goToBBox(extent);\n }\n return extent;\n });\n\n function zoomtoextent() {\n return _ref30.apply(this, arguments);\n }\n\n return zoomtoextent;\n }()\n }, {\n key: 'zoomtofeature',\n\n\n /**\n * Zoom to features\n * \n * @param { Object } params\n * @param params.qgs_layer_id\n * @param params.feature\n * @param { boolean } params.highlight \n * \n * @returns { Promise } qgs_layer_id\n */\n value: function () {\n var _ref31 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var qgs_layer_id = params.qgs_layer_id,\n feature = params.feature,\n _params$highlight = params.highlight,\n highlight = _params$highlight === undefined ? false : _params$highlight;\n\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id: qgs_layer_id });\n\n var response = yield this.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: highlight\n });\n\n return response.qgs_layer_id;\n });\n\n function zoomtofeature() {\n return _ref31.apply(this, arguments);\n }\n\n return zoomtofeature;\n }()\n }]);\n\n return AppService;\n}(BaseIframeService);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\n\n\nvar EditingService = function (_BaseIframeService2) {\n _inherits(EditingService, _BaseIframeService2);\n\n function EditingService() {\n _classCallCheck(this, EditingService);\n\n var _this7 = _possibleConstructorReturn(this, (EditingService.__proto__ || Object.getPrototypeOf(EditingService)).call(this));\n\n _this7.pluginName = 'editing';\n\n _this7.subscribevents = [];\n\n _this7.isRunning = false;\n\n _this7.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n\n _this7.config = {\n tools: {\n add: {\n disabled: [{ id: 'deletefeature' }, { id: 'copyfeatures' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n update: {\n disabled: [{ id: 'addfeature' }, { id: 'copyfeatures' }, { id: 'deletefeature' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n delete: {\n enabled: [{ id: 'deletefeature', options: { active: true } }]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n _this7.subscribersHandlers = {\n\n canUndo: function canUndo(_ref32) {\n var activeTool = _ref32.activeTool,\n _ref32$disableToolbox = _ref32.disableToolboxes,\n disableToolboxes = _ref32$disableToolbox === undefined ? [] : _ref32$disableToolbox;\n return function (bool) {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n _this7.responseObject.qgs_layer_id = null;\n _this7.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(function (toolbox) {\n return toolbox.setEditing(!bool);\n });\n };\n },\n\n canRedo: function canRedo() {},\n\n //run callback\n cancelform: function cancelform(cb) {\n return function () {\n cb();\n };\n },\n\n addfeature: function addfeature() {\n var _ref33 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n properties = _ref33.properties,\n toolboxes = _ref33.toolboxes;\n\n return function (feature) {\n\n Object.keys(properties).forEach(function (p) {\n return feature.set(p, properties[p]);\n });\n\n var activeTool = void 0;\n var disableToolboxes = [];\n\n toolboxes.forEach(function (t) {\n var tool = t.getToolById('addfeature');\n if (tool.isActive()) {\n tool.setEnabled(false);\n activeTool = tool;\n } else {\n t.setEditing(false);\n disableToolboxes.push(t);\n }\n });\n\n // just one time\n if (_this7.subscribevents.find(function (e) {\n return 'canUndo' !== e.event;\n })) {\n _this7.addSubscribeEvents('cancelform', _this7.addSubscribeEvents('canUndo', { activeTool: activeTool, disableToolboxes: disableToolboxes }));\n }\n };\n },\n\n closeeditingpanel: function closeeditingpanel(_ref34) {\n var qgs_layer_id = _ref34.qgs_layer_id;\n return function () {\n // response to router service\n _this7.responseObject.cb({\n qgs_layer_id: _this7.responseObject.qgs_layer_id,\n error: _this7.responseObject.error\n });\n // stop action\n _this7.stopAction({ qgs_layer_id: qgs_layer_id });\n };\n }\n\n };\n\n return _this7;\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n\n\n _createClass(EditingService, [{\n key: 'startAction',\n value: function () {\n var _ref36 = _asyncToGenerator(function* (_ref35) {\n var _this8 = this;\n\n var toolboxes = _ref35.toolboxes,\n resolve = _ref35.resolve,\n reject = _ref35.reject;\n\n\n this.responseObject.cb = reject;\n\n // set same mode autosave\n this.dependencyApi.setSaveConfig({\n cb: {\n // called when commit changes are done successuffly\n done: function done(toolbox) {\n //set toolbox id\n _this8.responseObject.cb = resolve;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = null;\n // close panel that fire closeediting panel event\n _this8.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: function error(toolbox, _error) {\n _this8.responseObject.cb = reject;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = _error;\n }\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes: toolboxes });\n\n this.isRunning = true;\n });\n\n function startAction(_x22) {\n return _ref36.apply(this, arguments);\n }\n\n return startAction;\n }()\n\n /**\n * run after each action\n */\n\n }, {\n key: 'stopAction',\n value: function () {\n var _ref37 = _asyncToGenerator(function* () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (opts.qgs_layer_id) {\n yield this.stopEditing(opts.qgs_layer_id);\n }\n });\n\n function stopAction() {\n return _ref37.apply(this, arguments);\n }\n\n return stopAction;\n }()\n\n /**\n * add subscribe refenrence\n */\n\n }, {\n key: 'addSubscribeEvents',\n value: function addSubscribeEvents(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event: event, handler: handler });\n return handler;\n }\n }, {\n key: 'resetSubscribeEvents',\n\n\n /**\n * Reset subscriber editing plugin events\n */\n value: function resetSubscribeEvents() {\n var _this9 = this;\n\n this.subscribevents.forEach(function (d) {\n _this9.dependencyApi.unsubscribe(d.event, d.handler);\n });\n }\n }, {\n key: 'add',\n\n\n /**\n * Called whe we want to add a feature\n * \n * @param { Object } config\n * @param config.qgs_layer_id\n * @param config.properties\n * \n * @returns { Promise }\n */\n value: function add() {\n var _this10 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref38 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this10.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var properties = data.properties;\n\n\n var qgs_layer_id = _this10.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this10.dependencyApi.getEditableLayersId()\n });\n\n // call method common\n yield _this10.startAction({ toolboxes: qgs_layer_id, resolve: resolve, reject: reject });\n\n // return all toolboxes\n var toolboxes = (yield _this10.startEditing(qgs_layer_id, {\n tools: _this10.config.tools.add,\n startstopediting: false,\n action: 'add',\n selected: 1 === qgs_layer_id.length\n })).filter(function (p) {\n return 'fulfilled' === p.status;\n }).map(function (p) {\n return p.value;\n });\n\n /** @FIXME add description */\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n /** @FIXME add description */\n if (1 === toolboxes.length && toolboxes[0]) {\n toolboxes[0].setActiveTool(toolboxes[0].getToolById('addfeature'));\n }\n\n // in case of no feature add avent subscribe\n _this10.addSubscribeEvents('addfeature', { properties: properties, toolboxes: toolboxes });\n _this10.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: qgs_layer_id });\n });\n\n return function (_x26, _x27) {\n return _ref38.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Called when we want to update a know feature field\n * \n * @param config\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'update',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _this11 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this11.isRunning) {\n return reject();\n }\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var feature = data.feature;\n\n var qgs_layer_id = _this11.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this11.dependencyApi.getEditableLayersId()\n });\n\n var response = yield _this11.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: true,\n selected: 1 === qgs_layer_id.length // set selected toolbox\n });\n\n // skip when ..\n if (!response.found) {\n return reject();\n }\n\n yield _this11.startAction({ toolboxes: [response.qgs_layer_id], resolve: resolve, reject: reject });\n\n // return all toolboxes\n yield _this11.startEditing([response.qgs_layer_id], {\n feature: feature,\n tools: _this11.config.tools.update,\n startstopediting: false,\n action: 'update'\n });\n\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n _this11.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n\n return function (_x29, _x30) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function update() {\n return _ref39.apply(this, arguments);\n }\n\n return update;\n }()\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n\n }, {\n key: 'delete',\n value: function _delete() {}\n\n /**\n * Called when we want to start editing\n * \n * @param { Array } qgs_layer_id\n * @param { Object } options\n * \n * @returns { Promise< unknown | void > }\n */\n\n }, {\n key: 'startEditing',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n var _this12 = this;\n\n var qgs_layer_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$action2 = options.action,\n action = _options$action2 === undefined ? 'add' : _options$action2,\n feature = options.feature;\n\n var filter = {};\n options.filter = filter;\n switch (action) {\n case 'add':\n filter.nofeatures = true;break;\n case 'update':\n filter.field = feature.field + '|eq|' + feature.value;break;\n }\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this12.dependencyApi.startEditing(id, options));\n });\n return yield Promise.allSettled(promises);\n });\n\n function startEditing() {\n return _ref41.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (qgs_layer_id) {\n var _this13 = this;\n\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this13.dependencyApi.stopEditing(id));\n });\n yield Promise.allSettled(promises);\n this.clear();\n });\n\n function stopEditing(_x33) {\n return _ref42.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n }, {\n key: 'stop',\n value: function stop() {\n var _this14 = this;\n\n return new Promise(function (resolve) {\n _this14.dependencyApi.hidePanel();\n _gui2.default.hideSidebar();\n _this14.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.dependencyApi.resetDefault();\n this.isRunning = false;\n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n this.resetSubscribeEvents();\n this.emit('clear');\n }\n }]);\n\n return EditingService;\n}(BaseIframeService);\n\nexports.default = new IframePluginService();\n\n},{\"g3w-object\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createSingleFieldParameter\":196,\"utils/getUniqueDomId\":217,\"utils/normalizeEpsg\":228}],175:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * @file ORIGINAL SOURCE: src/app/gui/map/mapservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _localforage = require('localforage');\n\nvar _localforage2 = _interopRequireDefault(_localforage);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _createSelectedStyle = require('utils/createSelectedStyle');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _throttle = require('utils/throttle');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _queryby = require('map/controls/queryby');\n\nvar _geolocationcontrol = require('map/controls/geolocationcontrol');\n\nvar _streetviewcontrol = require('map/controls/streetviewcontrol');\n\nvar _scalecontrol = require('map/controls/scalecontrol');\n\nvar _screenshotcontrol = require('map/controls/screenshotcontrol');\n\nvar _measurecontrol = require('map/controls/measurecontrol');\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _MapControlZoomHistory = require('components/MapControlZoomHistory.vue');\n\nvar _MapControlZoomHistory2 = _interopRequireDefault(_MapControlZoomHistory);\n\nvar _MapControlGeocoding = require('components/MapControlGeocoding.vue');\n\nvar _MapControlGeocoding2 = _interopRequireDefault(_MapControlGeocoding);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getProject = require('utils/getProject');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Open Layers controls (zoom, streetrview, screnshoot, ruler, ...)\n */\nvar MAP = {\n maxZoom: 1000,\n controls: {},\n offlineids: [],\n selectedLayer: null,\n stores: {},\n externalLayers: [],\n animatingHighlight: false,\n layers: Object.assign(new _g3wObject2.default({ setters: {\n addLayersStore: function addLayersStore(store) {\n MAP.stores[store.getId()] = store;\n },\n removeLayersStore: function removeLayersStore(store) {\n if (store) {\n delete MAP.layers.stores[store.getId()];\n }\n }\n } }), {\n getLayerById: function getLayerById(id) {\n return Object.values(MAP.stores).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n },\n getLayers: function getLayers(filter) {\n return Object.values(MAP.stores).flatMap(function (s) {\n return s.getLayers(filter);\n });\n },\n getQuerableLayersStores: function getQuerableLayersStores() {\n return Object.values(MAP.stores).filter(function (s) {\n return s.isQueryable();\n });\n },\n getLayersStore: function getLayersStore(id) {\n return MAP.stores[id];\n },\n getLayersStores: function getLayersStores() {\n return Object.values(MAP.stores);\n }\n })\n};\n\n/**\n * Controls factory\n */\nvar CONTROLS = {\n 'zoomtoextent': function zoomtoextent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ZoomToExtent(opts) }));\n },\n 'zoom': function zoom() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.Zoom(opts) }));\n },\n 'scaleline': function scaleline() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ScaleLine(opts) }));\n },\n 'overview': function overview() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.OverviewMap(opts) }));\n },\n /** @since 3.8.0 */\n 'zoomhistory': function zoomhistory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlZoomHistory2.default))().$mount().$el, tipLabel: \"sdk.mapcontrols.addlayer.tooltip\" });\n },\n 'geocoding': function geocoding() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlGeocoding2.default))({ propsData: opts.config }).$mount().$el, offline: false });\n }, // pass configuration from server\n 'zoombox': function zoombox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n name: 'zoombox',\n tipLabel: 'Zoom to box',\n label: '\\uE901',\n interactionClass: ol.interaction.DragBox,\n cursorClass: 'ol-crosshair',\n onSetMap: function onSetMap(_ref) {\n var _this = this;\n\n var setter = _ref.setter,\n map = _ref.map;\n\n if ('after' === setter) {\n // zoom box\n this._startCoordinate = null;\n this._interaction.on('boxstart', function (e) {\n return _this._startCoordinate = e.coordinate;\n });\n this._interaction.on('boxend', function (e) {\n _this.dispatchEvent({ type: 'zoomend', extent: ol.extent.boundingExtent([_this._startCoordinate, e.coordinate]) });\n _this._startCoordinate = null;\n if (_this._autountoggle) {\n _this.toggle();\n }\n });\n }\n }\n }));\n },\n 'query': function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n offline: false,\n name: \"query\",\n tipLabel: \"sdk.mapcontrols.query.tooltip\",\n label: opts.label || '\\uEA0F',\n clickmap: true,\n interactionClass: _pickcoordinatesinteraction2.default,\n cursorClass: 'ol-help',\n onSetMap: function onSetMap(_ref2) {\n var _this2 = this;\n\n var map = _ref2.map,\n setter = _ref2.setter;\n\n this.runQuery = this.runQuery || function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var coordinates = _ref3.coordinates;\n\n _gui2.default.closeSideBar();\n try {\n var project = _application2.default.project;\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n feature_count: project.state.feature_count || 5,\n query_point_tolerance: project.getQueryPointTolerance(),\n multilayers: [].concat(project.state.querymultilayers).includes(_this2.name)\n }\n });\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n return function (_x9) {\n return _ref4.apply(this, arguments);\n };\n }();\n if ('before' === setter) {\n var key = null;\n this.on('toggled', function (_ref5) {\n var toggled = _ref5.toggled;\n\n if (true !== toggled) {\n ol.Observable.unByKey(key);\n key = null;\n } else if (null === key && map) {\n key = _this2.getInteraction().on('picked', (0, _throttle.throttle)(function (e) {\n return _this2.runQuery({ coordinates: e.coordinate });\n }));\n }\n });\n this.setEventKey({ eventType: 'picked', eventKey: this.on('picked', this.runQuery) });\n }\n }\n }));\n },\n 'queryby': _queryby.QueryBy,\n 'geolocation': _geolocationcontrol.GeolocationControl,\n 'streetview': _streetviewcontrol.StreetViewControl,\n 'addlayers': function addlayers() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { tipLabel: \"sdk.mapcontrols.addlayer.tooltip\", label: '\\uE907', name: 'addlayer', onSetMap: function onSetMap(e) {\n var _this3 = this;\n\n if ('after' === e.setter) $(this.element).on('click', function () {\n return _this3.dispatchEvent('addlayer');\n });\n }\n }));\n },\n 'measure': _measurecontrol.MeasureControl,\n 'mouseposition': function mouseposition() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.assign(new ol.control.MousePosition(_extends({}, opts, { target: opts.target || 'mouse-position-control' })), { offline: true });\n },\n 'scale': _scalecontrol.ScaleControl,\n 'onclick': _interactioncontrol2.default,\n 'screenshot': _screenshotcontrol.ScreenshotControl\n};\n\n/**\n * BACKCOMP v3.x\n */\nCONTROLS['nominatim'] = CONTROLS['geocoding'];\nCONTROLS['ontoggle'] = CONTROLS['onclick'];\nCONTROLS['area'] = CONTROLS['measure'];\nCONTROLS['length'] = CONTROLS['measure'];\nCONTROLS['geoscreenshot'] = CONTROLS['screenshot'];\nCONTROLS['querybbox'] = CONTROLS['queryby'];\nCONTROLS['querybycircle'] = CONTROLS['queryby'];\nCONTROLS['querybydrawpolygon'] = CONTROLS['queryby'];\nCONTROLS['querybypolygon'] = CONTROLS['queryby'];\n\nvar MapService = function (_G3WObject) {\n _inherits(MapService, _G3WObject);\n\n function MapService() {\n _classCallCheck(this, MapService);\n\n var _this4 = _possibleConstructorReturn(this, (MapService.__proto__ || Object.getPrototypeOf(MapService)).call(this));\n\n _this4.state = {\n mapUnits: 'm',\n bbox: [],\n hidemaps: [],\n resolution: null,\n center: null,\n loading: false,\n hidden: true,\n scale: 0,\n map_info: { info: null, style: null },\n mapunits: ['metric']\n };\n\n /**\n * internal promise. Resolved when view is set\n *\n * @since 3.8.3\n */\n _this4._ready = new Promise(function (res) {\n return _this4.once('viewerset', res);\n });\n\n _this4.viewer = null;\n\n _this4.target = 'map';\n\n _this4.layersCount = 0; // useful to set Zindex to layer order on map\n\n _this4.project = _application2.default.project;\n\n _this4._controls = [];\n\n _this4._layers = {\n base: {},\n g3w: [],\n external_wms: [],\n external_vector: [],\n external: []\n };\n\n /**\n * Store interactions added by plugin or external application\n */\n _this4._externalInteractions = [];\n\n /**\n * Default layers are OL layers that are add to map by default.\n * Are used to show selection Features and/or highlight Layer feature\n */\n _this4.defaultsLayers = {\n\n mapcenter: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/mapcentermarker.svg',\n scale: 0.8\n })\n })\n }),\n\n _style: {\n highlightLayer: { color: undefined },\n selectionLayer: { color: 'red' }\n },\n\n highlightLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.highlightLayer.color,\n fill: true\n })];\n }\n }),\n\n selectionLayer: new ol.layer.Vector({\n source: new ol.source.Vector()\n })\n\n };\n\n _this4.layersExtraParams = {};\n\n _this4._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null,\n listener: null\n };\n\n _this4.config = window.initConfig;\n\n _this4._howManyAreLoading = 0;\n\n _this4._marker = null;\n\n _this4.onLayerLoadStart = _this4.onLayerLoadStart.bind(_this4);\n _this4.onLayerLoadEnd = _this4.onLayerLoadEnd.bind(_this4);\n _this4.onLayerLoadError = _this4.onLayerLoadError.bind(_this4);\n _this4.onExtraParamsSet = _this4.onExtraParamsSet.bind(_this4);\n _this4.updateMapLayers = _this4.updateMapLayers.bind(_this4);\n\n _this4._keyEvents = {\n ol: [],\n stores: [], // layers stores\n unwatches: []\n };\n\n _this4.project.onafter('setBaseLayer', _this4.updateMapLayers), // base layer\n\n _this4.debounces = {\n setupCustomMapParamsToLegendUrl: {\n fnc: function fnc() {\n _this4._setupCustomMapParamsToLegendUrl.apply(_this4, arguments);\n },\n delay: 1000\n }\n };\n\n _this4.setters = {\n setupControls: function setupControls() {\n var _this5 = this;\n\n var _config = this.config,\n header_terms_of_use_text = _config.header_terms_of_use_text,\n header_terms_of_use_link = _config.header_terms_of_use_link;\n\n // set layers attribution\n\n var attribution = header_terms_of_use_text ? header_terms_of_use_link ? '' + header_terms_of_use_text + '' : '' + header_terms_of_use_text + '' : false;\n\n this.getMapLayers().forEach(function (l) {\n return l.getSource().setAttributions(attribution);\n });\n\n // check if a base layer is set. If true, add attribution control\n if (attribution || (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true }).length) {\n this.getMap().addControl(new ol.control.Attribution({ collapsible: false, target: 'map_footer_left' }));\n }\n\n // skip when no controls\n if (!this.config || !this.config.mapcontrols) {\n return;\n }\n\n // BACKCOMP (g3w-admin < v3.7.0)\n var mapcontrols = Array.isArray(this.config.mapcontrols) ? this.config.mapcontrols.reduce(function (a, v) {\n a[v] = {};return a;\n }, {}) // convert `initConfig.mapcontrols` from an array of strings to a key-value config Object (eg. [\"geocoding\"] --> \"geocoding\" = {})\n : this.config.mapcontrols;\n\n Object.entries(mapcontrols).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n type = _ref7[0],\n _ref7$ = _ref7[1],\n config = _ref7$ === undefined ? {} : _ref7$;\n\n switch (type) {\n case 'zoom':\n _this5.createMapControl(type);\n break;\n\n case 'zoombox':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('zoomend', function (e) {\n return _this5.viewer.fit(e.extent);\n });\n }\n break;\n\n case 'zoomtoextent':\n _this5.createMapControl(type, {\n options: {\n label: '\\uE98C',\n extent: _this5.project.state.initextent\n }\n });\n break;\n\n case 'mouseposition':\n if (!isMobile.any) {\n // @since 3.8.\n var degrees = 'degrees' === _this5.getProjection().getUnits();\n var mapEpsg = _this5.getEpsg();\n var coordinateFormat = function coordinateFormat(epsg, coords) {\n if ('EPSG:4326' === epsg) {\n return ol.coordinate.format(ol.proj.transform(coords, mapEpsg, 'EPSG:4326'), '\\xA0Lng: {x}, Lat: {y}\\xA0\\xA0 [EPSG:4326]\\xA0', 4);\n }\n return ol.coordinate.format(coords, '\\xA0' + (degrees ? 'Lng' : 'X') + ': {x}, ' + (degrees ? 'Lat' : 'Y') + ': {y}\\xA0\\xA0 [' + epsg + ']\\xA0', degrees ? 4 : 2);\n };\n var control = _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: coordinateFormat.bind(null, mapEpsg),\n undefinedHTML: false,\n projection: _this5.getCrs()\n }\n });\n if ('EPSG:4326' !== mapEpsg) {\n control.on('change:epsg', function (e) {\n return control.setCoordinateFormat(coordinateFormat.bind(null, e.epsg));\n });\n }\n }\n break;\n\n case 'screenshot':\n case 'geoscreenshot':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('screenshot')) {\n _this5.getMapControlByType('screenshot').addType(type);\n } else {\n _this5.createMapControl('screenshot', {\n options: {\n types: [type],\n layers: [].concat(_toConsumableArray(MAP.layers.getLayers()), _toConsumableArray(_this5._layers.external))\n }\n });\n }\n }\n break;\n\n case 'scale':\n _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: ol.coordinate.createStringXY(4),\n projection: _this5.getCrs(),\n isMobile: isMobile.any\n }\n });\n break;\n\n case 'query':\n _this5.createMapControl(type, {\n add: true,\n toggled: true\n });\n break;\n\n case 'querybypolygon':\n case 'querybbox':\n case 'querybycircle':\n case 'querybydrawpolygon':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('queryby')) {\n _this5.getMapControlByType('queryby').addType(type);\n } else {\n _this5.createMapControl('queryby', {\n options: {\n types: [type]\n }\n });\n }\n }\n break;\n\n case 'streetview':\n _this5.createMapControl(type, {});\n break;\n\n case 'scaleline':\n _this5.createMapControl(type, {\n add: false,\n options: {\n position: 'br'\n }\n });\n break;\n\n case 'overview':\n if (!isMobile.any && window.initConfig.overviewproject) {\n (0, _getProject.getProject)(window.initConfig.overviewproject).then(function (project) {\n //create a view for overview map\n var map = _this5.getMap();\n var view = new ol.View(_this5._calculateViewOptions({ project: project, width: 200, height: 150 })); // at moment hardcoded\n view.on('change:center', function () {\n var current = view.getCenter();\n var center = map.getView().constrainCenter(current);\n if (center[0] !== current[0] || center[1] !== current[1]) {\n view.setCenter(center);\n }\n });\n _this5.createMapControl(type, {\n add: false,\n options: {\n view: view,\n position: 'bl',\n collapsed: false,\n className: 'ol-overviewmap ol-custom-overviewmap',\n collapseLabel: $('')[0],\n label: $('')[0],\n layers: Object.entries(\n //group layer by multilayerId\n project.getLayersStore().getLayers({ GEOLAYER: true, BASELAYER: false }).reduce(function (group, l) {\n var id = l.getMultiLayerId();\n group[id] = group[id] || [];\n group[id].push(l);\n return group;\n }, {}) || []).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n id = _ref9[0],\n layers = _ref9[1];\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var mapLayer = new RasterLayer({\n url: project.state.WMSUrl,\n id: 'overview_layer_' + id,\n tiled: layers[0].state.tiled\n });\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n return mapLayer.getOLLayer(true);\n }).reverse()\n }\n });\n /** @since 3.10.0 Move another bottom left map controls bottom to a left of overview control**/\n document.querySelector('.g3w-map-controls-left-bottom').style.left = '230px';\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n document.querySelector('.g3w-map-controls-left-bottom').style.left = mutation.target.classList.contains('ol-collapsed') ? '50px' : '230px';\n }\n });\n });\n observer.observe(document.querySelector('.ol-custom-overviewmap'), { attributes: true });\n }).catch(function (e) {\n return console.warn(e);\n });\n }\n break;\n\n case 'geocoding':\n case 'nominatim':\n _this5.createMapControl(type, {\n add: false,\n options: { config: config }\n });\n break;\n\n case 'geolocation':\n _this5.createMapControl(type).on('click', (0, _throttle.throttle)(function (e) {\n return _this5.showMarker(e.coordinates);\n }));\n break;\n\n case 'addlayers':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('addlayer', function () {\n return _this5.showAddLayerModal();\n });\n }\n break;\n\n case 'length':\n case 'area':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('measure')) {\n _this5.getMapControlByType('measure').addType(type);\n } else {\n _this5.createMapControl('measure', {\n options: {\n name: \"measure\",\n tipLabel: 'sdk.mapcontrols.measures.title',\n types: [type],\n interactionClassOptions: {\n projection: _this5.getProjection(),\n help: 'sdk.mapcontrols.measures.' + type + '.help'\n }\n }\n });\n }\n }\n break;\n\n /**\n * @since 3.8.0\n */\n case 'zoomhistory':\n $('.g3w-map-controls-left-bottom').append(_this5.createMapControl(type, { add: false }).element);\n break;\n\n }\n });\n return this.getMapControls();\n },\n addHideMap: function addHideMap() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$switchable = _ref10.switchable,\n switchable = _ref10$switchable === undefined ? false : _ref10$switchable;\n\n var idMap = {\n id: 'hidemap_' + Date.now(),\n map: null,\n switchable: switchable\n };\n this.state.hidemaps.push(idMap);\n return idMap;\n },\n setHidden: function setHidden(bool) {\n this.state.hidden = bool;\n },\n\n\n /** Set view based on project config */\n setupViewer: function () {\n var _ref11 = _asyncToGenerator(function* (width, height) {\n var _this6 = this;\n\n if (0 === width || 0 === height) {\n console.warn('[G3W-CLIENT] map was hidden during bootstrap');\n return;\n }\n\n var search = new URLSearchParams(location.search); // search params\n\n var showmarker = 1 * (search.get('showmarker') || 0); /** @since 3.10.0 0 or 1. Show marker on map center*/\n var iframetype = search.get('iframetype'); /** @since 3.10.0 type of iframe: map (only map, no control)*/\n var zoom_to_fid = search.get('zoom_to_fid');\n var zoom_to_features = search.get('ztf'); // zoom to features\n var coords = {\n lat: parseFloat(search.get('lat')),\n lon: parseFloat(search.get('lon')),\n x: parseFloat(search.get('x')),\n y: parseFloat(search.get('y'))\n };\n\n if (this.viewer) {\n this.viewer.destroy();\n }\n\n var olMap = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false, rotateOptions: { autoHide: true, tipLabel: \"Reset rotation (CTRL+DRAG to rotate)\" } }),\n interactions: ol.interaction.defaults().extend([new ol.interaction.DragRotate({ condition: ol.events.condition.platformModifierKeyOnly })]),\n ol3Logo: false,\n keyboardEventTarget: document,\n target: this.target,\n view: new ol.View(this._calculateViewOptions({\n width: width,\n height: height,\n project: this.project,\n map_extent: search.get('map_extent') /** @since 3.10.0 */\n }))\n });\n\n this.viewer = {\n map: olMap,\n getMap: function getMap() {\n return _this6.viewer.map;\n },\n getView: function getView() {\n return _this6.viewer.map.getView();\n },\n getZoom: function getZoom() {\n return _this6.viewer.map.getView().getZoom();\n },\n getResolution: function getResolution() {\n return _this6.viewer.map.getView().getResolution();\n },\n getCenter: function getCenter() {\n return _this6.viewer.map.getView().getCenter();\n },\n destroy: function destroy() {\n if (_this6.viewer.map) {\n _this6.viewer.map.dispose();_this6.viewer.map = null;\n }\n },\n zoomTo: this.zoomTo.bind(this),\n goTo: this.goTo.bind(this),\n fit: this._fit.bind(this),\n /** @TODO check if deprecated */\n changeBaseLayer: function changeBaseLayer(name) {\n return _this6.map.getLayers().insertAt(0, _this6.map.getLayers().find(function (l) {\n return name === l.get('name');\n }));\n }\n };\n\n var map = this.viewer.getMap();\n\n // disable douclickzoom\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(false);\n\n // visual click (sonar effect)\n map.on('click', function (_ref12) {\n var coordinate = _ref12.coordinate;\n\n var circle = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [new ol.Feature({ geometry: new ol.geom.Point(coordinate) })] }),\n style: new ol.style.Style()\n });\n var start = +new Date();\n var duration = 1700;\n var interval = circle.on('postcompose', function (_ref13) {\n var frameState = _ref13.frameState;\n\n var elapsed = frameState.time - start;\n var ratio = ol.easing.easeOut(elapsed / duration);\n circle.setStyle(new ol.style.Style({\n image: new ol.style.Circle({\n radius: 40 * ratio, // start = 0, end = 40\n fill: new ol.style.Fill({ color: [225, 227, 228, .1] }),\n stroke: new ol.style.Stroke({ color: [225, 227, 228, 1], width: 1.85 * (1 - ratio) }) // start = 1.85, end = 0\n })\n }));\n if (elapsed > duration) {\n map.removeLayer(circle);\n ol.Observable.unByKey(interval); // stop the effect\n }\n });\n map.addLayer(circle);\n });\n\n var currentControl = void 0;\n var can_drag = false;\n\n // set mouse cursor (dragging)\n new Vue().$watch(function () {\n return [_this6.getCurrentToggledMapControl(), _plugins2.default.getPlugin('editing') && _plugins2.default.getPlugin('editing').getActiveTool()];\n }, function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n control = _ref15[0],\n activeTool = _ref15[1];\n\n currentControl = control;\n can_drag = !control && !activeTool;\n map.getViewport().classList.toggle('ol-grab', can_drag);\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(can_drag);\n });\n map.on(['pointerdrag', 'pointerup'], function (e) {\n /** @TODO disable default interaction \"shift+zoom\" ? */\n map.getViewport().classList.toggle('ol-grabbing', e.type == 'pointerdrag' && (!currentControl || !(currentControl.getInteraction() instanceof ol.interaction.DragBox)));\n map.getViewport().classList.toggle('ol-grab', e.type == 'pointerup' && can_drag);\n });\n\n var geom = void 0;\n if (zoom_to_fid) {\n yield this.zoomToFid(zoom_to_fid);\n } else if (zoom_to_features) {\n yield this.zoomToFeaturesUrl(zoom_to_features);\n } else if (!isNaN(coords.lat) && !isNaN(coords.lon)) {\n geom = new ol.geom.Point(ol.proj.transform([coords.lon, coords.lat], 'EPSG:4326', this.getEpsg()));\n } else if (!isNaN(coords.x) && !isNaN(coords.y)) {\n geom = new ol.geom.Point([coords.x, coords.y]);\n }\n\n if (geom && geom.getExtent()) {\n yield this.zoomToGeometry(geom);\n }\n\n // show marker on map center\n if (1 === showmarker) {\n this.defaultsLayers.mapcenter.getSource().addFeature(new ol.Feature({ geometry: new ol.geom.Point(this.getCenter()) }));\n }\n\n // iframe → hide map controls (empty object)\n if ('map' === iframetype) {\n this.config.mapcontrols = {};\n }\n\n // update max scale\n MAP.maxZoom = Math.min((0, _getScaleFromResolution.getScaleFromResolution)(this.getMap().getView().getResolutionForExtent(this.project.state.initextent, this.getMap().getSize()), this.getMapUnits()), MAP.maxZoom);\n\n this.state.size = this.viewer.map.getSize();\n this.state.mapUnits = this.viewer.map.getView().getProjection().getUnits();\n\n if (this.config.background_color) {\n $('#' + this.target).css('background-color', this.config.background_color);\n }\n\n $(this.viewer.map.getViewport()).prepend('
');\n\n this.viewer.map.getInteractions().forEach(function (int) {\n return _this6._watchInteraction(int);\n });\n this.viewer.map.getInteractions().on('add', function (int) {\n return _this6._watchInteraction(int.element);\n });\n\n this._marker = new ol.Overlay({\n position: null,\n positioning: 'center-center',\n element: document.getElementById('marker'),\n stopEvent: false\n });\n\n this.viewer.map.addOverlay(this._marker);\n\n // keep default layers above others\n this.viewer.map.getLayers().on('add', function (e) {\n var zindex = _this6.setLayerZIndex({\n layer: e.element,\n zindex: e.element.get('basemap') || 'bottom' === e.element.get('position') ? 0 : undefined\n });\n if (_this6.defaultsLayers.mapcenter) {\n _this6.defaultsLayers.mapcenter.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.highlightLayer) {\n _this6.defaultsLayers.highlightLayer.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.selectionLayer) {\n _this6.defaultsLayers.selectionLayer.setZIndex(zindex + 2);\n }\n });\n\n this.viewer.map.getLayers().on('remove', function (e) {\n if (e.element.getZIndex() === _this6.layersCount) {\n _this6.layersCount--;\n }\n });\n\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this._setupAllLayers();\n this.setUpMapOlEvents();\n\n // CHECK IF MAPLAYESRSTOREREGISTRY HAS LAYERSTORE\n MAP.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('addLayersStore', this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('removeLayersStore', this._removeEventsKeysToLayersStore.bind(this));\n\n this.emit('viewerset');\n this.setupControls();\n this.emit('ready');\n });\n\n function setupViewer(_x13, _x14) {\n return _ref11.apply(this, arguments);\n }\n\n return setupViewer;\n }(),\n controlClick: function controlClick(mapcontrol) {\n var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n },\n loadExternalLayer: function loadExternalLayer(layer) {},\n // used in general to alert external layer is loaded\n unloadExternalLayer: function unloadExternalLayer(layer) {}\n };\n\n _this4.on('extraParamsSet', _this4.onExtraParamsSet);\n return _this4;\n }\n\n /**\n * @since 3.11.0\n */\n\n\n _createClass(MapService, [{\n key: 'onExtraParamsSet',\n value: function onExtraParamsSet(extraParams, update) {\n var _this7 = this;\n\n if (update) {\n this.getMapLayers().forEach(function (l) {\n return l.update(_this7.state, extraParams);\n });\n }\n }\n\n /**\n * show spinner layers\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadStart',\n value: function onLayerLoadStart() {\n if (0 === this._howManyAreLoading) {\n this.emit('loadstart');\n _gui2.default.showSpinner({ container: $('#map-spinner'), id: 'maploadspinner', style: 'transparent' });\n }\n this._howManyAreLoading += 1;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadEnd',\n value: function onLayerLoadEnd() {\n this._howManyAreLoading -= 1;\n if (0 === this._howManyAreLoading) {\n this.emit('loadend');\n _gui2.default.hideSpinner('maploadspinner');\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadError',\n value: function onLayerLoadError() {\n /** @since 3.10.0 - fails silently */\n if (!this.project.state.show_load_layer_error) {\n return;\n }\n if (!this.onLayerLoadError.shown) {\n _gui2.default.notify.warning('sdk.errors.layers.load');\n this.onLayerLoadError.shown = true;\n }\n this.onLayerLoadEnd();\n }\n\n /**\n * @returns promise ready\n *\n * @since 3.8.3\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this._ready;\n }\n }, {\n key: 'setUpMapOlEvents',\n value: function setUpMapOlEvents() {\n var _this8 = this;\n\n var dynamicLegend = this.project.state.context_base_legend;\n // set change resolution\n this._keyEvents.ol.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n this._keyEvents.ol.push(this.viewer.map.getView().on('change:resolution', function () {\n _this8.state.bbox = _this8.getMapBBOX();\n _this8.state.resolution = _this8.viewer.getResolution();\n _this8.state.center = _this8.viewer.getCenter();\n _this8.updateMapLayers();\n if (dynamicLegend) {\n _this8.setupCustomMapParamsToLegendUrl();\n }\n }));\n if (dynamicLegend) {\n this._keyEvents.ol.push(this.viewer.map.on('moveend', function () {\n return _this8.setupCustomMapParamsToLegendUrl();\n }));\n } else {\n //set always to show legend at the start\n this.setupCustomMapParamsToLegendUrl();\n }\n }\n\n /**\n * Clear methods to remove all listeners events\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.removeListener('extraParamsSet', this.onExtraParamsSet);\n this._keyEvents.ol.forEach(function (key) {\n return ol.Observable.unByKey(key);\n });\n this._keyEvents.ol.splice(0);\n MAP.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this));\n }\n\n /**\n * @TODO refactor CDU plugin in order to remove `OlMapViewer` class\n */\n\n }, {\n key: '_addHideMap',\n value: function _addHideMap() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref16.ratio,\n _ref16$layers = _ref16.layers,\n layers = _ref16$layers === undefined ? [] : _ref16$layers,\n _ref16$mainview = _ref16.mainview,\n mainview = _ref16$mainview === undefined ? false : _ref16$mainview;\n\n var idMap = this.state.hidemaps.at(-1);\n var view = this.getMap().getView();\n\n var olView = mainview ? view : {\n projection: view.getProjection(),\n center: view.getCenter(),\n resolution: this.getResolution()\n };\n\n // set Map\n idMap.map = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false }),\n interactions: ol.interaction.defaults(),\n ol3Logo: false,\n view: olView instanceof ol.View ? olView : new ol.View(olView),\n keyboardEventTarget: document,\n target: idMap.id\n });\n\n // in case of rate\n if (ratio) {\n var _idMap$map$getSize = idMap.map.getSize(),\n _idMap$map$getSize2 = _slicedToArray(_idMap$map$getSize, 2),\n w = _idMap$map$getSize2[0],\n h = _idMap$map$getSize2[1];\n\n idMap.map.setSize([w, w * ratio]);\n }\n\n (layers || []).forEach(function (l) {\n return idMap.map.addLayer(l);\n });\n\n return idMap.map;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'removeHideMap',\n value: function removeHideMap(id) {\n var i = (this.state.hidemaps || []).findIndex(function (m) {\n return id === m.id;\n });\n if (-1 !== i) {\n this.state.hidemaps.splice(i, 1);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\", \"archiweb\"\n */\n\n }, {\n key: 'createMapImage',\n value: function createMapImage() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref17.map,\n background = _ref17.background;\n\n return new Promise(function (resolve, reject) {\n try {\n var canvas = $(map ? map.getViewport() : $('#g3w-maps .g3w-map').last().children('.ol-viewport')[0]).children('canvas')[0];\n if (navigator.msSaveBlob) {\n resolve(canvas.msToBlob());\n } else {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n });\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n }\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.project;\n }\n }, {\n key: 'getMap',\n value: function getMap() {\n try {\n return this.viewer.map;\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.project.getProjection();\n }\n }, {\n key: 'isMapHidden',\n value: function isMapHidden() {\n return this.state.hidden;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.project.getProjection().getCode();\n }\n }, {\n key: 'getViewport',\n value: function getViewport() {\n return this.viewer.map.getViewport();\n }\n }, {\n key: 'getResolution',\n value: function getResolution() {\n return this.viewer.map.getView().getResolution();\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.viewer.map.getView().getProjection().getCode();\n }\n\n /**\n * Show Marker on a map\n * @param coordinates\n * @param duration\n */\n\n }, {\n key: 'showMarker',\n value: function showMarker(coordinates) {\n var _this9 = this;\n\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n\n this._marker.setPosition(coordinates);\n setTimeout(function () {\n return _this9._marker.setPosition();\n }, duration);\n }\n\n /**\n * @returns layer by name\n */\n\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return name === l.get('name');\n });\n }\n\n /**\n * @returns layer by id\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return id === l.get('id');\n });\n }\n\n /**\n * Used by the following plugins: \"strees\"\n *\n * get all features from vector layer based on coordinates\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromCoordinates',\n value: function getVectorLayerFeaturesFromCoordinates(layerId, coordinates) {\n var intersectGeom = void 0;\n var features = [];\n var map = this.getMap();\n var vectorLayer = this.getLayerById(layerId);\n if (Array.isArray(coordinates)) {\n if (2 === coordinates.length) {\n var pixel = map.getPixelFromCoordinate(coordinates);\n map.forEachFeatureAtPixel(pixel, function (feature) {\n return features.push(feature);\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === vectorLayer;\n }\n });\n } else if (4 === coordinates.length) {\n intersectGeom = ol.geom.Polygon.fromExtent(coordinates);\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(f.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n } else if (coordinates instanceof ol.geom.Polygon || coordinates instanceof ol.geom.MultiPolygon) {\n intersectGeom = coordinates;\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(feature.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n return features;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'getQueryLayerByCoordinates',\n value: function getQueryLayerByCoordinates() {\n var _this10 = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref18.layer,\n coordinates = _ref18.coordinates;\n\n return new Promise(function (resolve, reject) {\n layer.query({\n coordinates: coordinates,\n mapProjection: _this10.getProjection(),\n resolution: _this10.getResolution()\n }).then(function (response) {\n return resolve(response);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n\n //setup controls\n /*\n layout : {\n lv: h : horizontal (default), v vertical\n lh: h: horizontal: v vertical (default)\n }\n */\n\n }, {\n key: 'createMapControl',\n value: function createMapControl(type) {\n var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n id = _ref19.id,\n visible = _ref19.visible,\n _ref19$add = _ref19.add,\n add = _ref19$add === undefined ? true : _ref19$add,\n _ref19$toggled = _ref19.toggled,\n toggled = _ref19$toggled === undefined ? false : _ref19$toggled,\n _ref19$options = _ref19.options,\n options = _ref19$options === undefined ? {} : _ref19$options;\n\n var control = CONTROLS[type] ? new CONTROLS[type](_extends({ type: type, toggled: toggled }, options)) : undefined;\n if (undefined === visible) {\n visible = control.isVisible ? control.isVisible() : true;\n }\n if (control) {\n this.addControl(id || type, type, control, add, visible);\n }\n return control;\n }\n }, {\n key: 'showAddLayerModal',\n value: function showAddLayerModal() {\n $('#modal-addlayer').modal('show');\n this.emit('addexternallayer');\n }\n }, {\n key: 'getCenter',\n value: function getCenter() {\n return this.getMap().getView().getCenter();\n }\n\n /**\n * Zoom to Feature ID\n */\n\n }, {\n key: 'zoomToFid',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var zoom_to_fid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '|';\n\n var _zoom_to_fid$split = zoom_to_fid.split(separator),\n _zoom_to_fid$split2 = _slicedToArray(_zoom_to_fid$split, 2),\n layerId = _zoom_to_fid$split2[0],\n fid = _zoom_to_fid$split2[1];\n\n if (undefined === layerId && undefined === fid) {\n return;\n }\n\n var _ref21 = yield _data2.default.getData('search:fids', {\n inputs: {\n layer: this.project.getLayerById(layerId),\n fids: [fid]\n },\n outputs: {\n show: {\n loading: false,\n condition: function condition() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$data = _ref22.data,\n data = _ref22$data === undefined ? [] : _ref22$data;\n\n return data[0] && data[0].features.length > 0;\n }\n }\n }\n }),\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? [] : _ref21$data;\n\n var feature = data[0] && data[0].features[0];\n\n if (feature) {\n yield this.zoomToFeatures([feature]);\n }\n });\n\n function zoomToFid() {\n return _ref20.apply(this, arguments);\n }\n\n return zoomToFid;\n }()\n\n /**\n * Handle ztf url parameter\n *\n * @param zoom_to_features\n */\n\n }, {\n key: 'zoomToFeaturesUrl',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var zoom_to_features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n try {\n var _zoom_to_features$spl = zoom_to_features.split(':'),\n _zoom_to_features$spl2 = _slicedToArray(_zoom_to_features$spl, 2),\n id = _zoom_to_features$spl2[0],\n filter = _zoom_to_features$spl2[1];\n\n if (!id || !filter) {\n return;\n }\n\n // find project layer\n var pLayer = this.project.getLayers().find(function (l) {\n return id === l.id || id === l.name || id === l.origname;\n });\n\n var layer = pLayer && this.project.getLayerById(pLayer.id);\n\n var r = pLayer && (yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: filter })\n },\n outputs: {\n show: {\n loading: false\n }\n }\n }));\n\n var features = r && r.data && r.data[0] && r.data[0].features;\n\n if (features) {\n this.zoomToFeatures(features);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function zoomToFeaturesUrl() {\n return _ref23.apply(this, arguments);\n }\n\n return zoomToFeaturesUrl;\n }()\n }, {\n key: 'getMapExtent',\n value: function getMapExtent() {\n var map = this.getMap();\n return map.getView().calculateExtent(map.getSize());\n }\n\n /**\n * @param url\n * @param epsg cordinate referece system (since 3.8.0)\n *\n * @returns {string}\n */\n\n }, {\n key: 'addMapExtentUrlParameterToUrl',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (url, epsg) {\n url = new URL(url);\n var changed = undefined !== epsg && epsg !== this.getEpsg();\n if (changed) {\n yield _projections2.default.registerProjection(epsg);\n }\n url.searchParams.set('map_extent', (changed ? ol.proj.transformExtent(this.getMapExtent(), this.getEpsg(), epsg) : this.getMapExtent()).toString());\n return url.toString();\n });\n\n function addMapExtentUrlParameterToUrl(_x25, _x26) {\n return _ref24.apply(this, arguments);\n }\n\n return addMapExtentUrlParameterToUrl;\n }()\n }, {\n key: 'getMapControlByType',\n value: function getMapControlByType(type) {\n // BACKOMP v3.x\n if (\"string\" !== typeof type) {\n type = type.type;\n }\n return (this._controls.find(function (c) {\n return type === c.type;\n }) || {}).control;\n }\n\n /**\n * @param id\n * @param type\n * @param control\n * @param addToMapControls\n * @param visible\n */\n\n }, {\n key: 'addControl',\n value: function addControl(id, type, control) {\n var _this11 = this;\n\n var addToMapControls = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var visible = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n\n this.viewer.map.addControl(control);\n\n control.on('toggled', function (e) {\n return _this11.emit('mapcontrol:toggled', e);\n });\n\n this._controls.push({ id: id, type: type, control: control, visible: visible, mapcontrol: addToMapControls && visible });\n\n control.on('controlclick', function (_ref25) {\n var mapcontrol = _ref25.target;\n\n var clickmap = !!(mapcontrol.isClickMap && mapcontrol.isClickMap());\n if (clickmap) {\n _this11._externalInteractions.forEach(function (int) {\n return int.setActive(false);\n });\n }\n _this11.controlClick(mapcontrol, { clickmap: clickmap });\n });\n\n var buttonControl = $(control.element).find('button');\n\n buttonControl.tooltip({\n placement: 'left',\n container: 'body',\n trigger: _gui2.default.isMobile() ? 'click' : 'hover'\n });\n\n // in case of mobile hide tooltip after click\n if (_gui2.default.isMobile()) {\n buttonControl.on('shown.bs.tooltip', function () {\n var _this12 = this;\n\n setTimeout(function () {\n return $(_this12).tooltip('hide');\n }, 600);\n });\n }\n\n if (addToMapControls && !visible) {\n control.element.style.display = \"none\";\n }\n\n if (addToMapControls) {\n $('.g3w-map-controls').append(control.element);\n }\n\n MAP.controls[type] = control;\n\n if (false === control.offline) {\n MAP.offlineids.push({ id: type, enable: control.getEnable() });\n }\n\n if (false === control.offline && control.getEnable()) {\n control.setEnable(_application2.default.online);\n }\n }\n }, {\n key: 'showControls',\n value: function showControls(types) {\n var _this13 = this;\n\n this._controls.forEach(function (c) {\n return _this13.viewer.map.removeControl(c.control);\n });\n this._controls.forEach(function (c) {\n c.visible = !types || types.indexOf(c.type) > -1 ? true : c.visible;\n if (c.visible) {\n _this13.viewer.map.addControl(c.control);\n }\n });\n }\n }, {\n key: 'getMapControls',\n value: function getMapControls() {\n return this._controls;\n }\n\n /**\n * Used by the following plugins: \"archiweb\"\n */\n\n }, {\n key: 'removeControlById',\n value: function removeControlById(id) {\n var _this14 = this;\n\n this._controls.find(function (c, i) {\n if (id === c.id) {\n _this14._controls.splice(i, 1);\n _this14.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n }, {\n key: 'removeControl',\n value: function removeControl(type) {\n var _this15 = this;\n\n this._controls.find(function (c, i) {\n if (type === c.type) {\n _this15._controls.splice(i, 1);\n _this15.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n\n /**\n * untoggle mapcontrol\n * @param close GUI content\n * @private\n */\n\n }, {\n key: '_unToggleControls',\n value: function _unToggleControls() {\n var _ref26 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref26$close = _ref26.close,\n close = _ref26$close === undefined ? true : _ref26$close;\n\n this._controls.forEach(function (c) {\n if (c.control.isToggled && c.control.isToggled()) {\n c.control.toggle(false);\n if (close) {\n _gui2.default.closeContent();\n }\n }\n });\n }\n }, {\n key: 'deactiveMapControls',\n value: function deactiveMapControls() {\n this._unToggleControls({ close: false });\n }\n\n /**\n *\n * Method to disable\n */\n\n }, {\n key: 'disableClickMapControls',\n value: function disableClickMapControls() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._controls.filter(function (c) {\n return c.control.isClickMap && c.control.isClickMap();\n }).forEach(function (c) {\n c.control.isToggled() && c.control.toggle();\n c.control[bool ? 'disable' : 'enable']();\n });\n }\n }, {\n key: '_setupCustomMapParamsToLegendUrl',\n value: function _setupCustomMapParamsToLegendUrl() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (bool) {\n var map = this.getMap();\n var size = map && map.getSize().filter(function (v) {\n return v > 0;\n }) || null;\n var bbox = size && 2 === size.length ? map.getView().calculateExtent(size) : this.project.state.initextent;\n this.getMapLayers().forEach(function (l) {\n return l.setupCustomMapParamsToLegendUrl;\n }) && l.setupCustomMapParamsToLegendUrl({\n crs: this.getEpsg(),\n // in the case of axis orientation inverted if it needs to invert the axis\n bbox: map.getView().getProjection().getAxisOrientation() === \"neu\" ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox\n });\n this.emit('change-map-legend-params');\n }\n }\n }, {\n key: 'getMapLayerByLayerId',\n value: function getMapLayerByLayerId(id) {\n return this.getMapLayers().find(function (l) {\n return l.getLayerConfigs().find(function (l) {\n return id === l.getId();\n });\n });\n }\n }, {\n key: 'getMapLayers',\n value: function getMapLayers() {\n return this._layers.g3w;\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this._layers.base;\n }\n }, {\n key: 'getMapLayerForLayer',\n value: function getMapLayerForLayer(layer) {\n return this.getMapLayers().find(function (ml) {\n return 'layer_' + layer.getMultiLayerId() === ml.getId();\n });\n }\n }, {\n key: 'getProjectLayer',\n value: function getProjectLayer(id) {\n return MAP.layers.getLayerById(id);\n }\n\n /**\n * @param project\n * @param width\n * @param height\n * @param { Array } map_extent since 3.10.0: in case of true, use url parameter to set view options\n * @return {{extent: *, maxResolution: number, center: *, projection: *, resolution: number}}\n * @private\n */\n\n }, {\n key: '_calculateViewOptions',\n value: function _calculateViewOptions() {\n var _ref27 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref27.project,\n width = _ref27.width,\n height = _ref27.height,\n map_extent = _ref27.map_extent;\n\n var initextent = map_extent ? map_extent.split(',').map(function (coord) {\n return 1 * coord;\n }) : project.state.initextent;\n var extent = project.state.extent;\n return {\n extent: extent,\n projection: this.getProjection(),\n center: ol.extent.getCenter(initextent),\n maxResolution: Math.max(ol.extent.getWidth(extent) / width, ol.extent.getHeight(extent) / height), // max(xRes, yRes)\n resolution: Math.max(ol.extent.getWidth(initextent) / width, ol.extent.getHeight(initextent) / height) // max(xInitRes, yInitRes)\n };\n }\n }, {\n key: 'getMapUnits',\n value: function getMapUnits() {\n return this.state.mapUnits;\n }\n\n // remove all events of layersStore\n\n }, {\n key: '_removeEventsKeysToLayersStore',\n value: function _removeEventsKeysToLayersStore(store) {\n var id = store.getId();\n if (this._keyEvents.stores[id]) {\n this._keyEvents.stores[id].forEach(function (evt) {\n Object.entries(evt).forEach(function (_ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n event = _ref29[0],\n key = _ref29[1];\n\n return store.un(event, key);\n });\n });\n delete this._keyEvents.stores[id];\n }\n }\n\n // register all events of layersStore and relative keys\n\n }, {\n key: '_setUpEventsKeysToLayersStore',\n value: function _setUpEventsKeysToLayersStore(store) {\n var _this16 = this;\n\n var id = store.getId();\n // check if already store a key of events\n this._keyEvents.stores[id] = [];\n\n //In the case of store that has layers @since 3.10.0\n store.getLayers().forEach(function (l) {\n return 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n });\n\n this._keyEvents.stores[id].push({\n addLayer: store.onafter('addLayer', function (l) {\n 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n })\n });\n this._keyEvents.stores[id].push({\n removeLayer: store.onafter('removeLayer', function (l) {\n 'vector' === l.getType() && _this16.viewer.map.removeLayer(l.getOLLayer());\n })\n });\n }\n\n // SETUP ALL LAYERS\n\n }, {\n key: '_setupAllLayers',\n value: function _setupAllLayers() {\n var _this17 = this;\n\n // base layers\n var blayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true });\n blayers.forEach(function (l) {\n var base = l.getMapLayer();\n _this17.registerMapLayerListeners(base);\n _this17._layers.base[l.getId()] = base;\n });\n\n Object.values(blayers.length ? this._layers.base : {}).reverse().forEach(function (l) {\n l.update(_this17.state, _this17.layersExtraParams);\n _this17.addLayerToMap(l);\n });\n\n // map layers: geolayers exclude baselayers and eventually vector layers\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: false, VECTORLAYER: false });\n\n // set map projection on each layer\n layers.forEach(function (l) {\n return l.setMapProjection(_this17.getProjection());\n });\n\n //store incremental value for qtimesriable layer with same multilayer id\n var cache = {};\n var mapLayers = [];\n\n Object.entries(\n // Group layers by multilayer property (from project config)\n // to speed up \"qtimeseriesries\" loading for single layers\n (0, _groupBy.groupBy)(layers, function (layer) {\n var id = layer.getMultiLayerId();\n if (layer.isQtimeseries()) {\n cache[id] = undefined === cache[id] ? 0 : cache[id] + 1;\n return id + '_' + cache[id];\n }\n return undefined === cache[id] ? id : id + '_' + (cache[id] + 1);\n })).forEach(function (_ref30) {\n var _ref31 = _slicedToArray(_ref30, 2),\n id = _ref31[0],\n layers = _ref31[1];\n\n var layer = layers[0] || [];\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + id,\n projection: _this17.getProjection(),\n /** @since 3.9.1 */\n format: 1 === layers.length ? layer.getFormat() : null\n }, 1 === layers.length ? {} : _this17.layersExtraParams);\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n mapLayers.push(mapLayer);\n _this17.registerMapLayerListeners(mapLayer);\n });\n\n mapLayers.reverse().forEach(function (l) {\n _this17._layers.g3w.push(l);\n _this17.addLayerToMap(l);\n });\n\n this.updateMapLayers();\n\n // vector layers\n var vlayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ VECTORLAYER: true });\n // set map projection on each layer\n vlayers.forEach(function (l) {\n l.setMapProjection(_this17.getProjection());_this17.addLayerToMap(l.getMapLayer());\n });\n\n // set default layers order\n var map = this.getMap();\n map.addLayer(this.defaultsLayers.mapcenter);\n map.addLayer(this.defaultsLayers.selectionLayer);\n map.addLayer(this.defaultsLayers.highlightLayer);\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n Object.entries(externalLayers || {}).forEach(function (_ref32) {\n var _ref33 = _slicedToArray(_ref32, 2),\n id = _ref33[0],\n layer = _ref33[1];\n\n var olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: new ol.format.GeoJSON().readFeatures(layer.features) })\n });\n olLayer.set('name', id);\n _this17.addExternalLayer(olLayer, _extends({}, layer.options, { zoomToExtent: false }));\n });\n });\n }\n }, {\n key: 'setDefaultLayerStyle',\n value: function setDefaultLayerStyle(type) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (type && this.defaultsLayers[type]) {\n this.defaultsLayers._style[type] = style;\n }\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this18 = this;\n\n Object.keys(this._layers.base).forEach(function (id) {\n return _this18.viewer.map.removeLayer(_this18._layers.base[id].getOLLayer());\n });\n this.getMapLayers().forEach(function (l) {\n _this18.unregisterMapLayerListeners(l);_this18.viewer.map.removeLayer(l.getOLLayer());\n });\n this._layers.g3w = [];\n // remove external layers\n this._layers.external.forEach(function (layer) {\n _this18.removeExternalLayer(layer.get('name'));\n });\n this._layers.external.splice(0);\n // remove default layers\n this.defaultsLayers.mapcenter.getSource().clear();\n this.defaultsLayers.highlightLayer.getSource().clear();\n this.defaultsLayers.selectionLayer.getSource().clear();\n this.getMap().removeLayer(this.defaultsLayers.mapcenter);\n this.getMap().removeLayer(this.defaultsLayers.highlightLayer);\n this.getMap().removeLayer(this.defaultsLayers.selectionLayer);\n }\n\n //set ad increase layerIndex\n\n }, {\n key: 'setLayerZIndex',\n value: function setLayerZIndex(_ref34) {\n var layer = _ref34.layer,\n _ref34$zindex = _ref34.zindex,\n zindex = _ref34$zindex === undefined ? this.layersCount += 1 : _ref34$zindex;\n\n layer.setZIndex(zindex);\n this.emit('set-layer-zindex', { layer: layer, zindex: zindex });\n return zindex;\n }\n\n /**\n * Add olLayer to mapLayer\n * @param layer\n */\n\n }, {\n key: 'addLayerToMap',\n value: function addLayerToMap(layer) {\n var olLayer = layer.getOLLayer();\n if (olLayer) {\n this.getMap().addLayer(olLayer);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'createMapLayer',\n value: function createMapLayer(layer) {\n layer.setMapProjection(this.getProjection());\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + layer.getMultiLayerId(),\n projection: this.getProjection()\n }, this.layersExtraParams);\n mapLayer.addLayer(layer);\n return mapLayer;\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Update MapLayer\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'updateMapLayer',\n value: function updateMapLayer(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { force: false, layerId: layerId };\n\n var _ref35 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref35$showSpinner = _ref35.showSpinner,\n showSpinner = _ref35$showSpinner === undefined ? true : _ref35$showSpinner;\n\n // if force to add g3w_time parameter to force request of map layer from server\n if (options.force) {\n options.g3w_time = Date.now();\n }\n if (showSpinner !== layer.showSpinnerWhenLoading) {\n layer.showSpinnerWhenLoading = showSpinner;\n if (showSpinner) {\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n } else {\n layer.off('loadstart', this.onLayerLoadStart);\n layer.off('loadend', this.onLayerLoadEnd);\n layer.off('loaderror', this.onLayerLoadError);\n }\n }\n layer.update(this.state, options);\n return layer;\n }\n\n // run update function on each mapLayer\n\n }, {\n key: 'updateMapLayers',\n value: function updateMapLayers() {\n var _this19 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.getMapLayers().forEach(function (l) {\n return _this19.updateMapLayer(l, opts);\n });\n Object.values(this.getBaseLayers()).forEach(function (l) {\n return l.update(_this19.state, _this19.layersExtraParams);\n });\n }\n\n // register map Layer listeners of creation\n\n }, {\n key: 'registerMapLayerListeners',\n value: function registerMapLayerListeners(layer) {\n var _this20 = this;\n\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n // listen change filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.onbefore('change', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n //pass layerId to change only layer @since 3.11.0\n l.on('filtertokenchange', function (_ref36) {\n var layerId = _ref36.layerId;\n _this20.updateMapLayer(layer, { force: true, layerId: layerId });\n });\n });\n }\n }\n\n // unregister listeners of mapLayers creation\n\n }, {\n key: 'unregisterMapLayerListeners',\n value: function unregisterMapLayerListeners(layer) {\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n layer.un('loadstart', this.onLayerLoadStart);\n layer.un('loadend', this.onLayerLoadEnd);\n layer.un('loaderror', this.onLayerLoadError);\n // try to remove layer filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.un('change');\n l.removeEvent('filtertokenchange');\n });\n }\n }\n }, {\n key: 'setTarget',\n value: function setTarget(elId) {\n this.target = elId;\n }\n }, {\n key: 'getCurrentToggledMapControl',\n value: function getCurrentToggledMapControl() {\n return (this._controls.find(function (c) {\n return c.control && c.control.isToggled && c.control.isToggled();\n }) || {}).control;\n }\n\n /**\n * close: param to close eventually right content open\n * @param interaction\n * @param options is an object contain: {\n * active: If set new interaction active or not\n * active: If set new interaction active or not\n * close: if eventually close GUI Content (es. result right content)\n * }\n * return object having current toggled control if there is a toggled mapcontrol\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { active: true, close: true };\n var _options$active = options.active,\n active = _options$active === undefined ? true : _options$active;\n\n var control = this.getCurrentToggledMapControl();\n var toggled = control && control.isToggled && control.isToggled() || false;\n var untoggleMapControls = control && control.isClickMap ? control.isClickMap() : true;\n if (untoggleMapControls && active) {\n this._unToggleControls(options);\n }\n this.getMap().addInteraction(interaction);\n interaction.setActive(active);\n this._externalInteractions.push(interaction);\n return {\n control: control,\n toggled: toggled // return current toggled map control if toggled\n };\n }\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n if (interaction) {\n interaction.setActive(false);\n }\n this.viewer.map.removeInteraction(interaction);\n this._externalInteractions = this._externalInteractions.filter(function (_interaction) {\n return interaction !== _interaction;\n });\n }\n }, {\n key: '_watchInteraction',\n value: function _watchInteraction(interaction) {\n var _this21 = this;\n\n interaction.on('change:active', function (e) {\n if (e.target instanceof ol.interaction.Pointer && e.target.getActive()) {\n _this21.emit('mapcontrol:active', e.target);\n }\n });\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Show map Info\n * @param info\n */\n\n }, {\n key: 'showMapInfo',\n value: function showMapInfo() {\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref37.info,\n style = _ref37.style;\n\n this.state.map_info.info = info;\n this.state.map_info.style = style || this.state.map_info.style;\n }\n\n /**\n * @param { Array } coordinate\n * @param { Number } zoom\n */\n\n }, {\n key: 'zoomTo',\n value: function zoomTo(coordinate) {\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n\n var view = this.viewer.map.getView();\n view.setCenter(coordinate);\n view.setZoom(zoom);\n }\n }, {\n key: 'goTo',\n value: function goTo(coordinates, zoom) {\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var view = this.viewer.map.getView();\n zoom = zoom || 6;\n\n if (animate) {\n view.animate({ duration: 300, center: coordinates }, zoom ? { zoom: zoom, duration: 300 } : { duration: 300, resolution: view.getResolution() });\n } else {\n view.setCenter(coordinates);\n }\n\n if (zoom && !animate) {\n view.setZoom(zoom);\n }\n }\n\n /**\n * Set map center to coordinate at resolution\n *\n * @param { Array } coordinates\n * @param resolution\n * @param { boolean } animate\n */\n\n }, {\n key: 'goToRes',\n value: function () {\n var _ref38 = _asyncToGenerator(function* (coordinates, resolution) {\n var _this22 = this;\n\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n\n resolution = resolution || this.viewer.map.getView().getResolution();\n\n yield new Promise(function (res) {\n\n _this22.viewer.map.getView().once('change:center', function () {\n return setTimeout(res, 500);\n });\n\n if (animate) {\n _this22.viewer.map.getView().animate({ duration: 200, center: coordinates }, { duration: 200, resolution: resolution });\n } else {\n _this22.viewer.map.getView().setCenter(coordinates);\n _this22.viewer.map.getView().setResolution(resolution);\n }\n });\n });\n\n function goToRes(_x44, _x45) {\n return _ref38.apply(this, arguments);\n }\n\n return goToRes;\n }()\n }, {\n key: 'getGeometryAndExtentFromFeatures',\n value: function getGeometryAndExtentFromFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var extent = void 0;\n var gtype = void 0;\n var geometry = void 0;\n var coordinates = [];\n features.filter(function (f) {\n return f.getGeometry ? f.getGeometry() : f.geometry;\n }).forEach(function (f) {\n var geom = f.getGeometry ? f.getGeometry() : f.geometry;\n var is_ol_geom = geom instanceof ol.geom.Geometry;\n var f_ext = is_ol_geom ? [].concat(_toConsumableArray(geom.getExtent())) : f.bbox;\n extent = ol.extent.extend(undefined === extent ? f_ext : extent, f_ext);\n gtype = gtype ? gtype : is_ol_geom ? geom.getType() : geom.type;\n var coords = is_ol_geom ? geom.getCoordinates() : geom.coordinates;\n coordinates.push(coords);\n });\n\n //check if features have geometry\n if (coordinates.length > 0) {\n var is_multi = gtype.includes('Multi');\n try {\n geometry = new ol.geom[is_multi ? gtype : 'Multi' + gtype](is_multi ? coordinates.flat() : coordinates);\n extent = undefined === extent ? geometry.getExtent() : extent;\n } catch (e) {\n console.warn(e);\n }\n }\n\n return {\n extent: extent,\n geometry: geometry\n };\n }\n }, {\n key: 'highlightFeatures',\n value: function highlightFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getGeometryAndExtent = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent.geometry;\n // force zoom false\n\n\n options.zoom = false;\n this.highlightGeometry(geometry, options);\n }\n }, {\n key: 'zoomToGeometry',\n value: function zoomToGeometry(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var extent = geometry && geometry.getExtent();\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n }, {\n key: 'zoomToFeatures',\n value: function zoomToFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var _getGeometryAndExtent2 = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent2.geometry,\n extent = _getGeometryAndExtent2.extent;\n\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n\n /**\n * @param { ol.extent } extent\n * @param { Object } options\n * @param { boolean } options.force\n * @param { ol.geometry } options.highLightGeometry\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'zoomToExtent',\n value: function () {\n var _ref39 = _asyncToGenerator(function* (extent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n if (!extent) {\n return Promise.resolve();\n }\n\n var map = this.getMap();\n\n var resolution = void 0;\n\n // if outside project extent, return max resolution\n if (false === ol.extent.containsExtent(this.project.state.extent, extent)) {\n resolution = map.getView().getResolutionForExtent(this.project.state.extent, map.getSize());\n }\n\n // retrieve resolution from given `extent`\n else if (true === options.force) {\n resolution = map.getView().getResolutionForExtent(extent, map.getSize()); // resolution of request extent\n }\n\n // calculate main resolutions from map\n else {\n var curr = map.getView().getResolution();\n // max resolution of the map\n resolution = Math.max(map.getView().getResolutionForExtent(extent, map.getSize()), (0, _getResolutionFromScale.getResolutionFromScale)(MAP.maxZoom, this.getMapUnits()));\n resolution = curr < resolution && curr > resolution ? curr : resolution;\n }\n\n yield this.goToRes(ol.extent.getCenter(extent), resolution);\n\n if (options.highLightGeometry) {\n yield this.highlightGeometry(options.highLightGeometry, { zoom: false, duration: options.duration });\n }\n });\n\n function zoomToExtent(_x51) {\n return _ref39.apply(this, arguments);\n }\n\n return zoomToExtent;\n }()\n }, {\n key: 'goToBBox',\n value: function goToBBox(bbox) {\n var epsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getEpsg();\n\n bbox = epsg === this.getEpsg() ? bbox : ol.proj.transformExtent(bbox, epsg, this.getEpsg());\n // compare bbox extent with a project max extent\n this.viewer.fit(ol.extent.containsExtent(this.project.state.extent, bbox) ? bbox : this.project.state.extent);\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: '_fit',\n value: function _fit(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var view = this.viewer.map.getView();\n var animate = 'boolean' === typeof options.animate ? options.animate : true;\n\n if (animate) {\n view.animate({ duration: 200, center: view.getCenter() });\n view.animate({ duration: 200, resolution: view.getResolution() });\n }\n\n delete options.animate; // non lo passo al metodo di OL3 perché è un'opzione interna\n\n view.fit(geometry, _extends({}, options, {\n constrainResolution: undefined !== options.constrainResolution ? options.constrainResolution : true,\n size: this.viewer.map.getSize()\n }));\n }\n\n /*\n * geometries = array of geometries\n * action: add, clear, remove :\n * - add: feature/features to selectionLayer. If selectionLayer doesn't exist, create a new vector layer.\n * - clear: remove selectionLayer\n * - remove: remove feature from selection layer. If no more feature is in selectionLayer, it will be removed\n * */\n\n }, {\n key: 'setSelectionFeatures',\n value: function setSelectionFeatures() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.color) {\n this.setDefaultLayerStyle('selectionLayer', { color: opts.color });\n }\n var source = this.defaultsLayers.selectionLayer.getSource();\n switch (action) {\n case 'add':\n //In case of add need to set selection style\n opts.feature.setStyle((0, _createSelectedStyle.createSelectedStyle)({\n geometryType: opts.feature.getGeometry().getType(),\n color: this.defaultsLayers._style.selectionLayer.color,\n fill: true\n }));\n source.addFeature(opts.feature);\n break;\n case 'remove':\n source.removeFeature(opts.feature);break;\n case 'update':\n source.getFeatureById(opts.feature.getId()).setGeometry(opts.feature.getGeometry());break;\n case 'clear':\n source.clear();break;\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'toggleSelection',\n value: function toggleSelection() {\n var _this23 = this;\n\n var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var layerId = arguments[1];\n\n //take in account that of layer id is specified, need to set only\n // features related to layer visible or not\n if (layerId) {\n this.defaultsLayers.selectionLayer.getSource().getFeatures().filter(function (f) {\n return layerId === f.__layerId;\n }).forEach(function (f) {\n return f.setStyle(visible ? (0, _createSelectedStyle.createSelectedStyle)({\n geometryType: f.getGeometry().getType(),\n color: _this23.defaultsLayers._style.selectionLayer.color,\n fill: true\n }) : new ol.style.Style(null));\n });\n } else {\n this.defaultsLayers.selectionLayer.setVisible(visible);\n }\n }\n\n /**\n *\n * @param { ol.geom.Geometry | * } geometryObj\n * @param { Object } options\n * @param { boolean } options.zoom\n * @param { boolean } options.highlight\n * @param options.style\n * @param options.color\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'highlightGeometry',\n value: function () {\n var _ref40 = _asyncToGenerator(function* (geometryObj) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var duration = options.duration || 2000;\n var hlayer = this.defaultsLayers.highlightLayer;\n var hide = 'function' === typeof options.hide ? options.hide : null;\n var highlight = 'boolean' === typeof options.highlight ? options.highlight : true;\n var zoom = 'boolean' === typeof options.zoom ? options.zoom : true;\n var geometry = geometryObj instanceof ol.geom.Geometry ? geometryObj : new ol.format.GeoJSON().readGeometry(geometryObj);\n\n this.clearHighlightGeometry();\n this.setDefaultLayerStyle('highlightLayer', { color: options.color });\n\n if (zoom) {\n yield this.zoomToExtent(geometry.getExtent());\n }\n\n if (!highlight) {\n return;\n }\n\n if (options.style) {\n hlayer.setStyle(options.style);\n }\n\n hlayer.getSource().addFeature(new ol.Feature({ geometry: geometry }));\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve) {\n\n var cb = function cb() {\n hlayer.getSource().clear();\n // set default style\n if (options.style) {\n hlayer.setStyle(function (feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({ geometryType: feat.getGeometry().getType(), color: options.color, fill: true })];\n });\n }\n if (!hide) {\n MAP.animatingHighlight = false;\n }\n resolve();\n };\n\n if (hide) {\n hide(cb);\n }\n\n if (duration && duration !== Infinity && !hide) {\n MAP.animatingHighlight = true;\n setTimeout(cb, duration);\n }\n });\n\n return function (_x59) {\n return _ref41.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref40.apply(this, arguments);\n }\n\n return highlightGeometry;\n }()\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry() {\n if (!MAP.animatingHighlight) {\n this.defaultsLayers.highlightLayer.getSource().clear();\n }\n // reset default layer style\n this.defaultsLayers._style.highlightLayer = { color: undefined };\n }\n\n /**\n * Force to referesh a map\n * @param options\n */\n\n }, {\n key: 'refreshMap',\n value: function refreshMap() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { force: true };\n\n this.updateMapLayers(options);\n }\n\n // called when layout (window) resizes\n\n }, {\n key: 'layout',\n value: function layout(_ref42) {\n var width = _ref42.width,\n height = _ref42.height;\n\n var el = document.getElementById(this.target);\n\n if (el) {\n el.style.height = height + 'px';\n el.style.width = width + 'px';\n }\n\n var is_hidden = width <= 0 || height <= 0;\n var has_viewer = !!this.viewer;\n\n if (has_viewer && !is_hidden) {\n this.getMap().updateSize();\n this.state.hidemaps.forEach(function (h) {\n return h.map.updateSize();\n });\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this.updateMapLayers();\n }\n\n if (!has_viewer) {\n this.setupViewer(width, height);\n }\n\n this.setHidden(is_hidden);\n }\n }, {\n key: 'getMapBBOX',\n value: function getMapBBOX() {\n return this.viewer.map.getView().calculateExtent(this.viewer.map.getSize());\n }\n }, {\n key: 'setInnerGreyCoverBBox',\n value: function setInnerGreyCoverBBox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var map = this.viewer.map;\n var lowerLeft = void 0;\n var upperRight = void 0;\n\n if (opts.inner) {\n switch (opts.type) {\n case 'pixel':\n lowerLeft = [opts.inner[0], opts.inner[1]];\n upperRight = [opts.inner[2], opts.inner[3]];\n break;\n case 'coordinate':\n default:\n lowerLeft = map.getPixelFromCoordinate([opts.inner[0], opts.inner[1]]);\n upperRight = map.getPixelFromCoordinate([opts.inner[2], opts.inner[3]]);\n break;\n }\n this._drawShadow.inner[0] = lowerLeft[0] * ol.has.DEVICE_PIXEL_RATIO; // x_min\n this._drawShadow.inner[1] = lowerLeft[1] * ol.has.DEVICE_PIXEL_RATIO; // y_min\n this._drawShadow.inner[2] = upperRight[0] * ol.has.DEVICE_PIXEL_RATIO; // x_max\n this._drawShadow.inner[3] = upperRight[1] * ol.has.DEVICE_PIXEL_RATIO; // y_max\n }\n\n this._drawShadow.scale = [null, undefined].includes(opts.scale) ? this._drawShadow.scale || 1 : opts.scale;\n this._drawShadow.rotation = [null, undefined].includes(opts.rotation) ? this._drawShadow.rotation || 0 : opts.rotation;\n\n if (this._drawShadow.outer) {\n map.render();\n }\n }\n\n // grey map precompose mapcompose\n\n }, {\n key: 'startDrawGreyCover',\n value: function startDrawGreyCover(message) {\n var _this24 = this;\n\n // after rendering the layer, restore the canvas context\n var map = this.viewer.map;\n var x_min = void 0,\n x_max = void 0,\n y_min = void 0,\n y_max = void 0,\n rotation = void 0,\n scale = void 0;\n this.stopDrawGreyCover();\n this._drawShadow.listener = map.on('postcompose', function (e) {\n var ctx = e.context;\n var size = _this24.getMap().getSize();\n // Inner polygon must be counter-clockwise\n var height = size[1] * ol.has.DEVICE_PIXEL_RATIO;\n var width = size[0] * ol.has.DEVICE_PIXEL_RATIO;\n _this24._drawShadow.outer = [0, 0, width, height];\n ctx.restore();\n ctx.beginPath();\n // Outside polygon must be clockwise\n ctx.moveTo(0, 0);\n ctx.lineTo(width, 0);\n ctx.lineTo(width, height);\n ctx.lineTo(0, height);\n ctx.lineTo(0, 0);\n ctx.closePath();\n // end external bbox (map is cover)\n if (_this24._drawShadow.inner.length) {\n ctx.save();\n x_min = _this24._drawShadow.inner[0];\n y_min = _this24._drawShadow.inner[3];\n x_max = _this24._drawShadow.inner[2];\n y_max = _this24._drawShadow.inner[1];\n rotation = _this24._drawShadow.rotation;\n scale = _this24._drawShadow.scale;\n // Inner polygon must be counter-clockwise antiorario\n ctx.translate((x_max + x_min) / 2, (y_max + y_min) / 2);\n ctx.rotate(rotation * Math.PI / 180);\n ctx.moveTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.closePath();\n // end inner bbox\n }\n ctx.fillStyle = 'rgba(0, 5, 25, 0.40)';\n ctx.fill();\n if (message) {\n ctx.font = \"bold 25px Arial\";\n ctx.fillStyle = \"#ffffff\";\n ctx.textAlign = \"center\";\n message.split('\\n').forEach(function (m, i) {\n return ctx.fillText(m, width / 2, height / 2 + 30 * i);\n });\n }\n ctx.restore();\n });\n }\n }, {\n key: 'stopDrawGreyCover',\n value: function stopDrawGreyCover() {\n if (this._drawShadow.listener) {\n ol.Observable.unByKey(this._drawShadow.listener);\n // reset inner draw shadow\n if (this._drawShadow.inner.length) {\n this._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null\n };\n }\n this._drawShadow.listener = null;\n }\n this.getMap().render();\n }\n\n /**\n * Remove external layer\n *\n * @param name\n */\n\n }, {\n key: 'removeExternalLayer',\n value: function removeExternalLayer(name) {\n var _this25 = this;\n\n var layer = this.getLayerByName(name);\n var type = layer._type || 'vector';\n\n _gui2.default.getService('queryresults').unregisterVectorLayer(layer);\n _gui2.default.getService('catalog').removeExternalLayer({ name: name, type: type });\n\n this.viewer.map.removeLayer(layer);\n\n if ('vector' === type) {\n this._keyEvents.unwatches[name].forEach(function (unWatch) {\n return unWatch();\n });\n delete this._keyEvents.unwatches[name];\n }\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n if ('vector' === type) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n externalLayers = externalLayers || {};\n if (name in externalLayers) {\n delete externalLayers[name];\n }\n _localforage2.default.setItem('externalLayers', externalLayers);\n });\n }\n\n if ('vector' === type) {\n this._layers.external_vector = this._layers.external_vector.filter(function (l) {\n if (name !== l.name) {\n return true;\n }\n Object.values(MAP.controls).forEach(function (c) {\n return c.onRemoveExternalLayer && c.onRemoveExternalLayer(l);\n });\n if (l === MAP.selectedLayer) {\n MAP.selectedLayer = null;\n }\n });\n }\n\n if ('wms' === type) {\n this._layers.external_wms = this._layers.external_wms.filter(function (l) {\n if (l.getId() !== layer.id) {\n return true;\n }\n _this25.unregisterMapLayerListeners(l, layer.projectLayer);\n });\n }\n\n this._layers.external = this._layers.external.filter(function (l) {\n return l.get('id') !== layer.get('id');\n });\n\n this.unloadExternalLayer(layer);\n\n this.emit('remove-external-layer', name);\n }\n\n /**\n * @TODO deprecate in favour of `getExternalLayers`\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'getLegacyExternalLayers',\n value: function getLegacyExternalLayers() {\n return this._layers.external_vector;\n }\n\n /**\n * Return external layers added to map\n * @param {String} type 'vector' or 'wms' @since 3.11.0\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers(type) {\n return undefined === type ? this._layers.external : this._layers.external.filter(function (l) {\n return type === l._type;\n });\n }\n\n /**\n * Add an external layer to the map (eg. ZIP, KMZ, GPX, ...)\n *\n * @param { ol.layer.Vector | ol.layer.Image | unknown } externalLayer\n * @param { Object } options\n * @param { unknown } options.position\n * @param { number } options.opacity\n * @param { boolean } options.visible\n * @param { unknown } options.crs\n * @param { unknown } options.type\n * @param { unknown } options.download\n * @param { string } options.downloadUrl (since 3.8.3) an alternate external server url where to perfom download.\n * @param { boolean } options.persistent (since 3.11.0) whether to save layer into local storage (ie. web sessions).\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'addExternalLayer',\n value: function () {\n var _ref43 = _asyncToGenerator(function* (externalLayer) {\n var _this26 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // extract OL layer from a G3W layer\n var olLayer = externalLayer.getOLLayer ? externalLayer.getOLLayer() : externalLayer;\n if (olLayer !== externalLayer) {\n olLayer.set('id', externalLayer.getId());\n olLayer.set('name', externalLayer.getId());\n }\n externalLayer = olLayer;\n\n var vectorLayer = void 0;\n\n options.position = undefined === options.position ? 'top' : options.position;\n options.opacity = undefined === options.opacity ? 1 : options.opacity;\n options.visible = undefined === options.visible || options.visible;\n options.persistent = undefined === options.persistent || options.persistent;\n\n // vector layer\n if (externalLayer instanceof ol.layer.Vector) {\n\n externalLayer.set('id', externalLayer.get('id') || (0, _getUniqueDomId.getUniqueDomId)());\n\n vectorLayer = externalLayer;\n vectorLayer.filter = { // used by `selection` for query result purpose ?\n active: false // UNUSED - it means not yet implemented?\n };\n vectorLayer.selection = {\n active: false,\n features: []\n };\n\n if (options.color) {\n vectorLayer.setStyle(Object.assign(function (feat) {\n options.color = options.color.rgba ? 'rgba(' + [options.color.rgba.r, options.color.rgba.g, options.color.rgba.b, options.color.rgba.a].join() + ')' : options.color;\n var geometryType = feat.getGeometry().getType();\n var color = options.color;\n\n var style = void 0;\n if ((0, _isPointGeometryType.isPointGeometryType)(geometryType)) {\n // Point\n style = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: color }),\n stroke: new ol.style.Stroke({ color: color, width: 1 }),\n radius: 5\n })\n });\n } else if ((0, _isLineGeometryType.isLineGeometryType)(geometryType)) {\n // Line\n style = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else if ((0, _isPolygonGeometryType.isPolygonGeometryType)(geometryType)) {\n // Polygon\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255,255,255,0.5)' }),\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else {\n console.warn('invalid geometry type: ', geometryType);\n }\n if (options.field) {\n style.setText(new ol.style.Text({\n text: '' + feat.get(options.field),\n font: 'bold',\n scale: 2,\n offsetY: 15,\n fill: new ol.style.Fill({ color: options.color }),\n stroke: new ol.style.Stroke({ color: '#FFF', width: 2 })\n }));\n }\n return style;\n }, { _g3w_options: options }));\n }\n\n var color = void 0;\n try {\n var style = externalLayer.getStyle();\n color = style._g3w_options ? style._g3w_options.color : 'blue'; //setted by geo utils create style function\n } catch (e) {\n console.warn(e);\n }\n\n externalLayer = {\n id: externalLayer.get('id'),\n name: vectorLayer.get('name') || vectorLayer.get('id'),\n projectLayer: false,\n title: vectorLayer.get('name') || vectorLayer.get('id'),\n removable: true,\n external: true,\n crs: options.crs,\n type: options.type,\n _type: 'vector',\n visible: options.visible,\n checked: true,\n position: options.position,\n opacity: options.opacity,\n color: color || 'blue',\n filter: vectorLayer.filter,\n selection: vectorLayer.selection,\n /** @since 3.8.0 */\n tochighlightable: false,\n download: options.download || false,\n /**\n * An alternate (external) server url where to perfom download.\n *\n * @example\n *\n * ```js\n * GUI.getService('map').addExternalLayer(layer, {\n * type: 'geojson',\n * downloadUrl: __\n * });\n * ```\n *\n * @since 3.8.3\n */\n downloadUrl: options.downloadUrl\n };\n }\n\n // image layer\n if (externalLayer instanceof ol.layer.Image) {\n externalLayer.id = externalLayer.get('id');\n externalLayer.removable = true;\n externalLayer.projectLayer = false;\n externalLayer.name = externalLayer.get('name');\n externalLayer.title = externalLayer.get('name');\n externalLayer._type = 'wms';\n externalLayer.opacity = options.opacity;\n externalLayer.position = options.position;\n externalLayer.external = true;\n externalLayer.checked = options.visible;\n }\n\n // skip when another layer with the same name was already added\n if (this.getLayerByName(externalLayer.name)) {\n _gui2.default.notify.warning(\"layer_is_added\", false);\n }\n\n var type = (externalLayer._type || externalLayer.type || '').toLowerCase().trim('').trim();\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type];\n\n // skip if is not a valid layer\n if (!layer) {\n console.warn('layer type: ', type, externalLayer);\n return Promise.reject('not a valid layer');\n }\n\n var features = 'vector' === type && layer.getSource().getFeatures() || [];\n var extent = 'vector' === type && layer.getSource().getExtent() || [];\n\n // add id value\n features.forEach(function (f, i) {\n return f.setId(i);\n });\n\n if (features.length) {\n externalLayer.geometryType = features[0].getGeometry().getType();\n externalLayer.selected = false;\n }\n\n if (extent.length) {\n externalLayer.bbox = { minx: extent[0], miny: extent[1], maxx: extent[2], maxy: extent[3] };\n }\n\n layer.set('position', options.position);\n layer.setOpacity(options.opacity);\n layer.setVisible(options.visible);\n\n /** @TODO use a common parent class (project/external layers) */\n externalLayer.set = externalLayer.set || function (a, d) {\n return externalLayer[a] = d;\n };\n externalLayer.get = externalLayer.get || function (a) {\n return externalLayer[a];\n };\n externalLayer.getId = externalLayer.getId || function () {\n return externalLayer.id;\n };\n externalLayer.getName = externalLayer.getName || function () {\n return externalLayer.name;\n };\n externalLayer.getGeometryType = externalLayer.getGeometryType || function () {\n return externalLayer.geometryType;\n };\n externalLayer.setTocHighlightable = externalLayer.setTocHighlightable || function (h) {\n return externalLayer.tochighlightable = h;\n };\n externalLayer.getTocHighlightable = externalLayer.getTocHighlightable || function () {\n return externalLayer.tochighlightable;\n };\n externalLayer.isSelected = externalLayer.isSelected || function () {\n return externalLayer.selected;\n };\n externalLayer.setSelected = externalLayer.setSelected || function (s) {\n return externalLayer.selected = s;\n };\n externalLayer.isQueryable = externalLayer.isQueryable || function () {\n return !!vectorLayer;\n };\n externalLayer.isVisible = externalLayer.isVisible || function () {\n if (vectorLayer) {\n externalLayer.visible = vectorLayer.getVisible();\n }\n return externalLayer.visible;\n };\n externalLayer.setVisible = externalLayer.setVisible || function (v) {\n if (vectorLayer) {\n vectorLayer.setVisible(v);\n }\n externalLayer.visible = v;\n };\n\n this.viewer.map.addLayer(layer);\n\n this._layers.external.push(layer);\n\n if ('vector' === type) {\n this._layers.external_vector.push(externalLayer);\n }\n\n // register and dispatch layer add event\n if ('wms' === type) {\n this._layers.external_wms.push(externalLayer);\n this.registerMapLayerListeners(externalLayer, false);\n }\n\n if (vectorLayer && false !== options.persistent) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n _localforage2.default.setItem('externalLayers', _extends({}, externalLayers || {}, _defineProperty({}, vectorLayer.get('name'), {\n features: new ol.format.GeoJSON().writeFeatures(vectorLayer.getSource().getFeatures()),\n options: options\n })));\n });\n }\n\n _gui2.default.getService('queryresults').registerVectorLayer(layer);\n _gui2.default.getService('catalog').addExternalLayer({ layer: externalLayer, type: type });\n\n // invoke `onAddExternalLayer` on each map control\n if ('vector' === type) {\n this._keyEvents.unwatches[externalLayer.name] = [];\n Object.values(MAP.controls).forEach(function (c) {\n return c.onAddExternalLayer && c.onAddExternalLayer({ layer: externalLayer, unWatches: _this26._keyEvents.unwatches[externalLayer.name] });\n });\n }\n\n if (extent && options.zoomToExtent) {\n this.viewer.map.getView().fit(extent);\n }\n\n this.loadExternalLayer(layer);\n\n return layer;\n });\n\n function addExternalLayer(_x63) {\n return _ref43.apply(this, arguments);\n }\n\n return addExternalLayer;\n }()\n }, {\n key: 'getCookie',\n value: function getCookie(name) {\n Vue.cookie.get(name);\n }\n\n /**\n * @param { unknown | string | null } layer\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'selectLayer',\n value: function selectLayer(layer) {\n var id = 'string' === typeof layer ? layer : layer && layer.getId();\n\n // toggle previous selection\n if (MAP.selectedLayer && id === MAP.selectedLayer.getId()) {\n id = null;\n }\n\n layer = (0, _getCatalogLayerById.getCatalogLayerById)(id) || this.getLegacyExternalLayers().find(function (l) {\n return id === l.getId();\n });\n\n // select layer by id\n (0, _getCatalogLayers.getCatalogLayers)().concat(this.getLegacyExternalLayers()).forEach(function (l) {\n return l.setSelected(l.getId() === id);\n });\n\n MAP.selectedLayer = layer && layer.isSelected() ? layer : null;\n\n Object.values(MAP.controls).forEach(function (c) {\n return c.onSelectLayer && c.onSelectLayer(MAP.selectedLayer);\n });\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'getSelectedLayer',\n value: function getSelectedLayer() {\n return MAP.selectedLayer;\n }\n }]);\n\n return MapService;\n}(_g3wObject2.default);\n\n/** @since 3.8.0 */\n\n\n_application4.default.onbefore('offline', function () {\n return MAP.offlineids.forEach(function (c) {\n c.enable = MAP.controls[c.id].getEnable();MAP.controls[c.id].setEnable(false);\n });\n});\n\n/** @since 3.8.0 */\n_application4.default.onbefore('online', function () {\n return MAP.offlineids.forEach(function (_ref44) {\n var id = _ref44.id,\n enable = _ref44.enable;\n return MAP.controls[id].setEnable(enable);\n });\n});\n\nexports.default = {\n\n MapService: MapService,\n\n MapLayersStoresRegistry: MAP.layers\n};\n\n},{\"components/MapControlGeocoding.vue\":82,\"components/MapControlZoomHistory.vue\":83,\"g3w-object\":130,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":143,\"map/controls/interactioncontrol\":144,\"map/controls/measurecontrol\":145,\"map/controls/queryby\":146,\"map/controls/scalecontrol\":147,\"map/controls/screenshotcontrol\":148,\"map/controls/streetviewcontrol\":149,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/imagelayer\":155,\"map/layers/vectorlayer\":159,\"services/application\":171,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createFilterFromString\":192,\"utils/createSelectedStyle\":195,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getMapLayersByFilter\":210,\"utils/getProject\":212,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/getUniqueDomId\":217,\"utils/groupBy\":219,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/throttle\":241}],176:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _QueryResultsActionQueryPolygonCSVAttributes = require('components/QueryResultsActionQueryPolygonCSVAttributes.vue');\n\nvar _QueryResultsActionQueryPolygonCSVAttributes2 = _interopRequireDefault(_QueryResultsActionQueryPolygonCSVAttributes);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _intersects = require('utils/intersects');\n\nvar _within = require('utils/within');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _throttle = require('utils/throttle');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _copyUrl = require('utils/copyUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer4 = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nfunction _setRelationField(node) {\n if (node.nodes) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = node.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _node = _step.value;\n\n _setRelationField(_node);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (node.name) {\n node.relation = true;\n }\n}\n\nexports.default = new (function (_G3WObject) {\n _inherits(QueryResultsService, _G3WObject);\n\n function QueryResultsService() {\n _classCallCheck(this, QueryResultsService);\n\n /**\n * Core methods used from other classes to react before or after its call\n */\n var _this = _possibleConstructorReturn(this, (QueryResultsService.__proto__ || Object.getPrototypeOf(QueryResultsService)).call(this));\n\n _this.setters = {\n\n /**\n * Hook method called when response is handled by Data Provider\n *\n * @param { Object } queryResponse\n * @param { Array } queryResponse.data\n * @param { 'coordinates' | 'bbox' | 'polygon' } queryResponse.type\n * @param { Object } queryResponse.query\n * @param { Object } queryResponse.query.external\n * @param { boolean } queryResponse.query.external.add - whether add external layers to response\n * @param { Object } queryResponse.query.external.filter\n * @param { boolean } queryResponse.query.external.SELECTED\n * @param { Object } options\n * @param { boolean } options.add - whether is a new query request (add/remove query request)\n */\n setQueryResponse: function setQueryResponse(queryResponse) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n // set mandatory queryResponse fields\n if (!queryResponse.data) queryResponse.data = [];\n if (!queryResponse.query) queryResponse.query = { external: { add: false, filter: { SELECTED: false } } };\n if (!queryResponse.query.external) queryResponse.query.external = { add: false, filter: { SELECTED: false } };\n\n if (false === options.add && !!options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add && !options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.clearState();\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add external layers to response\n if (true === queryResponse.query.external.add && false === options.add) {\n var catalog = _gui2.default.getService('catalog');\n\n /** @type { boolean | undefined } */\n var FILTER_SELECTED = queryResponse.query.external.filter.SELECTED;\n\n // add visible layers to query response (vector layers)\n this._vectorLayers.forEach(function (layer) {\n var id = layer.get('id');\n // TODO: extract this into `layer.isSomething()` ?\n if (layer.getVisible() && [undefined, !!(catalog.state.external.vector.find(function (l) {\n return l.id === id;\n }) || {}).selected].includes(FILTER_SELECTED)) {\n queryResponse.data['__g3w_marker' === id // keep geocoding control \"marker\" layer at top\n ? 'unshift' : 'push'](_this2.getVectorLayerFeaturesFromQueryRequest(layer, queryResponse.query));\n }\n });\n }\n\n var geom = false === options.add && {\n 'coordinates': 2 === (this.state.query.coordinates || []).length && new ol.geom.Point(this.state.query.coordinates),\n 'bbox': 4 === (this.state.query.bbox || []).length && ol.geom.Polygon.fromExtent(this.state.query.bbox),\n 'polygon': this.state.query.geometry,\n 'drawpolygon': this.state.query.geometry,\n 'circle': this.state.query.geometry\n }[this.state.query.type];\n\n // show a query result on map\n if (geom) {\n var feature = new ol.Feature(geom);\n feature.setId(undefined);\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.getSource().addFeature(feature);\n _gui2.default.getService('map').getMap().addLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.setZIndex(_gui2.default.getService('map').getMap().getLayers().getLength()); // ensure layer is on top of others\n }\n\n // Convert response from DataProvider into a QueryResult component data structure\n // Skip when the layer has no features or rawdata is undefined (external wms)\n var layers = queryResponse.data.flatMap(function (d) {\n return [].concat(d);\n }).filter(function (d) {\n return d && (undefined !== d.rawdata || Array.isArray(d.features) && d.features.length > 0);\n }).map(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref.layer,\n features = _ref.features,\n rawdata = _ref.rawdata,\n error = _ref.error;\n\n var is_layer = layer instanceof _layer4.Layer;\n var is_vector = layer instanceof ol.layer.Vector; // instance of openlayers layer Vector Class\n var is_string = 'string' === typeof layer || layer instanceof String; // can be created by string\n\n var sourceType = void 0;\n\n if (is_string) {\n sourceType = _layer4.Layer.LayerTypes.VECTOR;\n } else if (is_layer) {\n try {\n sourceType = layer.getSourceType();\n } catch (error) {\n console.warn('uknown source type for layer:', error, layer);\n }\n }\n\n var name = is_string && layer.split('_');\n\n var id = (is_layer ? layer.getId() : undefined) || (is_vector ? layer.get('id') : undefined) || (is_string ? layer : undefined);\n\n var attributes = void 0;\n var layerAttrs = void 0;\n\n // sanity check (eg. external layers ?)\n if (!features || !features.length) {\n attributes = [];\n }\n\n // Sanitize OWS Layer attributes\n if (!attributes && layer instanceof _layer4.Layer) {\n layerAttrs = layer.getAttributes().map(function (attr) {\n return 'ows' === _this2.state.type ? _extends({}, attr, { name: attr.name.replace(/ /g, '_') }) : attr;\n });\n }\n\n if (!attributes && layer instanceof ol.layer.Vector) {\n layerAttrs = layer.getProperties();\n }\n\n if (!attributes && 'string' === typeof layer || layer instanceof String) {\n layerAttrs = features[0] ? features[0].getProperties() : [];\n }\n\n var specialAttrs = (!attributes && layer instanceof _layer4.Layer && layerAttrs || []).filter(function (attr) {\n try {\n return '_' === attr.name[0] || Number.isInteger(1 * attr.name[0]);\n } catch (e) {\n return false;\n }\n }).map(function (attr) {\n return { alias: attr.name.replace(/_/, ''), name: attr.name };\n });\n\n if (!attributes && specialAttrs.length) {\n features.forEach(function (f) {\n // get attributes special keys from feature properties received by server request\n var attrs = Object.keys(f.getProperties());\n specialAttrs.forEach(function (layerAttr) {\n attrs.find(function (attr) {\n if (attr === layerAttr.alias) {\n f.set(layerAttr.name, f.get(attr));\n return true;\n }\n });\n });\n });\n }\n\n // Parse attributes to show on a result based on field\n\n var attrs = !attributes && (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(Object.keys(features[0] instanceof ol.Feature ? features[0].getProperties() : features[0].properties));\n\n if (!attributes) {\n attributes = layerAttrs && layerAttrs.length > 0 ? layerAttrs.filter(function (attr) {\n return attrs.includes(attr.name);\n }) : attrs.map(function (featureAttr) {\n return {\n name: featureAttr,\n label: featureAttr,\n show: _g3wConstants.G3W_FID !== featureAttr && [undefined, 'gdal', 'wms', 'wcs', 'wmst', 'postgresraster'].includes(sourceType),\n type: 'varchar'\n };\n });\n }\n\n var external = is_vector || is_string;\n var structure = is_layer && layer.hasFormStructure() && layer.getLayerEditingFormStructure();\n\n if (structure && Array.isArray(_this2._relations[layer.getId()]) && _this2._relations[layer.getId()].length > 0) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = structure[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var node = _step2.value;\n\n _setRelationField(node);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n // layerObj\n return {\n id: id,\n attributes: attributes,\n external: external,\n features: (!rawdata && features || []).map(function (f) {\n return {\n id: external ? f.getId() : f instanceof ol.Feature ? f.getId() : f.id,\n attributes: f instanceof ol.Feature ? f.getProperties() : f.properties,\n geometry: f instanceof ol.Feature ? f.getGeometry() : f.geometry,\n selection: { selected: false },\n show: true\n };\n }),\n hasgeometry: Array.isArray(features) && !rawdata && features.some(function (f) {\n return f instanceof ol.Feature ? f.getGeometry() : f.geometry;\n }),\n hasImageField: Array.isArray(features) && !rawdata && features.length && attributes.some(function (attr) {\n return 'image' === attr.type;\n }),\n loading: false,\n show: true,\n expandable: true,\n addfeaturesresults: { active: false },\n downloadformats: { active: false },\n editable: is_layer ? layer.isEditable() && layer.config.editing.visible : false,\n inediting: is_layer ? layer.isInEditing() : false,\n source: is_layer ? layer.getSource() : undefined,\n infoformat: is_layer ? layer.getInfoFormat() : undefined,\n infoformats: is_layer ? layer.getInfoFormats() : [],\n downloads: is_layer ? layer.getDownloadableFormats() : [],\n formStructure: structure ? {\n structure: structure,\n // get field show\n fields: layer.getFields().filter(function (f) {\n return f.show;\n }).concat((Array.isArray(features) && !rawdata && features.length > 0 && attributes || []).filter(function (attr) {\n return layer.getFields().some(function (f) {\n return f.name === attr.name;\n });\n }))\n } : undefined,\n relationsattributes: is_layer || is_vector || is_string ? [] : undefined,\n filter: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) ? layer.state.filter : {},\n selection: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) && layer.state.selection || is_vector && layer.selection || {},\n title: is_layer && layer.getTitle() || is_vector && layer.get('name') || is_string && name && (name.length > 4 ? name.slice(0, name.length - 4).join(' ') : layer) || undefined,\n atlas: _this2._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === id;\n }),\n rawdata: rawdata || null,\n error: error || '',\n toc: external || layer.state.toc //@since v3.10.0\n };\n });\n this.setLayersData(layers, options);\n },\n\n\n /**\n * Setter method called when adding layer and feature for response\n *\n * @param layers\n * @param options\n */\n setLayersData: function setLayersData() {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (false === options.add) {\n // sort layers as Catalog project layers.\n //external layer always on bottom\n layers.sort(function (a, b) {\n return a.external ? 0 : _this3._projectLayerIds.indexOf(a.id) > _this3._projectLayerIds.indexOf(b.id) ? 1 : -1;\n });\n }\n // get features from added pick layer in case of a new request query\n layers.forEach(function (l, index) {\n //@since 3.11.0 check if a result comes from pagination\n l.filter.pagination = l.filter.pagination || !!(_this3.state.query.pagination && _this3.state.query.pagination.counts[index] > l.features.length);\n options.add || options.update ? _this3.updateLayerResultFeatures(l, options.update) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add, update: options.update });\n this.state.changed = true;\n },\n\n\n /**\n * Add custom component in query result\n *\n * @param component\n */\n addComponent: function addComponent(component) {\n this.state.components.push(component);\n },\n\n\n /**\n * @FIXME add description\n *\n * @param actions\n * @param layers\n */\n addActionsForLayers: function addActionsForLayers(actions, layers) {},\n\n\n /**\n * @FIXME add description\n *\n * @param element\n */\n postRender: function postRender(element) {},\n\n\n /**\n * @FIXME add description\n */\n closeComponent: function closeComponent() {},\n\n\n /**\n * Called when layer result features is changed\n *\n * @param layer\n */\n changeLayerResult: function changeLayerResult(layer) {\n var _this4 = this;\n\n this.state.layersactions[layer.id].forEach(function (action) {\n return action.change && action.change(layer);\n }); // call if present change method to action\n // reset layer current actions tools\n (layer.features || []).forEach(function (_, idx) {\n var tool = _this4.state.currentactiontools[layer.id];\n if (undefined === tool) {\n return;\n }\n if (undefined === tool[idx]) {\n Vue.set(tool, idx, null);\n }\n tool[idx] = null;\n });\n },\n\n\n /**\n * @FIXME add description\n */\n activeMapInteraction: function activeMapInteraction() {},\n\n\n /**\n * Setter method related to relation table\n */\n editFeature: function editFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n feature = _ref2.feature;\n },\n\n\n /**\n * Setter method called when opening/closing feature info data content.\n *\n * @param opts.open\n * @param opts.layer\n * @param opts.feature\n * @param opts.container\n */\n openCloseFeatureResult: function openCloseFeatureResult() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n open = _ref3.open,\n layer = _ref3.layer,\n feature = _ref3.feature,\n container = _ref3.container;\n },\n\n\n /**\n * Remove a feature from current layer result\n *\n * @param layer\n * @param feature\n * \n * @since 3.9.0\n */\n removeFeatureLayerFromResult: function removeFeatureLayerFromResult(layer, feature) {\n this.updateLayerResultFeatures({ id: layer.id, external: layer.external, features: [feature] });\n }\n };\n\n /**\n * @FIXME add description\n */\n _this.unlistenerlayeractionevents = [];\n\n /**\n * to store relations (key is referenceLayer of relation)\n */\n _this._relations = {};\n\n /**\n * @FIXME add description\n */\n _this._atlas = [];\n\n /**\n * @FIXME add description\n */\n _this.plotLayerIds = [];\n\n /**\n * Set reactive state\n */\n _this.state = {\n\n logged: undefined !== _application2.default.user.id,\n\n /**\n * @FIXME add description\n */\n components: [],\n\n /**\n * @FIXME add description\n */\n layers: [],\n\n /**\n * @FIXME add description\n */\n changed: false,\n\n /**\n * @FIXME add description\n */\n query: null,\n\n /**\n * 'ows' = default\n * 'api' = search\n */\n type: 'ows',\n\n /**\n * An action is an object that contains:\n *\n * ```\n * {\n * \"id\": (required) Unique action Id\n * \"download\": whether action is download or not\n * \"class\": (required) fontawsome classname to show icon\n * \"state\": need to be reactive. Used for example to toggled state of action icon\n * \"hint\": Tooltip text\n * \"init\": Method called when action is loaded\n * \"clear\": Method called before clear the service. Used for example to clear unwatch\n * \"change\": Method called when feature of layer is changed\n * \"cbk\": (required) Method called when action is cliccked\n * }\n * ```\n **/\n layersactions: {},\n\n /**\n * Add action tools (for features)\n */\n actiontools: {},\n\n /**\n * Current action tools contain component\n * of a specific action (eg. download)\n */\n currentactiontools: {},\n\n /**\n * Contains current action that expose vue component\n * (useful for comparing the id other action is\n * triggered and exposing the component)\n */\n currentactionfeaturelayer: {},\n\n /**\n * @FIXME add description\n */\n layeractiontool: {},\n\n /**\n * @FIXME add description\n */\n layersFeaturesBoxes: {},\n\n /**\n * Used to show a custom component for a layer\n */\n layerscustomcomponents: {}\n\n };\n\n /**\n * where are store vector layer add on runtime\n */\n _this._vectorLayers = [];\n\n /**\n * @FIXME add description\n */\n _this._addFeaturesLayerResultInteraction = {\n\n /**\n * Reference to current layer\n */\n id: null,\n\n /**\n * Interaction bind to layer,\n */\n interaction: null,\n\n /**\n * Add current toggled map control if toggled\n */\n mapcontrol: null,\n\n /**\n * Method that handles interaction when a mapcontrol is toggled\n */\n toggleeventhandler: null\n\n };\n\n /**\n * @FIXME add description\n */\n _this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n\n /**\n * Vector layer used by query result to show query\n * request as coordinates, bbox, polygon, etc ..\n *\n * @type {ol.layer.Vector}\n */\n _this.resultsQueryLayer = new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return new ol.style.Style('Point' === feat.getGeometry().getType() ? { text: new ol.style.Text({ fill: new ol.style.Stroke({ color: 'black' }), text: '\\uF3C5', font: '900 3em \"Font Awesome 5 Free\"', offsetY: -15 }) } : { stroke: new ol.style.Stroke({ color: 'black' }) });\n }\n });\n\n /**\n * Current project \n */\n _this._project = _application2.default.project;\n\n /**\n * Keep the right order for a query result based on TOC order layers\n */\n _this._projectLayerIds = function () {\n var layersId = [];\n var traverse = function traverse(tree) {\n (tree.nodes || [tree]).forEach(function (n) {\n if (n.id) {\n layersId.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n _this._project.state.layerstree.forEach(traverse);\n return layersId;\n }();\n\n /**\n * @FIXME add description\n */\n _this._setRelations(_this._project);\n\n /**\n * @FIXME add description\n */\n _this._atlas = _this._project.getPrint().filter(function (p) {\n return p.atlas;\n }) || [];\n\n /**\n * @FIXME add description\n */\n _gui2.default.onbefore('setContent', function (options) {\n if (100 === options.perc && _gui2.default.isMobile()) {\n _this._asyncFnc.zoomToLayerFeaturesExtent.async = true;\n _this._asyncFnc.highLightLayerFeatures.async = true;\n _this._asyncFnc.goToGeometry.async = true;\n }\n });\n\n return _this;\n }\n\n /**\n * @since 3.11.0\n * Load pagination data\n * @param index\n * @param page\n * @param page_size\n * @param query\n */\n\n\n _createClass(QueryResultsService, [{\n key: 'loadPaginationData',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (index, page, page_size, query) {\n var _this5 = this;\n\n //In the case of first autofilter request in pagination request, remove it from\n if (this.state.query.autofilter && this.state.query.pagination) {\n this.state.query.autofilter = false;\n this.state.query.pagination.getData.params.forEach(function (p) {\n return delete p.autofilter;\n });\n }\n if (page_size) {\n this.state.query.pagination.getData.params[index].page_size = page_size;\n this.state.query.pagination.pages[index] = Math.round(this.state.query.pagination.counts[index] / page_size);\n } //set page size\n //get config from getData object set by pagination method\n var _state$query$paginati = this.state.query.pagination.getData,\n _state$query$paginati2 = _state$query$paginati.layers,\n layers = _state$query$paginati2 === undefined ? [] : _state$query$paginati2,\n method = _state$query$paginati.method,\n params = _state$query$paginati.params;\n\n var layer = layers[index];\n //check if layer has filter\n var has_filtertoken = !!layer.getFilterToken();\n try {\n //get layer pagination data\n var data = yield layer[method](_extends({}, params[index], { page: page }));\n //set response data\n this.setQueryResponse(_extends({}, data, { query: query }), { add: false, update: true });\n //set the current page\n this.state.query.pagination.current[index] = page;\n //in the case of page size change\n var bool = layer.state.selection.active || has_filtertoken;\n //get selection action\n var action = this.state.layersactions[layer.getId()].find(function (_ref5) {\n var id = _ref5.id;\n return 'selection' === id;\n });\n this.state.layers[index].features.forEach(function (f, i) {\n if (bool && !f.selection.selected && layer.isGeoLayer() && f.geometry) {\n var fid = _this5._getFeatureId(f, _this5.state.layers[index].external);\n layer.addOlSelectionFeature({ id: fid, feature: f }).selected = true;\n layer.includeSelectionFid(fid, false);\n }\n f.selection.selected = bool;\n action.state.toggled[i] = bool;\n });\n layer.state.filter.active = bool;\n layer.state.selection.active = bool;\n\n this.state.layers[index].filter.pagination = this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n //in the case of layer with geometry, zoom to features\n if (this.state.layers[index].hasgeometry) {\n this.highLightLayerFeatures(this.state.layers[index]);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function loadPaginationData(_x7, _x8, _x9, _x10) {\n return _ref4.apply(this, arguments);\n }\n\n return loadPaginationData;\n }()\n\n /**\n * used by the following plugins: \"qplotly\"\n */\n\n }, {\n key: 'addLayersPlotIds',\n value: function addLayersPlotIds() {\n var layerIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.plotLayerIds = layerIds;\n }\n\n /**\n * used by the following plugins: \"br-service\"\n * \n * Register for plugin or other component of application to add\n * custom component on result for each layer feature or layer\n *\n * @param opts.id unique id identification\n * @param opts.layerId Layer id of layer\n * @param opts.component custom component\n * @param opts.type feature or layer\n * @param opts.position\n */\n\n }, {\n key: 'registerCustomComponent',\n value: function registerCustomComponent() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$id = _ref6.id,\n id = _ref6$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref6$id,\n layerId = _ref6.layerId,\n component = _ref6.component,\n _ref6$type = _ref6.type,\n type = _ref6$type === undefined ? 'feature' : _ref6$type,\n _ref6$position = _ref6.position,\n position = _ref6$position === undefined ? 'after' : _ref6$position;\n\n if (undefined === this.state.layerscustomcomponents[layerId]) {\n this.state.layerscustomcomponents[layerId] = {\n layer: { before: [], after: [] },\n feature: { before: [], after: [] }\n };\n }\n this.state.layerscustomcomponents[layerId][type][position].push({ id: id, component: component });\n return id;\n }\n\n /**\n * Loop over response features based on layer response and\n * check if features layer needs to be added or removed to\n * current `state.layers` results.\n *\n * @param responseLayer layer structure coming from request\n * @param replace @since 3.11.0 mean replace current state layer features\n *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this6 = this;\n\n var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }); // get layer from current `state.layers` showed on a result\n var responseFeatures = responseLayer.features || []; // extract features from responseLayer object\n var external = (this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }) || {}).external; // get id of external layer or not (`external` is a layer added by mapcontrol addexternlayer)\n var has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n if (has_features) {\n var features_ids = replace ? [] : layer.features.map(function (f) {\n return external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }); // get features id from current layer on a result\n //get action selection;\n var action = this.state.layersactions[layer.id].find(function (a) {\n return 'selection' === a.id;\n });\n if (replace) {\n layer.features.forEach(function (f) {\n return delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n });\n layer.features.splice(0);\n }\n responseFeatures.forEach(function (feat, index) {\n var feature_id = _this6._getFeatureId(feat, external);\n // If true, remove the feature because is already loaded\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n //@since 3.11.0\n if (action && feat.selection.selected) {\n (external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id)).excludeSelectionFid(feature_id, layer.filter.active);\n }\n //filter feature\n layer.features.splice(index, 1);\n delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, feat)];\n if (action) {\n delete action.state.toggled[index];\n //need to reset toggled state in reactive mode\n action.state.toggled = Vue.observable(layer.features.reduce(function (a, f, i) {\n a[i] = f.selection.selected;return a;\n }, {}));\n }\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (f) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n if (box) {\n setTimeout(function () {\n return box.collapsed = collapsed;\n }); // due to vue reactivity, wait a little bit before update layers\n }\n });\n }\n\n // no more features on layer → remove interaction pickcoordinate to get a result from a map\n if (layer && 0 === (layer.features || []).length) {\n // due to vue reactivity, wait a little bit before update layers\n setTimeout(function () {\n _this6.state.layers = _this6.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this6.clearHighlightGeometry(layer);\n _this6.removeAddFeaturesLayerResultInteraction(true);\n });\n }\n\n // highlight new feature\n if (1 === this.state.layers.length) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n\n this.changeLayerResult(layer);\n }\n\n /**\n * Generate a boxid identifier to query result html\n *\n * @param layer\n * @param feature\n * @param relation_index\n *\n * @returns {string}\n */\n\n }, {\n key: 'getBoxId',\n value: function getBoxId(layer, feature, relation_index) {\n return null !== relation_index && undefined !== relation_index ? layer.id + '_' + feature.id + '_' + relation_index : layer.id + '_' + feature.id;\n }\n\n /**\n * @FIXME add description\n *\n * @param layers\n * @param options\n */\n\n }, {\n key: 'setActionsForLayers',\n value: function setActionsForLayers(layers) {\n var _this7 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (options.add || options.update) {\n return;\n }\n\n // reset array\n this.unlistenerlayeractionevents = [];\n\n // loop results\n layers.forEach(function (layer) {\n var _state$layersactions$;\n\n var state = _this7.state;\n // eventually set layer action tool and need to be reactive\n _this7.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this7.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.layersactions[layer.id] = _this7.state.layersactions[layer.id] || [];\n\n var download_format = 1 === layer.downloads.length && (layer.downloads || []).at(0); // NB: format == layer.downloads[0]\n var relations = (_this7._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this7.plotLayerIds.find(function (id) {\n return id === r.referencingLayer;\n });\n }).filter(Boolean);\n\n if (download_format) {\n layer[download_format] = Vue.observable({ active: false });\n }\n\n // set actionstools configs\n if (layer.downloads.length > 1) {\n _this7.state.actiontools.downloadformats = _this7.state.actiontools.downloadformats || {};\n _this7.state.actiontools.downloadformats[layer.id] = {\n downloads: layer.downloads.map(function (format) {\n return {\n id: 'download_' + format + '_feature',\n download: true,\n format: format,\n class: _gui2.default.getFontClass(format),\n hint: 'sdk.tooltips.download_' + format,\n cbk: function cbk(layer, feature, action, index, html) {\n // un-toggle downloads action\n _this7.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this7.state.query.type) {\n var downloadsaction = _this7.state.layersactions[layer.id].find(function (a) {\n return 'downloads' === a.id;\n });\n downloadsaction.cbk(layer, feature, downloadsaction, index, html);\n }\n }\n };\n })\n };\n }\n\n (_state$layersactions$ = _this7.state.layersactions[layer.id]).push.apply(_state$layersactions$, _toConsumableArray([\n\n // zoom to geometry\n layer.hasgeometry && {\n id: 'gotogeometry',\n mouseover: true,\n class: _gui2.default.getFontClass('marker'),\n hint: 'sdk.mapcontrols.query.actions.zoom_to_feature.hint',\n cbk: (0, _throttle.throttle)(_this7.goToGeometry.bind(_this7))\n },\n\n // show relations (query)\n relations.length && {\n id: 'show-query-relations',\n class: _gui2.default.getFontClass('relation'),\n hint: 'sdk.mapcontrols.query.actions.relations.hint',\n cbk: function cbk(layer, feature, action) {\n _gui2.default.setCurrentContentOptions({ crumb: { text: true, title: layer.title } });\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n relations: action.relations,\n chartRelationIds: action.chartRelationIds,\n feature: feature,\n layer: layer\n })\n }),\n backonclose: true,\n title: 'info.list_of_relations',\n id: '__G3W_LIST_OF_RELATIONS_ID__',\n crumb: {\n title: 'info.list_of_relations',\n trigger: null\n },\n closable: false\n });\n },\n\n relations: relations,\n chartRelationIds: chartRelationIds\n },\n\n // show relations (plot)\n chartRelationIds.length && {\n id: 'show-plots-relations',\n opened: true,\n class: _gui2.default.getFontClass('chart'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n hint: 'sdk.mapcontrols.query.actions.relations_charts.hint',\n cbk: (0, _throttle.throttle)(function (layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.emit('show-chart', chartRelationIds, container, {\n relations: _this7._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this7.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this7._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n }).length && {\n id: 'printatlas',\n download: true,\n class: _gui2.default.getFontClass('print'),\n hint: 'sdk.tooltips.atlas',\n cbk: _this7.printAtlas.bind(_this7)\n },\n\n // download features (single)\n download_format && {\n id: 'download_' + download_format + '_feature',\n download: true,\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n class: _gui2.default.getFontClass('download'),\n hint: 'sdk.tooltips.download_' + download_format,\n cbk: function cbk(layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this7.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n }\n },\n\n // download features (multi)\n layer.downloads.length > 1 && {\n id: 'downloads',\n download: true,\n class: _gui2.default.getFontClass('download'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n toggleable: true,\n hint: 'Downloads',\n change: function change(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n\n features.forEach(function (_, i) {\n return undefined === _this8.state.toggled[i] ? _g3wEventbus.VM.$set(_this8.state.toggled, i, false) : _this8.state.toggled[i] = false;\n });\n },\n\n cbk: function cbk(layer, feature, action, index) {\n action.state.toggled[index] = !action.state.toggled[index];\n _this7.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature not in case of pagination @since 3.11.0\n ('__g3w_marker' === layer.id || !layer.external && 'wms' !== (layer.source || {}).type) && {\n id: 'removefeaturefromresult',\n mouseover: true,\n class: _gui2.default.getFontClass('minus-square'),\n style: { color: 'red' },\n // in case of pagination, disabled @since 3.11.0\n state: Vue.observable({ show: !state.query.pagination && !layer.filter.pagination }), //@since 3.11.0 show false in case of pagination\n hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this7.removeFeatureLayerFromResult.bind(_this7),\n /**\n * @since @3.11.0\n * Need to listen filter layer pagination change\n */\n init: function init() {\n var _this9 = this;\n\n this.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return _this9.state.show = !bool;\n });\n },\n\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n change: function change() {\n this.state.disabled = !state.query.pagination && !layer.filter.pagination;\n }\n },\n\n // select feature\n layer.toc && undefined !== layer.selection.active && {\n id: 'selection',\n class: _gui2.default.getFontClass('success'),\n hint: 'sdk.mapcontrols.query.actions.add_selection.hint',\n state: Vue.observable({\n toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}),\n // in case of pagination, show @since 3.11.0\n show: !state.query.pagination && !layer.filter.pagination\n }),\n // check feature selection\n init: function init() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref8.feature,\n index = _ref8.index,\n action = _ref8.action;\n\n if (layer.external && undefined !== layer.selection.active) {\n // external layer\n action.state.toggled[index] = feature.selection.selected;\n } else if (feature && undefined !== layer.selection.active) {\n // project layer\n var pLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var fid = _this7._getFeatureId(feature, layer.external);\n var is_selected_feature = feature ? pLayer.hasSelectionFid() : false;\n //force to add selection feature in case of no pagination and selection is due an autofilter search\n if (!_this7.state.query.pagination && pLayer.state.filter.active && !is_selected_feature) {\n is_selected_feature = true;\n pLayer.addOlSelectionFeature({ id: fid, feature: feature }).selected = true;\n pLayer.includeSelectionFid(fid, false);\n }\n feature.selection.selected = is_selected_feature;\n action.state.toggled[index] =\n //need to check if set active filter and no saved filter is set\n pLayer.state.filter.active && null == pLayer.state.filter.current ||\n //or if feature fid is in selected array\n is_selected_feature;\n action.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return action.state.show = !bool;\n });\n }\n },\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n\n /** @since 3.9.0 reactive `toggled` when adding new feature and then bind click on query result context (exclude existing features and add reactive array property) */\n change: function change(_ref9) {\n var _this10 = this;\n\n var features = _ref9.features;\n\n this.state.show = !state.query.pagination && !layer.filter.pagination;\n features.forEach(function (_, index) {\n return undefined === _this10.state.toggled[index] && _g3wEventbus.VM.$set(_this10.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this7.addToSelection.bind(_this7))\n },\n\n // permalink (click to copy)\n layer.hasgeometry && !layer.external && 'wms' !== (layer.source || {}).type && {\n id: 'link_zoom_to_fid',\n class: _gui2.default.getFontClass('share-alt'),\n hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint',\n hint_change: { hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change', duration: 1000 },\n cbk: function cbk(layer, feature, action) {\n var url = new URL(location.href);\n url.searchParams.set('zoom_to_fid', layer.id + '|' + feature.attributes[_g3wConstants.G3W_FID]);\n (0, _copyUrl.copyUrl)(url.toString());\n action.hint_changed = true;\n }\n },\n\n // edit\n layer.editable && false === layer.inediting && {\n id: 'editing',\n class: _gui2.default.getFontClass('pencil'),\n hint: 'sdk.tooltips.editing',\n cbk: function cbk(layer, feature) {\n return _this7.editFeature({ layer: layer, feature: feature });\n }\n }].filter(Boolean)));\n\n // In case of external layer don't listen to `selection` event\n if (layer.external && layer.toc && undefined !== layer.selection.active) {\n layer.features.forEach(function (f) {\n return f.selection = (layer.selection.features.find(function (s) {\n return f.id === s.getId();\n }) || { selection: { selected: false } }).selection;\n });\n } else if (!layer.external && layer.toc && undefined !== layer.selection.active) {\n var handler = function handler() {\n return layer.features.forEach(function (_, i) {\n return _this7.state.layersactions[layer.id].find(function (a) {\n return a.id === 'selection';\n }).state.toggled[i] = false;\n });\n };\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).on('unselectionall', handler);\n _this7.unlistenerlayeractionevents.push({ layer: (0, _getCatalogLayerById.getCatalogLayerById)(layer.id), event: 'unselectionall', handler: handler });\n }\n });\n\n this.addActionsForLayers(this.state.layersactions, this.state.layers);\n }\n\n /**\n * Get action referred to layer getting the action id\n *\n * @param opts.layer layer linked to action\n * @param opts.id action id\n * \n * @returns undefined when no action is found\n */\n\n }, {\n key: 'getActionLayerById',\n value: function getActionLayerById() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref10.layer,\n id = _ref10.id;\n\n if (this.state.layersactions[layer.id]) {\n return this.state.layersactions[layer.id].find(function (action) {\n return action.id === id;\n });\n }\n }\n\n /**\n * Set current layer action tool in feature\n *\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.index feature index\n * @param opts.action action\n * @param opts.component vue component\n */\n\n }, {\n key: 'setCurrentActionLayerFeatureTool',\n value: function setCurrentActionLayerFeatureTool() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n action = _ref11.action,\n index = _ref11.index,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component;\n\n var tools = this.state.currentactiontools[layer.id]; // get current action tools\n var feats = this.state.currentactionfeaturelayer[layer.id];\n feats[index] = component ? action : null;\n tools[index] = component; // set component\n\n // need to check if pass component and\n if (tools[index] && // if component is set\n action.id !== feats[index].id && // same action\n feats[index].toggleable // check if toggleable\n ) {\n feats[index].state.toggled[index] = false;\n }\n }\n\n /**\n * @TODO rename misleading method name: `addActionToolsLayer`\n * @param {Object } opts\n * @param opts.id action layer id\n * @param opts.layer layer\n * @param opts.config configuration object\n * @param opts.action (since 3.9.0) configuration object\n */\n\n }, {\n key: 'addCurrentActionToolsLayer',\n value: function addCurrentActionToolsLayer(_ref12) {\n var id = _ref12.id,\n layer = _ref12.layer,\n _ref12$config = _ref12.config,\n config = _ref12$config === undefined ? {} : _ref12$config,\n action = _ref12.action;\n\n if (!layer) {\n return;\n }\n this.state.actiontools[id] = _defineProperty({}, layer.id, config);\n if (action) {\n this.state.layersactions[layer.id] = this.state.layersactions[layer.id] || [];\n this.state.layersactions[layer.id].push(action);\n }\n }\n\n /**\n * @FIXME add description\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.component vue component\n * @param opts.config configuration Object\n */\n\n }, {\n key: 'setLayerActionTool',\n value: function setLayerActionTool() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref13.layer,\n _ref13$component = _ref13.component,\n component = _ref13$component === undefined ? null : _ref13$component,\n _ref13$config = _ref13.config,\n config = _ref13$config === undefined ? null : _ref13$config;\n\n this.state.layeractiontool[layer.id].component = component;\n this.state.layeractiontool[layer.id].config = config;\n }\n }, {\n key: 'clear',\n\n\n /**\n * Clear all\n */\n value: function clear() {\n this._asyncFnc.todo();\n // unlistener events actions\n this.unlistenerlayeractionevents.forEach(function (obj) {\n return obj.layer.off(obj.event, obj.handler);\n });\n this.unlistenerlayeractionevents = [];\n _gui2.default.getService('map').clearHighlightGeometry();\n this.resultsQueryLayer.getSource().clear();\n this.removeAddFeaturesLayerResultInteraction(true);\n this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n this.clearState();\n this.closeComponent();\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n }\n\n /**\n * Check if a one layer result\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isOneLayerResult',\n value: function isOneLayerResult() {\n return 1 === this.state.layers.length;\n }\n\n /**\n * @FIXME add description\n *\n * @param {boolean} toggle whether toggle mapcontrol\n */\n\n }, {\n key: 'removeAddFeaturesLayerResultInteraction',\n value: function removeAddFeaturesLayerResultInteraction(toggle) {\n var interaction = this._addFeaturesLayerResultInteraction;\n\n if (null !== interaction.toggleeventhandler) {\n _gui2.default.getService('map').off('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n\n // remove current interaction to get features from layer\n if (null !== interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // check if query map control is toggled and registered\n if (null !== interaction.mapcontrol) {\n interaction.mapcontrol.toggle(toggle);\n }\n\n // reset values\n Object.assign(interaction, {\n interaction: null,\n id: null,\n toggleeventhandler: null,\n mapcontrol: null\n });\n }\n\n /**\n * Adds feature to Features layer results\n *\n * @param layer\n */\n\n }, {\n key: 'addLayerFeaturesToResultsAction',\n value: function addLayerFeaturesToResultsAction(layer) {\n var _this11 = this;\n\n var interaction = this._addFeaturesLayerResultInteraction;\n\n var not_current = ![null, layer.id].includes(interaction.id);\n var new_layer = not_current && this.state.layers.find(function (l) {\n return l.id === interaction.id;\n });\n\n // disable previous layer\n if (not_current && new_layer) {\n new_layer.addfeaturesresults.active = false;\n }\n\n // remove previous interaction\n if (not_current && interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // set new layer\n interaction.id = layer.id;\n\n layer.addfeaturesresults.active = !layer.addfeaturesresults.active;\n\n if (false === layer.addfeaturesresults.active) {\n this.removeAddFeaturesLayerResultInteraction(true);\n } else {\n\n this.activeMapInteraction(); // useful to send an event\n\n var external_layer = (this.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external;\n\n interaction.mapcontrol = interaction.mapcontrol || _gui2.default.getService('map').getCurrentToggledMapControl() || null; //need to be set null when this.mapService.getCurrentToggledMapControl() is undefined\n interaction.interaction = new _pickcoordinatesinteraction2.default();\n\n _gui2.default.getService('map').addInteraction(interaction.interaction, { close: false });\n\n interaction.interaction.on('picked', function () {\n var _ref15 = _asyncToGenerator(function* (_ref14) {\n var coordinates = _ref14.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this11.setQueryResponse({\n data: [_this11.getVectorLayerFeaturesFromQueryRequest(_this11._vectorLayers.find(function (v) {\n return layer.id === v.get('id');\n }), { coordinates: coordinates })],\n query: { coordinates: coordinates }\n }, { add: true });\n } else {\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n query_point_tolerance: _this11._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x19) {\n return _ref15.apply(this, arguments);\n };\n }());\n\n interaction.toggleeventhandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n layer.addfeaturesresults.active = false;\n }\n };\n\n _gui2.default.getService('map').once('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n }\n\n /**\n * used by the following plugins: \"bforest\"\n */\n\n }, {\n key: 'deactiveQueryInteractions',\n value: function deactiveQueryInteractions() {\n this.state.layers.forEach(function (l) {\n if (l.addfeaturesresults) {\n l.addfeaturesresults.active = false;\n }\n });\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'zoomToLayerFeaturesExtent',\n value: function zoomToLayerFeaturesExtent(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.highlight = !this.isOneLayerResult();\n if (this._asyncFnc.zoomToLayerFeaturesExtent.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').zoomToFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').zoomToFeatures(layer.features || [], options);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'highLightLayerFeatures',\n value: function highLightLayerFeatures(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this._asyncFnc.highLightLayerFeatures.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').highlightFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').highlightFeatures(layer.features || [], options);\n }\n }\n\n /**\n * Reset internal state\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.layers.splice(0);\n this.state.query = null;\n this.state.querytitle = \"\";\n this.state.changed = false;\n // clear actions\n Object.values(this.state.layersactions).forEach(function (l) {\n return l.forEach(function (a) {\n return a.clear && a.clear();\n });\n });\n this.state.layersactions = {};\n this.state.actiontools = {};\n this.state.layeractiontool = {};\n this.state.currentactiontools = {};\n this.state.layersFeaturesBoxes = {};\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @FIXME add description\n *\n * @param state\n */\n\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state = state;\n }\n\n /**\n * @FIXME add description\n *\n * @param project\n */\n\n }, {\n key: '_setRelations',\n value: function _setRelations(project) {\n this._relations = (project.getRelations() || []).reduce(function (group, r) {\n group[r.referencedLayer] = group[r.referencedLayer] || [];\n group[r.referencedLayer].push(r);\n return group;\n }, {});\n }\n\n /**\n * @FIXME add description\n *\n * @param querytitle\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(querytitle) {\n this.state.querytitle = querytitle || \"\";\n }\n\n /**\n * @FIXME add description\n *\n * @param actionId\n * @param layer\n * @param feature\n * @param index\n * @param container\n */\n\n }, {\n key: 'trigger',\n value: function () {\n var _ref16 = _asyncToGenerator(function* (actionId, layer, feature, index, container) {\n if ('highlightgeometry' === actionId) {\n this.highlightGeometry(layer, feature, index);\n }\n if ('clearHighlightGeometry' === actionId) {\n this.clearHighlightGeometry(layer, feature, index);\n }\n if (layer && this.state.layersactions[layer.id]) {\n var action = this.state.layersactions[layer.id].find(function (layerAction) {\n return layerAction.id === actionId;\n });\n if (action && action.cbk) {\n yield action.cbk(layer, feature, action, index, container);\n }\n if (action && action.route) {\n var url = action.route.replace(/{(\\w*)}/g, function (m, key) {\n return feature.attributes.hasOwnProperty(key) ? feature.attributes[key] : \"\";\n });\n if (url && '' !== url) {\n _gui2.default.goto(url);\n }\n }\n }\n });\n\n function trigger(_x22, _x23, _x24, _x25, _x26) {\n return _ref16.apply(this, arguments);\n }\n\n return trigger;\n }()\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'registerVectorLayer',\n value: function registerVectorLayer(vectorLayer) {\n if (!this._vectorLayers.includes(vectorLayer)) {\n this._vectorLayers.push(vectorLayer);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'unregisterVectorLayer',\n value: function unregisterVectorLayer(vectorLayer) {\n var _this12 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this12.state.layers = _this12.state.layers.filter(function (l) {\n return l.id !== vectorLayer.get('id');\n });\n return vl !== vectorLayer;\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n * @param query\n *\n * @returns {Object|Boolean}\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromQueryRequest',\n value: function getVectorLayerFeaturesFromQueryRequest(vectorLayer) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var coordinates = query.coordinates,\n bbox = query.bbox,\n geometry = query.geometry,\n _query$filterConfig = query.filterConfig,\n filterConfig = _query$filterConfig === undefined ? {} : _query$filterConfig; // extract information about a query type\n\n var features = [];\n\n var has_coords = coordinates && Array.isArray(coordinates);\n var has_bbox = bbox && Array.isArray(bbox);\n\n // case query coordinates\n if (has_coords) {\n _gui2.default.getService('map').viewer.map.forEachFeatureAtPixel(_gui2.default.getService('map').viewer.map.getPixelFromCoordinate(coordinates), function (f) {\n features.push(f);\n }, { layerFilter: function layerFilter(l) {\n return l === vectorLayer;\n } });\n }\n\n // case query bbox\n if (has_bbox && !has_coords) {\n //set geometry has Polygon\n geometry = ol.geom.Polygon.fromExtent(bbox);\n }\n\n var is_poly = geometry instanceof ol.geom.Polygon || geometry instanceof ol.geom.MultiPolygon;\n\n // check query geometry (Polygon or MultiPolygon)\n if (is_poly && !has_coords && _vectorlayer.VectorLayer === vectorLayer.constructor) {\n features = vectorLayer.getIntersectedFeatures(geometry);\n } else if (is_poly && !has_coords && ol.layer.Vector === vectorLayer.constructor) {\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n var add = void 0;\n switch (filterConfig.spatialMethod) {\n case 'intersects':\n add = (0, _intersects.intersects)(geometry, f.getGeometry());break;\n case 'within':\n add = (0, _within.within)(geometry, f.getGeometry());break;\n default:\n add = geometry.intersectsExtent(f.getGeometry().getExtent());break;\n }\n if (true === add) {\n features.push(f);\n }\n });\n }\n\n return {\n features: features,\n layer: vectorLayer\n };\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: '_printSingleAtlas',\n value: function _printSingleAtlas() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$atlas = _ref17.atlas,\n atlas = _ref17$atlas === undefined ? {} : _ref17$atlas,\n _ref17$features = _ref17.features,\n features = _ref17$features === undefined ? [] : _ref17$features;\n\n var field = atlas.atlas && atlas.atlas.field_name ? atlas.atlas.field_name : '$id';\n return (0, _printAtlas.printAtlas)({\n field: field,\n values: features.map(function (feat) {\n return feat.attributes['$id' === field ? _g3wConstants.G3W_FID : field];\n }),\n template: atlas.name,\n download: true\n }).then(function (_ref18) {\n var url = _ref18.url;\n return _gui2.default.downloadWrapper(_downloadFile.downloadFile, { url: url, filename: atlas.name, mime_type: 'application/pdf' });\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param ids\n * @param container\n * @param relationData\n */\n\n }, {\n key: 'showChart',\n value: function showChart(ids, container, relationData) {\n this.emit('show-chart', ids, container, relationData);\n }\n\n /**\n * @FIXME add description\n * \n * @param container DOM element\n */\n\n }, {\n key: 'hideChart',\n value: function hideChart(container) {\n this.emit('hide-chart', container);\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'printAtlas',\n value: function printAtlas(layer, feature) {\n var _this13 = this;\n\n var features = feature ? [feature] : layer.features;\n var atlasLayer = this._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n });\n\n /** @FIXME add description */\n if (atlasLayer.length <= 1) {\n this._printSingleAtlas({ features: features, atlas: atlasLayer[0] });\n return;\n }\n\n var inputs = '';\n\n atlasLayer.forEach(function (atlas, index) {\n var id = (0, _getUniqueDomId.getUniqueDomId)();\n inputs += '';\n inputs += '';\n inputs += '
';\n });\n\n _gui2.default.showModalDialog({\n title: t('sdk.atlas.template_dialog.title'),\n message: inputs,\n buttons: {\n success: {\n label: \"OK\",\n className: \"skin-button\",\n callback: function callback() {\n var index = $('input[name=\"template\"]:checked').attr('g3w_atlas_index');\n if (undefined === index) {\n return false; // prevent default\n }\n _this13._printSingleAtlas({ features: features, atlas: atlasLayer[index] });\n }\n }\n }\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'showLayerDownloadFormats',\n value: function showLayerDownloadFormats(layer) {\n layer.downloadformats.active = !layer.downloadformats.active;\n this.setLayerActionTool({\n layer: layer,\n component: layer.downloadformats.active ? _QueryResultsActionDownloadFormats2.default : null,\n config: layer.downloadformats.active ? _extends({}, this.state.actiontools.downloadformats[layer.id], {\n //for download layer need to filter pdf format because it works only for a single feature\n downloads: this.state.actiontools.downloadformats[layer.id].downloads.filter(function (d) {\n return 'pdf' !== d.format;\n })\n }) : null\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param type\n * @param layer\n * @param features\n * @param action\n * @param index\n * @param html\n */\n\n }, {\n key: 'downloadFeatures',\n value: function () {\n var _ref19 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this14 = this;\n\n var index = arguments[4];\n var html = arguments[5];\n\n\n if (features && !Array.isArray(features)) {\n features = [features];\n }\n\n var _state$query = this.state.query,\n query = _state$query === undefined ? {} : _state$query;\n\n var data = {\n fids: features.map(function (f) {\n return f.attributes[_g3wConstants.G3W_FID];\n }).join(',')\n };\n\n //In the case of pdf type need to add html element\n if ('pdf' === type) {\n data.html = html;\n }\n\n /**\n * A function that che be called in case of querybypolygon\n *\n * @param active\n */\n var runDownload = function () {\n var _ref20 = _asyncToGenerator(function* () {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\n if (features.length > 1) {\n layer.downloadformats.active = active;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref21.layer,\n type = _ref21.type,\n data = _ref21.data;\n\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).getDownloadFilefromDownloadDataType(type, { data: data }) || Promise.resolve();\n }, {\n layer: layer,\n type: type,\n data: data\n });\n\n var downloadsactions = _this14.state.layersactions[layer.id].find(function (action) {\n return 'downloads' === action.id;\n });\n\n /** @FIXME add description */\n if (features.length > 1 && undefined === downloadsactions) {\n layer[type].active = false;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n /** @FIXME add description */\n if (features.length > 1 && undefined !== downloadsactions) {\n layer.downloadformats.active = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined === downloadsactions) {\n action.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined !== downloadsactions) {\n downloadsactions.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1) {\n _this14.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref20.apply(this, arguments);\n };\n }();\n\n /** @FIXME add description */\n if ('polygon' !== query.type) {\n yield runDownload();\n return;\n }\n\n // check if multi-download if present\n var downloadsactions = this.state.layersactions[layer.id].find(function (action) {\n return action.id === 'downloads';\n });\n\n var config = {\n choices: [{\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'feature',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature.label'\n }, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'polygon',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label'\n }],\n // choose between only feature attribute or also polygon attribute\n download: function download(type) {\n if ('polygon' === type) {\n // id type polygon add parameters to api download\n data.sbp_qgs_layer_id = layer.id;\n data.sbp_fid = query.fid;\n } else {\n // force to remove\n delete data.sbp_fid;\n delete data.sbp_qgs_layer_id;\n }\n runDownload(true);\n }\n };\n\n /** @FIXME add description */\n if (1 === features.length && undefined === downloadsactions) {\n action.state.toggled[index] = true;\n }\n\n /** @FIXME add description */\n if (1 === features.length) {\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name] = this.state.actiontools[layer.id] || {};\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name][layer.id] = config;\n this.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: _QueryResultsActionQueryPolygonCSVAttributes2.default\n });\n }\n\n /** @FIXME add description */\n if (undefined === downloadsactions && 1 !== features.length) {\n layer[type].active = !layer[type].active;\n }\n\n /** @FIXME add description */\n if (1 !== features.length) {\n var has_config = downloadsactions || layer[type].active && undefined === downloadsactions;\n this.setLayerActionTool({\n layer: layer,\n component: has_config ? _QueryResultsActionQueryPolygonCSVAttributes2.default : null,\n config: has_config ? config : null\n });\n }\n });\n\n function downloadFeatures(_x30, _x31) {\n return _ref19.apply(this, arguments);\n }\n\n return downloadFeatures;\n }()\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'goToGeometry',\n value: function goToGeometry(layer, feature) {\n var _this15 = this;\n\n if (!feature.geometry) {\n return;\n }\n if (this._asyncFnc.goToGeometry.async) {\n this._asyncFnc.todo = _gui2.default.getService('map')[this.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'].bind(_gui2.default.getService('map'), this.isOneLayerResult() ? [feature] : feature.geometry, this.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n } else {\n setTimeout(function () {\n return _gui2.default.getService('map')[_this15.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this15.isOneLayerResult() ? [feature] : feature.geometry, _this15.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'highlightGeometry',\n value: function highlightGeometry(layer, feature) {\n if (feature.geometry) {\n _gui2.default.getService('map').highlightGeometry(feature.geometry, { layerId: layer.id, zoom: false, duration: Infinity });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry(layer) {\n _gui2.default.getService('map').clearHighlightGeometry();\n if (!this.state.query.pagination && this.isOneLayerResult()) {\n _gui2.default.getService('map').highlightFeatures(layer.features, { duration: Infinity });\n }\n }\n\n /**\n * Handle show Relation on result\n * @param { Object } opts\n * @param opts.relation\n * @param opts.layerId current layer father id\n * @param opts.feature current feature father id\n */\n\n }, {\n key: 'showRelation',\n value: function showRelation() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref22.relation,\n layerId = _ref22.layerId,\n feature = _ref22.feature;\n\n var projectRelation = this._project.getRelationById(relation.name);\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n currentview: 'relation',\n relations: [projectRelation],\n chartRelationIds: this.plotLayerIds.find(function (pid) {\n return pid == projectRelation.referencingLayer;\n }) ? [projectRelation.referencingLayer] : [],\n nmRelation: this._project.getRelationById(relation.nmRelationId),\n layer: { id: layerId },\n feature: feature\n })\n }),\n crumb: {\n title: projectRelation.name,\n text: true\n },\n title: projectRelation.name,\n text: true,\n closable: false\n });\n }\n }, {\n key: '_getFeatureId',\n\n\n /**\n * Get id of the feature\n *\n * @since 3.9.0\n */\n value: function _getFeatureId(feature, external) {\n return external ? feature.id : feature.attributes[_g3wConstants.G3W_FID];\n }\n\n /**\n * @TODO make it simpler..\n * @TODO make it a Layers class function ? \n * \n * Add / Remove features from selection\n * \n * ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@3.8.12::addToSelection\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'addToSelection',\n value: function addToSelection(layer, feature, action, index) {\n\n var service = _gui2.default.getService('queryresults');\n var map = _gui2.default.getService('map');\n\n // TODO: avoid referencing this private stuff\n var getFeatureId = service._getFeatureId.bind(service);\n var getActionLayerById = service.getActionLayerById.bind(service);\n\n //is true when click on the selection icon on top of each layer result\n var layerSelection = undefined === feature && undefined === action && undefined === index;\n\n var _action = layerSelection ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = layerSelection && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = layerSelection ? layer.external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id) : (service.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external || false ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var features = layerSelection ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = layerSelection ? {\n fids: features.length > 0 ? features.map(function (f) {\n return _layer.external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }) : null,\n features: features,\n force: toggled ? 'remove' : 'add'\n } : {\n fids: [feature ? getFeatureId(feature, _layer.external) : null],\n features: features,\n index: index,\n force: undefined\n };\n\n //in case, switch selection for all features of a layer\n if (layerSelection) {\n layer.features.forEach(function (f, i) {\n _action.state.toggled[i] = !toggled;\n f.selection.selected = _action.state.toggled[i];\n });\n } else {\n //in the case of switch selection on single feature layer\n _action.state.toggled[index] = !_action.state.toggled[index];\n feature.selection.selected = _action.state.toggled[index];\n }\n\n //In case of pagination and toggled selection layer\n if (toggled && layerSelection) {\n _layer.clearSelectionFids();\n return;\n }\n\n /**\n * PROJECT LAYER\n */\n if (!layer.external && ![null, undefined].includes(params.fids)) {\n var _layer2 = _layer;\n var fids = params.fids,\n _features = params.features,\n force = params.force;\n\n\n fids = Array.isArray(fids) ? fids : [fids];\n _features = Array.isArray(_features) ? _features : [_features];\n\n var include = []; // fid of features to include\n var exclude = []; // fid of features to exclude\n\n fids.forEach(function (fid, idx) {\n var feature = _features[idx];\n var is_selected = _layer2.state.filter.active || _layer2.hasSelectionFid(fid);\n\n // if not already selected and feature is not added to OL selection layer on map --> add as feature of selected layer\n if (!is_selected && feature && feature.geometry && !_layer2.getOlSelectionFeature(fid)) {\n _layer2.addOlSelectionFeature({ id: fid, feature: feature });\n }\n\n // force action\n if (undefined === force) {\n _layer2[is_selected ? 'excludeSelectionFid' : 'includeSelectionFid'](fid);\n }\n\n // force add\n if ('add' === force && !is_selected) {\n include.push(fid);\n }\n\n // force remove\n if ('remove' === force) {\n exclude.push(fid);\n }\n });\n\n _layer2.includeSelectionFids(include, false);\n _layer2.excludeSelectionFids(exclude, false);\n\n (_layer2.state.filter.active ? _layer2.createFilterToken() : Promise.resolve()).then(function () {\n var _GUI$getService$getSt = _gui2.default.getService('queryresults').getState(),\n layers = _GUI$getService$getSt.layers;\n\n /** @TODO add description */\n\n\n fids.forEach(function (fid, idx) {\n var currentLayer = !_layer2.hasSelectionFid(fid) && _layer2.state.filter.active && _layer2.getSelectionFids().size > 0 && layers.find(function (l) {\n return l.id === _layer2.getId();\n });\n if (currentLayer) {\n currentLayer.features.splice(undefined === index ? idx : index, 1);\n }\n });\n\n map.clearHighlightGeometry();\n\n /** @TODO add description */\n if (1 === layers.length && !layers[0].features.length) {\n layers.splice(0);\n }\n });\n }\n\n /**\n * EXTERNAL LAYER\n */\n if (layer.external && ![null, undefined].includes(params.fids)) {\n\n var _layer3 = _layer;\n var _fids = params.fids,\n _features2 = params.features,\n _force = params.force;\n\n //Take in an account array or single fid\n\n _features2 = Array.isArray(_features2) ? _features2 : [_features2];\n\n //check if layer.selection.features is undefined\n if (undefined === _layer3.selection.features) {\n //set array\n _layer3.selection.features = [];\n }\n\n _fids.forEach(function (fid, i) {\n var feature = _features2[i];\n\n // Set feature used in selection tool action\n if (undefined === _layer3.selection.features.find(function (f) {\n return f.getId() === fid;\n })) {\n // create ol feature from an object\n var feat = feature;\n var attributes = feature.attributes;\n\n if (feature.geometry) {\n feat = new ol.Feature(feature.geometry);\n feat.setId(fid);\n }\n Object.keys(attributes).forEach(function (attr) {\n return feat.set(attr, attributes[attr]);\n });\n feat.__layerId = _layer3.id;\n feat.selection = feature.selection;\n _layer3.selection.features.push(feat);\n }\n\n //check if feature is already select or feature is already removed (no selected)\n /** If not, changes to apply return */\n if ('add' === _force && feature.selection.selected || 'remove' === _force && !feature.selection.selected) {\n return;\n }\n\n /** Need to add selection on map */\n map.setSelectionFeatures(feature.selection.selected ? 'add' : 'remove', {\n feature: _layer3.selection.features.find(function (selectionFeature) {\n return fid === selectionFeature.getId();\n })\n });\n });\n\n // Set selection layer active based on features selection selected properties.\n _layer3.selection.active = _layer3.selection.features.reduce(function (acc, feature) {\n return acc || feature.selection.selected;\n }, false);\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":95,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":97,\"components/RelationsPage.vue\":104,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"g3w-object\":130,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/copyUrl\":190,\"utils/downloadFile\":200,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/intersects\":221,\"utils/printAtlas\":231,\"utils/throttle\":241,\"utils/within\":244}],177:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file\n * @since v3.6\n */\n\n\nvar _XHR = require('utils/XHR');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SERVER\n * \"\"\"Returns the (possibly) new layer ID where the isochrone\n data has been added. If the task has not yet completed, a status message is returned\n\n Note: `project_id` is only used for permissions checking!\n\n Returns 500 in case of exception\n Returns 404 in case of a task didn't find\n Returns 200 ok for all other cases\n\n Response body:\n\n {\n \"status\": \"complete\", // or \"pending\" or \"error\", full list at\n // https://huey.readthedocs.io/en/latest/signals.html#signals\n \"exception\": \"Normally empty, error message in case of errors\",\n \"progress\": [\n 100, // Progress %\n ],\n \"task_result\": {\n \"qgis_ayer_id\": \"4f2a88a1-ca93-4859-9de3-75d9728cde0e\"\n }\n }\n\n **/\n\n/**\n * Singletone service to run async task\n */\nexports.default = new (function () {\n function TaskService() {\n _classCallCheck(this, TaskService);\n\n /**\n * Array contains all task id that are running. Each item is an object contain:\n * {\n * taskId: //taskId,\n * intervalId: interval to clear clearInterval()\n * }\n **/\n this.tasks = [];\n }\n\n /**\n *\n * @param opts: {\n * method: http method to run task GET/POST\n * url: api request url (that server start in background task)\n * taskUrl = url to ask the status og task\n * params: Object contain param to http/https request\n * interval: interval in milliseconds to do a request for ask status of task (default 10000 - 1 second)\n * listener: ()=>{} method to call\n *\n * }\n *\n * return a Promise that return a task id\n */\n\n\n _createClass(TaskService, [{\n key: 'runTask',\n value: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$method = opts.method,\n method = _opts$method === undefined ? 'GET' : _opts$method,\n _opts$params = opts.params,\n params = _opts$params === undefined ? {} : _opts$params,\n url = opts.url,\n taskUrl = opts.taskUrl,\n _opts$interval = opts.interval,\n interval = _opts$interval === undefined ? 1000 : _opts$interval,\n _opts$timeout = opts.timeout,\n timeout = _opts$timeout === undefined ? Infinity : _opts$timeout,\n _opts$listener = opts.listener,\n listener = _opts$listener === undefined ? function () {} : _opts$listener;\n\n try {\n var response = 'GET' === method ? yield _XHR.XHR.get({\n url: url,\n params: params\n }) : yield _XHR.XHR.post({\n url: url,\n data: params.data || {},\n contentType: params.contentType || \"application/json\"\n });\n var result = response.result,\n task_id = response.task_id;\n\n if (result) {\n var intervalId = setInterval(_asyncToGenerator(function* () {\n // check if timeout is defined\n timeout = timeout - interval;\n if (timeout > 0) {\n var _response = void 0;\n try {\n _response = yield _XHR.XHR.get({\n url: '' + taskUrl + task_id\n });\n } catch (e) {\n _response = e;\n console.warn(e);\n }\n listener({\n task_id: task_id,\n timeout: false,\n response: _response\n });\n } else {\n listener({\n timeout: true\n });\n _this.stopTask({\n task_id: task_id\n });\n }\n }), interval);\n\n // add current task to list of task\n this.tasks.push({\n task_id: task_id,\n intervalId: intervalId\n });\n\n // run first time listener function\n listener({\n task_id: task_id,\n response: response\n });\n } else {\n return Promise.reject(response);\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function runTask() {\n return _ref.apply(this, arguments);\n }\n\n return runTask;\n }()\n }, {\n key: 'stopTask',\n\n\n /**\n *\n * @param opts: {\n * taskId: taskId that is running\n * }\n */\n value: function stopTask() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var task = this.tasks.find(function (t) {\n return opts.task_id === t.task_id;\n });\n if (task) {\n clearInterval(task.intervalId);\n }\n }\n }, {\n key: 'clear',\n\n\n /**\n * clare all task\n */\n value: function clear() {\n var _this2 = this;\n\n this.tasks.forEach(function (_ref3) {\n var taskId = _ref3.taskId;\n return _this2.stopTask({ taskId: taskId });\n });\n //reset to empty tasks\n this.tasks.splice(0);\n }\n }]);\n\n return TaskService;\n}())();\n\n},{\"utils/XHR\":181}],178:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * State of application reactive\n * @type {object}\n */\nvar STATE = Vue.observable({\n\n /**\n * true = application is ready\n */\n ready: false,\n\n /**\n * true = application is loaded inside an iframe\n */\n iframe: window.top !== window.self,\n\n /**\n * true = application is connected\n */\n online: navigator.onLine,\n\n /**\n * true = application is loaded on a mobile device\n */\n ismobile: isMobile.any,\n\n /**\n * true = there is a pending download \n */\n download: false,\n\n /**\n * true = there is a pending upload\n */\n upload: false,\n\n /**\n * Store current map base layer id\n */\n baseLayerId: null,\n\n /**\n * en = default language\n */\n language: 'en',\n\n /**\n * @deprecated Since v3.8. Will be deleted in v4.x. Use ApplicationState.language instead\n */\n lng: 'en',\n\n /**\n * Store Array of loading plugins (by name)\n * Every time a plugin is loaded, plugin name is removed from Array\n * It used in v-plugins directive\n */\n plugins: [],\n\n /** @since 3.11.0 - plugin configs filtered by gid */\n pluginsConfigs: {},\n\n /** @since 3.11.0 - array of initConfig.plugins names */\n configurationPlugins: [],\n\n /**\n * Store application current user\n */\n user: null,\n\n /**\n * Store info of the application map\n */\n map: {\n epsg: '',\n unit: 'metric'\n },\n\n /**\n * Store info of the elements of GUI of the application\n */\n gui: {\n\n app: {\n /**\n * true = application is disabled and unclickable (waiting)\n */\n disabled: false\n },\n\n sidebar: {\n /**\n * true = sidebar is disabled (not responsive)\n */\n disabled: false,\n /**\n * @since v3.11.0\n * true open, false hide - icons only\n */\n open: true\n },\n\n layout: {\n /**\n * store the current layout owner (\"app\" = default)\n */\n __current: 'app',\n\n /**\n * Store application layout info (rightpanel)\n */\n app: {}\n\n }\n\n },\n\n /**\n * Sore vendor keys need it by application third part script\n */\n keys: {\n vendorkeys: {\n google: undefined,\n bing: undefined\n }\n },\n\n /**\n * Store tokens, used by server, for example, to filter features\n */\n tokens: {\n filtertoken: undefined\n },\n\n /**\n * @since 3.10.0\n */\n querybuilder: {\n cache: {},\n searches: JSON.parse(window.localStorage.getItem('QUERYBUILDERSEARCHES') || \"{}\")\n },\n\n /**\n * @since 3.11.0\n */\n navbaritems: [],\n\n /**\n * @since 3.11.0\n */\n sidebar: {\n title: '',\n components: [],\n /** DOM element where insert the component/panel */\n parent: null,\n /** barstack state. It stores the panel array */\n contentsdata: [] // Array<{ content, options }> \n },\n\n contentsdata: [],\n\n /**\n * @since 3.11.0\n */\n viewport: {\n primaryView: 'map', // primary view (default)\n // percentage of secondary view\n secondaryPerc: 0, // setted to 0 at beginning (not visible)\n // used to store if content vertical or horizontal is changed by resised\n resized: {\n start: false,\n 'h': false,\n 'v': false\n },\n // splitting orientation (h = horizontal, v = vertical)\n split: 'h',\n //map\n map: {\n sizes: {\n width: 0,\n height: 0\n },\n aside: false\n },\n //content\n content: {\n loading: false,\n disabled: false,\n sizes: {\n width: 0,\n height: 0\n },\n // store the resize vertical or horizontal\n resize: {\n 'h': { perc: 0 },\n 'v': { perc: 0 }\n },\n aside: true,\n showgoback: true,\n stack: [], // array elements of stack contents\n closable: true, // (x) is closable\n backonclose: false, // back on prevoius content\n contentsdata: [] // content data array\n },\n usermessage: {\n id: null, // unique identify\n show: false,\n title: null,\n message: null,\n position: null,\n type: null,\n draggable: null,\n cloasable: null,\n autoclose: null,\n textMessage: false,\n hooks: {\n header: null,\n body: null,\n footer: null\n }\n },\n // content of viewport (map and content)\n components: {\n map: null,\n content: null\n }\n },\n\n sizes: {\n sidebar: {\n width: 0\n }\n },\n\n /** @since 3.11.0 */\n i18n: {\n plugins: {} // plugins configs\n },\n\n /** @since 3.11.0 */\n project: new _g3wObject2.default(),\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false\n\n}); /**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nexports.default = STATE;\n\n},{\"g3w-object\":130}],179:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nvar PLUGINS = {}; /**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nexports.default = Object.assign(new _g3wObject2.default(), { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin: function registerPlugin(plugin) {\n PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin;\n }\n },\n /** @returns Plugin instance */\n getPlugin: function getPlugin(name) {\n return PLUGINS[name];\n }\n});\n\n},{\"g3w-object\":130}],180:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n *\n * @since 3.11.0\n */\n\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projection.js@v3.10.1\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projections.js@v3.10.1\n */\nexports.default = {\n get: function get() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n var proj = {\n code: crs.epsg,\n extent: crs.extent,\n axisOrientation: crs.axisinverted ? 'neu' : 'enu',\n units: crs.geographic ? 'degrees' : 'm'\n };\n p = new ol.proj.Projection(proj);\n p.getAxisOrientation = function () {\n return proj.axisOrientation;\n };\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\n\n\n /**\n * Check and register epsg\n * \n * @param epsg : \"EPSG:\" Ex. \"EPSG:4326\"\n * \n * @returns { Promise }\n * \n * @since v3.8\n */\n registerProjection: function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n var p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n var _ref2 = yield (yield fetch('/crs/' + epsg.split(':')[1] + '/')).json(),\n result = _ref2.result,\n data = _ref2.data;\n\n if (result) {\n data.epsg = (0, _normalizeEpsg.normalizeEpsg)(data.epsg);\n p = this.get(data);\n ol.proj.proj4.register(proj4);\n return p;\n }\n }\n\n return p;\n });\n\n function registerProjection(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return registerProjection;\n }()\n};\n\n},{\"utils/normalizeEpsg\":228}],181:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.XHR = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _downloadFile = require('utils/downloadFile');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar XHR = exports.XHR = {\n\n /**\n *\n * @param url\n * @param params\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();) * @return {Promise}\n */\n get: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref2.url,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n signal = _ref2.signal;\n\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n var response = yield (yield fetch(url + (params ? '?' : '') + params, { signal: signal })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function get() {\n return _ref.apply(this, arguments);\n }\n\n return get;\n }(),\n\n\n /**\n *\n * @param url\n * @param data\n * @param formdata\n * @param contentType\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();)\n * @return {Promise}\n */\n post: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n data = _ref4.data,\n _ref4$formdata = _ref4.formdata,\n formdata = _ref4$formdata === undefined ? false : _ref4$formdata,\n contentType = _ref4.contentType,\n signal = _ref4.signal;\n\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n return formdata.append(key, value);\n });\n } else if (!contentType) {\n formdata = new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString();\n } else {\n formdata = 'string' === typeof data ? data : JSON.stringify(data || {});\n }\n\n var response = yield (yield fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal: signal\n })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function post() {\n return _ref3.apply(this, arguments);\n }\n\n return post;\n }(),\n fileDownload: function fileDownload() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref7.url,\n data = _ref7.data,\n _ref7$httpMethod = _ref7.httpMethod,\n httpMethod = _ref7$httpMethod === undefined ? \"POST\" : _ref7$httpMethod,\n signal = _ref7.signal;\n\n var timeout = void 0;\n return new Promise(function () {\n var _ref8 = _asyncToGenerator(function* (resolve, reject) {\n try {\n timeout = setTimeout(function () {\n reject('Timeout');\n }, _g3wConstants.TIMEOUT);\n\n (0, _downloadFile.downloadFile)({\n url: 'GET' === httpMethod ? '' + url + (data ? '?' + new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString() : '') : url,\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Expose-Headers': 'Content-Disposition' //need to get filename from server\n },\n method: httpMethod,\n data: data && JSON.stringify(data),\n signal: signal\n });\n return resolve();\n } catch (e) {\n return reject(e);\n } finally {\n clearTimeout(timeout);\n }\n });\n\n return function (_x4, _x5) {\n return _ref8.apply(this, arguments);\n };\n }());\n },\n\n\n /**\n * Delete request\n *\n * @param url\n * @param data\n * @param signal\n * \n * @returns {Promise}\n * \n * @since 3.10.0\n */\n delete: function () {\n var _ref10 = _asyncToGenerator(function* (_ref9) {\n var url = _ref9.url,\n _ref9$data = _ref9.data,\n data = _ref9$data === undefined ? {} : _ref9$data,\n signal = _ref9.signal;\n\n return (yield fetch(url, {\n method: 'DELETE',\n body: JSON.stringify(data),\n signal: signal\n })).json();\n });\n\n function _delete(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return _delete;\n }()\n};\n\n},{\"g3w-constants\":126,\"utils/downloadFile\":200}],182:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addZValueToOLFeatureGeometry = addZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\n/**\n * @since 3.10.0 Add a 3d coordinate eventually, if coordinates are 2 (x, y)\n * @param coords\n * @return {*}\n */\nfunction add3DCoordinate(coords) {\n if (2 === coords.length) {\n coords.push(0);\n }\n return coords;\n}\n\n/**\n * core/geometry/geometry::addZValueToOLFeatureGeometry@v3.4\n */\nfunction addZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n geometryType = _ref.geometryType;\n\n if (!(0, _is3DGeometry.is3DGeometry)(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n var geometry = feature.getGeometry();\n var coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n coords.forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(function (l) {\n return l.forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGOZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('invalid geometry type:', geometryType || geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126,\"utils/is3DGeometry\":222}],183:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * @param { Array } coordinates1\n * @param { Array } coordinates2\n * \n * @returns { boolean }\n */\nfunction areCoordinatesEqual() {\n var coordinates1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var coordinates2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return coordinates1[0] === coordinates2[0] && coordinates1[1] === coordinates2[1];\n}\n\n},{}],184:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.base = base;\n/**\n * google closure library implementation\n */\nfunction base(me, opt_methodName, var_args) {\n // who call base\n // noinspection JSAnnotator\n var caller = arguments.callee.caller;\n if (caller.superClass_) {\n // This function constructor (that inherits from superClass_).\n // Call the superclass constructor.\n //It is an easy way to cal superclass in binding to this\n return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1));\n }\n var args = Array.prototype.slice.call(arguments, 2);\n var foundCaller = false;\n //constructor is the constructor function of the object\n for (var ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) {\n if (ctor.prototype[opt_methodName] === caller) {\n foundCaller = true;\n } else if (foundCaller) {\n return ctor.prototype[opt_methodName].apply(me, args);\n }\n }\n // If we did not find the caller in the prototype chain,\n // then one of two things happened:\n // 1) The caller is an instance method.\n // 2) This method was not called by the right caller.\n if (me[opt_methodName] === caller) {\n // call the function from a prototype object\n return me.constructor.prototype[opt_methodName].apply(me, args);\n } else {\n throw Error('base called from a method of one name ' + 'to a method of a different name');\n }\n}\n\n},{}],185:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.colorHEXToRGB = colorHEXToRGB;\n/**\n * Convert Hex value color to RGB array\n * \n * @param color\n * \n * @returns {number[]}\n */\nfunction colorHEXToRGB() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#FFFFFF';\n\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16)];\n}\n\n},{}],186:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertFeatureToGEOJSON = convertFeatureToGEOJSON;\n/**\n * Convert Feature to GeoJSON Format\n * \n * @param feature\n */\nfunction convertFeatureToGEOJSON(feature) {\n return new ol.format.GeoJSON().writeFeatureObject(feature);\n}\n\n},{}],187:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertQGISDateTimeFormatToMoment = convertQGISDateTimeFormatToMoment;\n/**\n * Covert datetime format from Qgis format to Moment\n * \n * @param datetimeformat\n * \n * @returns {*}\n */\nfunction convertQGISDateTimeFormatToMoment(datetimeformat) {\n datetimeformat = datetimeformat.replace(/y/g, 'Y');\n var matchDayInDate = datetimeformat.match(/d/g);\n if (matchDayInDate && matchDayInDate.length < 3) {\n datetimeformat = datetimeformat.replace(/d/g, 'D');\n }\n return datetimeformat;\n}\n\n},{}],188:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertSingleMultiGeometry = convertSingleMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\n/**\n * Convert geometry to geometryType (from Single to Multi or viceversa)\n * \n * @param { ol.geom } geometry current OL geometry\n * @param { string } toGeometryType \n */\nfunction convertSingleMultiGeometry(geometry, toGeometryType) {\n var from_type = geometry.getType();\n\n if (!toGeometryType || toGeometryType === from_type) {\n return geometry;\n }\n\n var from_multi = (0, _isMultiGeometry.isMultiGeometry)(from_type);\n var to_multi = (0, _isMultiGeometry.isMultiGeometry)(toGeometryType);\n\n if (from_multi && !to_multi) {\n switch (geometry.getType()) {\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n return geometry.getPolygons();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n return geometry.getPoints();\n default:\n console.warn('invalid geometry type', geometry.getType());\n }\n return [];\n }\n\n if (!from_multi && to_multi) {\n return new ol.geom['Multi' + from_type]([geometry.getCoordinates()]);\n }\n\n return geometry;\n}\n\n},{\"g3w-constants\":126,\"utils/isMultiGeometry\":224}],189:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.coordinatesToGeometry = coordinatesToGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction coordinatesToGeometry(geometryType, coordinates) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return new ol.geom.Polygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return new ol.geom.MultiPolygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return new ol.geom.LineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n return new ol.geom.MultiLineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return new ol.geom.Point(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return new ol.geom.MultiPoint(coordinates);\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return new ol.geom.Point(coordinates);\n\n }\n}\n\n},{\"g3w-constants\":126}],190:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copyUrl = copyUrl;\nfunction copyUrl(url) {\n var tempinput = document.createElement('input');\n document.body.appendChild(tempinput);\n tempinput.value = url;\n tempinput.select();\n document.execCommand('copy');\n document.body.removeChild(tempinput);\n};\n\n},{}],191:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFilterFormInputs = createFilterFormInputs;\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\n/**\n * @param layer single layer or an array of layers\n * @param inputs\n * \n * @returns {*}\n */\nfunction createFilterFormInputs(_ref) {\n var layer = _ref.layer,\n _ref$inputs = _ref.inputs,\n inputs = _ref$inputs === undefined ? [] : _ref$inputs;\n\n\n var filters = void 0;\n\n var fields = inputs.map(function (_ref2, i) {\n var attribute = _ref2.attribute,\n value = _ref2.value,\n operator = _ref2.operator,\n logicop = _ref2.logicop;\n\n // multi key relation fields\n if (Array.isArray(attribute)) {\n return attribute.map(function (attr, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attr, value: value[j], operator: operator, logicop: null });\n }).join('|AND,') || '';\n }\n // input logic operator \n return '' + (i > 0 ? '|' + inputs[i - 1].logicop + ',' : '') + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attribute, value: value, operator: operator, logicop: logicop });\n });\n\n var filter = fields.join('') || undefined; // NB: comma separator is already added before\n\n filters = [].concat(layer).map(function () {\n return filter;\n });\n\n // check if is a single layer of an array of layers\n return Array.isArray(layer) ? filters : filters[0];\n}\n\n},{\"utils/createSingleFieldParameter\":196}],192:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.createFilterFromString = createFilterFromString;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar operators = Object.entries(_g3wConstants.FILTER_EXPRESSION_OPERATORS);\n\nfunction createFilterFromString(_ref) {\n var _ref$filter = _ref.filter,\n filter = _ref$filter === undefined ? '' : _ref$filter;\n\n filter = operators.reduce(function (acc, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n op = _ref3[1];\n\n return acc.replace(new RegExp('\\\\s+' + op + '\\\\s+', 'g'), '' + op) // remove all blank space between operators\n .replace(new RegExp('\\'' + op, 'g'), '' + op) // leading single quote\n .replace(new RegExp(op + '\\'', 'g'), '' + op);\n } // trailing single quote\n , filter).replace(/'$/g, '').replace(/\"/g, '');\n filter = operators.reduce(function (acc, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n k = _ref5[0],\n op = _ref5[1];\n\n return acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? '|' + k + ',' : '|' + k + '|');\n }, filter)\n // encode value\n .split('|').map(function (v, i) {\n return 0 === (i + 1) % 3 ? encodeURIComponent(v) : v;\n }).join('|');\n\n return filter;\n}\n\n},{\"g3w-constants\":126}],193:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMeasureTooltip = createMeasureTooltip;\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _isLineGeometryType = require(\"utils/isLineGeometryType\");\n\nvar _isPolygonGeometryType = require(\"utils/isPolygonGeometryType\");\n\nvar _isMultiGeometry = require(\"utils/isMultiGeometry\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * create and add measure tooltip \n */\nfunction createMeasureTooltip() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref.map,\n feature = _ref.feature;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var element = document.createElement('div');\n element.className = 'mtooltip mtooltip-measure';\n\n var tooltip = new ol.Overlay({\n element: element,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n\n map.addOverlay(tooltip);\n\n return {\n tooltip: tooltip,\n unbyKey: feature.getGeometry().on('change', function (e) {\n var coords = void 0;\n var geom = e.target;\n\n if (geom instanceof ol.geom.Polygon) {\n coords = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof ol.geom.MultiPolygon) {\n coords = geom.getInteriorPoints().getCoordinates()[0];\n } else if (geom instanceof ol.geom.LineString || geom instanceof ol.geom.MultiLineString) {\n coords = geom.getLastCoordinate();\n }\n\n var projection = map.getView().getProjection();\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geom.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geom.getType());\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geom.getType());\n var is_sphere = 'EPSG:3857' === projection.getCode() || 'degrees' === projection.getUnits();\n var segments = [];\n\n if (is_poly && is_multi) {\n (geom.getPolygons() || []).forEach(function (p) {\n return p.getLinearRing().getCoordinates().forEach(function (coords) {\n return segments.push(coords);\n });\n });\n }\n\n if (is_poly && !is_multi) {\n segments = geom.getLinearRing().getCoordinates();\n }\n\n var _geom = is_poly && segments.length > 2 ? new ol.geom.LineString(segments) : geom;\n\n var length = is_line || is_poly && segments.length > 2 ? is_sphere ? ol.sphere.getLength(_geom, { projection: projection.getCode() }) : (0, _isMultiGeometry.isMultiGeometry)(_geom.getType()) ? _geom.getLineStrings().reduce(function (totalLength, lineGeometry) {\n return totalLength += lineGeometry.getLength();\n }, 0) : _geom.getLength() : undefined;\n\n var area = is_poly ? Math.round(is_sphere ? ol.sphere.getArea(geom, { projection: projection.getCode() }) : geom.getArea()) : undefined;\n\n if (undefined !== length) {\n length = 'nautical' === _application2.default.map.unit ? length * 0.0005399568 + \" nm\" : length > 1000 ? (Math.round(length / 1000 * 100) / 100).toFixed(3) + \" km\" : (Math.round(length * 100) / 100).toFixed(2) + \" m\";\n }\n\n if (undefined !== area) {\n area = 'nautical' === _application2.default.map.unit ? area * 0.000000291553349598122862913947445759414840765222583489217190918463024037990567 + \" \\u2009nmi\\xB2\" : area > 1000000 ? (Math.round(area / 1000000 * 100) / 100).toFixed(6) + \" km2\" : (Math.round(area * 100) / 100).toFixed(3) + \" m2\";\n }\n\n element.innerHTML = (undefined !== area ? \"Area: \" + area + \"
\" : '') + (undefined !== area && undefined !== length ? \"
\" : '') + (undefined !== length ? length : '');\n tooltip.setPosition(coords);\n })\n };\n}\n\n},{\"store/application\":178,\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],194:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createRelationsUrl = createRelationsUrl;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/services/relations.js@v3.10.2\n */\nfunction createRelationsUrl(_ref) {\n var _ref$layer = _ref.layer,\n layer = _ref$layer === undefined ? {} : _ref$layer,\n _ref$relation = _ref.relation,\n relation = _ref$relation === undefined ? {} : _ref$relation,\n fid = _ref.fid,\n _ref$type = _ref.type,\n type = _ref$type === undefined ? 'data' : _ref$type,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === undefined ? 1 : _ref$formatter;\n\n return _application2.default.project.getLayerById(undefined === relation.father ? layer.id === relation.referencedLayer ? relation.referencingLayer : relation.referencedLayer : layer.id === relation.father ? relation.child : relation.father).getUrl(type) + '?relationonetomany=' + relation.id + '|' + (0, _sanitizeFidFeature.sanitizeFidFeature)(fid) + '&formatter=' + formatter;\n}\n\n},{\"store/application\":178,\"utils/sanitizeFidFeature\":238}],195:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelectedStyle = createSelectedStyle;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } style \n * @param style.geometryType\n * @param style.color\n * @param style.fill\n * \n * @returns { ol.style.Style | null } style \n */\nfunction createSelectedStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n geometryType = _ref.geometryType,\n _ref$color = _ref.color,\n color = _ref$color === undefined ? 'rgb(255,255,0)' : _ref$color,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? true : _ref$fill;\n\n switch (geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 })\n });\n\n case 'Point':\n case 'MultiPoint':\n return new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: fill && new ol.style.Fill({ color: color }),\n stroke: !fill && new ol.style.Stroke({ color: color, width: 4 })\n }),\n zIndex: Infinity\n });\n\n case 'MultiPolygon':\n case 'Polygon':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([].concat(_toConsumableArray(ol.color.asArray(color))).splice(0, 3).concat(.25)) }) // force rgba color transparency (alpha = .25)\n });\n\n default:\n console.warn('invalid geometry type', geometryType);\n return null;\n\n }\n}\n\n},{}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSingleFieldParameter = createSingleFieldParameter;\n/**\n * @param { Object } opts\n * @param opts.layer\n * @param opts.field\n * @param opts.value\n * @param { string } [opts.operator='eq'] 'eq' as default\n * @param { string } [opts.logicop='OR'] 'OR' as default\n * \n * @returns { string } filter\n * \n * @since 3.8.7\n */\nfunction createSingleFieldParameter(_ref) {\n var field = _ref.field,\n value = _ref.value,\n _ref$operator = _ref.operator,\n operator = _ref$operator === undefined ? 'eq' : _ref$operator,\n _ref$logicop = _ref.logicop,\n logicop = _ref$logicop === undefined ? 'OR' : _ref$logicop;\n\n return [].concat(value).map(function (v) {\n return field + '|' + operator.toLowerCase() + '|' + encodeURIComponent(v);\n }).join('|' + logicop + ',');\n}\n\n},{}],197:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\n/**\n * @param { Object } file\n * @param { string } file.name\n * @param file.type\n * @param file.crs\n * @param file.mapCrs\n * @param file.data\n * @param file.style\n * \n * @returns { Promise } layer\n */\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref2.name,\n type = _ref2.type,\n crs = _ref2.crs,\n mapCrs = _ref2.mapCrs,\n data = _ref2.data,\n style = _ref2.style;\n\n var errors = [];\n var epsg = ['zip', 'kml', 'kmz'].includes(type) ? 'EPSG:4326' : crs;\n var features = [];\n\n // SHAPE FILE\n if ('zip' === type) {\n data = JSON.stringify((yield shp((yield data.arrayBuffer(data))))); // un-zip folder data \n }\n\n // KMZ FILE\n if ('kmz' === type) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n data = zip.file(/.kml$/i).at(-1).asText(); // get last kml file within folder\n }\n\n // CSV FILE\n if ('csv' === type) {\n data.values.forEach(function (row, i) {\n var props = {};\n var cols = row.split(data.separator);\n if (cols.length !== data.headers.length) {\n return errors.push({ row: i + 1, value: data.values[i] });\n }\n var coords = [];\n cols.forEach(function (value, i) {\n if (data.headers[i] === data.x) {\n coords[0] = 1 * value;\n }\n if (data.headers[i] === data.y) {\n coords[1] = 1 * value;\n }\n props[data.headers[i]] = value;\n });\n // check if all coordinates are right\n if (coords.every(function (d) {\n return !Number.isNaN(d);\n })) {\n var feat = new ol.Feature(new ol.geom.Point(coords).transform(crs, mapCrs));\n feat.setId(i); // incremental id\n feat.setProperties(props);\n features.push(feat);\n }\n });\n }\n\n if ('csv' !== type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[type].readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (['kml', 'kmz'].includes(type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (errors.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: /* html */\n '',\n data: function data() {\n return { errors: errors };\n }\n }\n },\n autoclose: false\n });\n }\n\n if (features.length) {\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: 'csv' === type ? data.headers : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n }),\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n }\n\n return Promise.reject();\n });\n\n return function createVectorLayerFromFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],198:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n\n/**\n * build debounce function\n */\nfunction debounce(func) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var timeout = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n return func.apply(undefined, args);\n }, delay);\n };\n}\n\n},{}],199:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.distance = distance;\n/**\n * core/geometry/geom::distance@v3.4\n * core/geometry/geom::squaredDistance@v3.4\n */\nfunction distance(c1, c2) {\n return Math.sqrt(Math.pow(c2[0] - c1[0], 2) + Math.pow(c2[1] - c1[1], 2));\n}\n\n},{}],200:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @param { Object } file\n * @param { string } file.filename\n * @param file.content\n * @param { string } file.url\n * @param { string } file.mime_type\n * @param file.signal\n */\nvar downloadFile = exports.downloadFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filename = _ref2.filename,\n content = _ref2.content,\n url = _ref2.url,\n _ref2$headers = _ref2.headers,\n headers = _ref2$headers === undefined ? {} : _ref2$headers,\n _ref2$method = _ref2.method,\n method = _ref2$method === undefined ? 'GET' : _ref2$method,\n data = _ref2.data,\n _ref2$mime_type = _ref2.mime_type,\n mime_type = _ref2$mime_type === undefined ? 'text/plain' : _ref2$mime_type,\n signal = _ref2.signal;\n\n var blob = content && new Blob([content], { type: mime_type });\n\n var d = !content && url && (yield fetch(url, {\n type: mime_type,\n headers: headers,\n body: data,\n method: method,\n signal: signal\n })) || {};\n\n if (!content && (400 === d.status || 500 === d.status)) {\n throw (yield d.json()).message;\n }\n\n if (content || 200 === d.status) {\n var a = document.createElement('a');\n a.setAttribute('href', window.URL.createObjectURL(blob || (yield d.blob())));\n a.setAttribute('download', filename || (d.headers.get('content-disposition') || 'filename=g3w_download_file').split('filename=').at(1));\n a.dataset.downloadurl = [mime_type || d.headers.get('content-type'), a.download, a.href].join(':');\n a.click();\n a = null;\n }\n });\n\n return function downloadFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{}],201:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.flattenObject = flattenObject;\n/**\n * ORIGINAL SOURCE: https://stackoverflow.com/a/56253298\n * \n * @example \n * \n * ### Sample Input\n * \n * ```\n * const obj = {\n * name: \"test\",\n * address: {\n * personal: \"abc\",\n * office: {\n * building: 'random',\n * street: 'some street'\n * }\n * }\n * }\n * ```\n * \n * ### Expected Output\n * \n * ```\n * {\n * name : \"test\",\n * address_personal: \"abc\"\n * address_office_building: \"random\"\n * address_office_street: \"some street\"\n * }\n * ```\n * \n * @since 3.9.0\n */\nfunction flattenObject(obj, parent) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n for (var key in obj) {\n var propName = parent ? parent + '_' + key : key;\n if ('object' === _typeof(obj[key])) {\n flattenObject(obj[key], propName, res);\n } else {\n res[propName] = obj[key];\n }\n }\n return res;\n}\n\n},{}],202:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAlphanumericPropertiesFromFeature = getAlphanumericPropertiesFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nfunction getAlphanumericPropertiesFromFeature() {\n var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(function (p) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(p);\n });\n}\n\n},{\"g3w-constants\":126}],203:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayerById = getCatalogLayerById;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayerById(id) {\n return Object.values(_application2.default.catalog).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n}\n\n},{\"store/application\":178}],204:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayers = getCatalogLayers;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayers(filter) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(_application2.default.catalog).flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"store/application\":178}],205:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataForSearchInput = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * @returns { Array } of unique values from field\n */\nvar getDataForSearchInput = exports.getDataForSearchInput = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var state = _ref.state,\n field = _ref.field,\n suggest = _ref.suggest;\n\n\n try {\n // get unique value from each layers\n return (yield Promise.allSettled(state.search_layers.map(function (l) {\n return l.getFilterData({\n suggest: suggest,\n fformatter: field,\n ordering: field,\n field: getDataForSearchInput.field({\n state: state,\n //in the case of suggested parameter set (case autocomplete field), need to use current field\n field: suggest ? field : (state.forminputs.find(function (i) {\n return i.attribute === field;\n }) || {}).dependance || field,\n fields: []\n })\n });\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).reduce(function (acc, d) {\n return acc.concat(d.value.data || []);\n }, []) // uniques by fformatter\n .map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n value = _ref4[0],\n key = _ref4[1];\n\n return { key: key, value: value };\n });\n } catch (e) {\n console.warn(e);\n }\n\n return [];\n });\n\n return function getDataForSearchInput(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n/**\n * Traverse field dependecies\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\ngetDataForSearchInput.field = function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n state = _ref5.state,\n field = _ref5.field,\n _ref5$fields = _ref5.fields,\n fields = _ref5$fields === undefined ? [] : _ref5$fields;\n\n field = state.forminputs.find(function (i) {\n return i.attribute === field;\n }); // current input\n var parent = state.forminputs.find(function (i) {\n return i.attribute === field.dependance;\n }); // current input dependance (parent field)\n\n // get all values (un-filtered)\n if (!parent || _g3wConstants.SEARCH_ALLVALUE === parent.value) {\n return (fields || []).join() || undefined;\n }\n\n // filter by parent field\n if (undefined !== parent.value) {\n fields.unshift(parent.attribute + '|' + parent.operator.toLowerCase() + '|' + encodeURI(parent.value) + (fields.length ? '|' + parent.logicop : ''));\n }\n\n // recursion step\n return getDataForSearchInput.field({ state: state, fields: fields, field: parent.attribute });\n};\n\n},{\"g3w-constants\":126}],206:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getDefaultExpression = exports.getDefaultExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n default_expression = _field$input$options.default_expression,\n loading = _field$input$options.loading,\n default_value = _field$input$options.default;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!default_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n // Call `expression:expression_eval` to get value from expression and set it to field\n try {\n\n var value = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id, //\n qgs_layer_id: qgs_layer_id, //layer id owner of the data\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n formatter: 0,\n expression: default_expression.expression,\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n }\n },\n outputs: false\n });\n\n field.value = value;\n\n return value;\n } catch (e) {\n if (undefined !== default_value) {\n field.value = default_value;\n }\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getDefaultExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],207:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilterExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getFilterExpression = exports.getFilterExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n key = _field$input$options.key,\n value = _field$input$options.value,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n filter_expression = _field$input$options.filter_expression,\n loading = _field$input$options.loading,\n orderbyvalue = _field$input$options.orderbyvalue;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!filter_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n try {\n\n var features = yield _data2.default.getData('expression:expression', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id,\n qgs_layer_id: qgs_layer_id,\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n },\n formatter: 0,\n expression: filter_expression.expression,\n ordering: [undefined, false].includes(orderbyvalue) ? key : value //@since 3.11.0\n },\n outputs: false\n });\n\n if ('select_autocomplete' === field.input.type) {\n field.input.options.values = [];\n // temporary array to sort the keys\n var values = [];\n for (var i = 0; i < features.length; i++) {\n values.push({\n key: features[i].properties[value],\n value: features[i].properties[key]\n });\n }\n\n field.input.options.values = values;\n }\n\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getFilterExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],208:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormDataExpressionRequestFromFeature = getFormDataExpressionRequestFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\n/**\n * Convert feature to form Data for expression/expression_eval request\n * \n * @param feature\n */\nfunction getFormDataExpressionRequestFromFeature(feature) {\n delete feature.attributes.geometry;\n\n var _feature = new ol.Feature(feature.geometry);\n var properties = {};\n\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(feature.attributes).filter(function (p) {\n return _g3wConstants.G3W_FID !== p;\n }).forEach(function (p) {\n return properties[p] = feature.attributes[p];\n });\n\n _feature.setProperties(properties);\n _feature.setId(feature.attributes[_g3wConstants.G3W_FID]);\n\n return (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(_feature);\n}\n\n},{\"g3w-constants\":126,\"utils/convertFeatureToGEOJSON\":186,\"utils/getAlphanumericPropertiesFromFeature\":202}],209:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getListableProjects = getListableProjects;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getListableProjects() {\n window.initConfig.projects;\n return window.initConfig.projects.filter(function (p) {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (p.id === _application2.default.project.getId() || window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject) {\n return false;\n }\n return p;\n }).sort(function (a, b) {\n return (a.title || '').localeCompare(b.title);\n });\n}\n\n},{\"store/application\":178}],210:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.getMapLayersByFilter = getMapLayersByFilter;\n/**\n * @param filter defaults `GEOLAYER: true`\n * @param options\n * \n * @returns { Array } map layers based on filtered properties of layer (eg. `GEOLAYER : true`)\n */\nfunction getMapLayersByFilter() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n filter = _extends({\n GEOLAYER: true\n }, filter);\n\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n return MapLayersStoresRegistry.getQuerableLayersStores().flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"services/map\":175}],211:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOLGeometry = getOLGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::getOLGeometry@v3.4\n */\nfunction getOLGeometry(geometryType) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return 'LineString';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n return 'MultiLineString';\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return 'Point';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return 'MultiPoint';\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return 'Polygon';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return 'MultiPolygon';\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return geometryType;\n }\n}\n\n},{\"g3w-constants\":126}],212:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProject = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * ORIGINAL SOURCE: src/app/core/project/project.js@v3.10.2\n * \n * Get project configuration\n *\n * @param { string } gid project gid\n * @param options\n * @param { string } options.map_theme\n */\nvar getProject = exports.getProject = function () {\n var _ref3 = _asyncToGenerator(function* (gid) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var pendingProject = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n\n // skip if a project doesn't exist\n if (!pendingProject) {\n console.log(\"Project doesn't exist\", gid);\n return Promise.reject(\"Project doesn't exist\");\n }\n\n // fetch project configuration from remote server\n\n // { Array } config.layers - The order of layers follows layer rendering order set on QGIS project.Can be different to TOC layer order\n var config = !PROJECTS[gid] && (yield _XHR.XHR.get({ url: '' + window.initConfig.urls.baseurl + window.initConfig.urls.config + '/' + window.initConfig.id + '/' + pendingProject.type + '/' + pendingProject.id + '?_t=' + pendingProject.modified\n }));\n var map_theme = config && options.map_theme && Object.values(config.map_themes).flat().find(function (_ref4) {\n var theme = _ref4.theme;\n return theme === options.map_theme;\n });\n\n /** In the case of url param set map_theme, need to get map theme configuration from server */\n if (map_theme) {\n var _ref5 = yield _XHR.XHR.get({ url: '/' + pendingProject.type + '/api/prjtheme/' + pendingProject.id + '/' + options.map_theme }),\n result = _ref5.result,\n data = _ref5.data;\n\n if (result) {\n config.layerstree = data;\n map_theme.layetstree = data;\n map_theme.default = true;\n }\n }\n\n PROJECTS[gid] = Object.assign(PROJECTS[gid] || {}, Object.assign(pendingProject, config));\n PROJECTS[gid] = Object.assign(PROJECTS[gid], {\n WMSUrl: '' + window.initConfig.urls.baseurl + window.initConfig.urls.ows + '/' + window.initConfig.id + '/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n /** @since 3.8.0 */\n relations: (PROJECTS[gid].relations || []).map(function (r) {\n if (\"ONE\" === r.type) {\n PROJECTS[gid].layers.find(function (l) {\n if (l.id === r.referencingLayer) {\n r.name = l.name;\n r.origname = l.origname;\n return true;\n }\n });\n }\n return r;\n }),\n /** actived catalog tab */\n catalog_tab: PROJECTS[gid].toc_tab_default || PROJECTS[gid]._catalog_tab || 'layers',\n ows_method: PROJECTS[gid].ows_method || 'GET',\n toc_layers_init_status: PROJECTS[gid].toc_layers_init_status || 'not_collapsed',\n toc_themes_init_status: PROJECTS[gid].toc_themes_init_status || 'collapsed',\n query_point_tolerance: PROJECTS[gid].query_point_tolerance || _g3wConstants.QUERY_POINT_TOLERANCE,\n crs: crsToCrsObject(PROJECTS[gid].crs),\n baselayers: PROJECTS[gid].baselayers\n // Remove bing base layer when no vendor API Key is provided\n .filter(function (l) {\n return 'Bing' === l.servertype ? _application2.default.keys.vendorkeys.bing : true;\n }).map(function (l) {\n return Object.assign(l, {\n visible: l.id && l.id === (null !== _application2.default.baseLayerId ? _application2.default.baseLayerId : PROJECTS[gid].initbaselayer) || !!l.fixed,\n baselayer: true\n });\n })\n });\n\n var project = Object.assign(new _g3wObject2.default(), {\n setters: {\n setBaseLayer: function setBaseLayer(id) {\n var _this = this;\n\n window.initConfig.baselayers.forEach(function (l) {\n _this._layersStore.getLayerById(l.id).setVisible(id === l.id);\n l.visible = id === l.id;\n });\n }\n },\n state: PROJECTS[gid],\n /** project APIs */\n urls: {\n map_themes: '/' + PROJECTS[gid].type + '/api/prjtheme/' + PROJECTS[gid].id + '/',\n vector_data: PROJECTS[gid].vectorurl + 'data/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n featurecount: PROJECTS[gid].vectorurl + 'featurecount/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/'\n },\n _projection: _projections2.default.get(crsToCrsObject(PROJECTS[gid].crs)),\n _layersStore: new _layersstore.LayersStore(),\n getQueryPointTolerance: function getQueryPointTolerance() {\n return project.state.query_point_tolerance;\n },\n getRelations: function getRelations() {\n return project.state.relations;\n },\n getRelationById: function getRelationById(id) {\n return project.state.relations.find(function (r) {\n return id === r.id;\n });\n },\n getLayerById: function getLayerById(id) {\n return project._layersStore.getLayerById(id);\n },\n getLayers: function getLayers() {\n return [].concat(_toConsumableArray(project.state.layers), _toConsumableArray(project.state.baselayers));\n },\n getState: function getState() {\n return project.state;\n },\n getPrint: function getPrint() {\n return project.state.print || [];\n },\n getId: function getId() {\n return project.state.id;\n },\n getType: function getType() {\n return project.state.type;\n },\n getGid: function getGid() {\n return project.state.gid;\n },\n getName: function getName() {\n return project.state.name;\n },\n getCrs: function getCrs() {\n return project._projection.getCode();\n },\n getProjection: function getProjection() {\n return project._projection;\n },\n getLayersStore: function getLayersStore() {\n return project._layersStore;\n },\n getUrl: function getUrl(type) {\n return project.urls[type];\n },\n /**\n * @param filter property layer config to filter\n * \n * @returns { Array } configuration layers (from server config)\n */\n getConfigLayers: function getConfigLayers() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n key = _ref6.key;\n\n return key ? project.state.layers.filter(function (l) {\n return undefined !== l[key];\n }) : project.state.layers;\n }\n });\n\n // Process layerstree and baselayers of the project (useful info for catalog)\n var traverse = function traverse(nodes) {\n var _loop = function _loop(i) {\n var node = nodes[i];\n //check if layer (node) of folder\n if (undefined !== node.id) {\n project.state.layers.forEach(function (l) {\n if (node.id === l.id) {\n node.name = l.name;\n l.wmsUrl = project.state.WMSUrl;\n l.project = project;\n node[i] = Object.assign(l, node);\n return false;\n }\n });\n }\n if (Array.isArray(node.nodes)) {\n //add title to tree\n node.title = node.name;\n traverse(node.nodes);\n }\n };\n\n for (var i = 0; i < nodes.length; i++) {\n _loop(i);\n }\n };\n\n traverse(project.state.layerstree);\n\n // Build layersstore \n project._layersStore.setOptions({\n id: project.state.gid,\n projection: project._projection,\n extent: project.state.extent,\n initextent: project.state.initextent,\n wmsUrl: project.state.WMSUrl,\n catalog: window.initConfig.overviewproject !== project.state.gid\n });\n\n /** ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2 */\n\n // Layer factory: instance each layer and add to layersstore\n project._layersStore.addLayers(project.getLayers().flatMap(function (l) {\n var config = Object.assign(l, {\n crs: crsToCrsObject(l.crs),\n projection: l.crs ? _projections2.default.get(l.crs) : project._projection,\n ows_method: project.state.ows_method,\n wms_use_layer_ids: project.state.wms_use_layer_ids\n });\n\n // Check Layer Type\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // TABLE LAYERS\n if ('NoGeometry' === config.geometrytype && [\"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _tablelayer.TableLayer(config, { project: project });\n }\n\n // VECTOR LAYERS\n if (['OGC wfs', 'G3WSUITE geojson'].includes(layerType) || [\"Local\", \"G3WSUITE\"].includes(config.servertype)) {\n return new _vectorlayer.VectorLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (config.geometrytype && 'NoGeometry' !== config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (!config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS wmst\", \"QGIS wcs\", \"QGIS wms\", \"QGIS gdal\", \"QGIS vectortile\", \"QGIS vector-tile\", \"QGIS mdal\", \"QGIS arcgismapserver\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // BASE LAYERS\n if (['OSM', 'Bing', 'TMS', 'ARCGISMAPSERVER', 'WMTS', 'WMS'].includes(config.servertype)) {\n return new _imagelayer.ImageLayer(config, { project: project, _BASE_LAYER: config.servertype });\n }\n\n console.warn('Uknown layer type', config);\n return [];\n }));\n\n // create layerstree from layerstore\n project._layersStore.createLayersTree(project.state.name, {\n layerstree: project.state.layerstree,\n expanded: 'not_collapsed' === project.state.toc_layers_init_status // config to show layerstrees toc expanded or not\n });\n\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n (project.state.search || []).forEach(function (s) {\n return s.search_endpoint = 'api';\n });\n\n // add to project\n return project;\n });\n\n return function getProject(_x2) {\n return _ref3.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _XHR = require('utils/XHR');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nvar _layersstore = require('map/layers/layersstore');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n TableLayer: _tablelayer.TableLayer,\n VectorLayer: _vectorlayer.VectorLayer,\n ImageLayer: _imagelayer.ImageLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\n// (lazy loading)\nvar PROJECTS = {};\n\n/**\n * @param { number | string | null | undefined } crs\n * \n * @returns { { epsg: string, proj4: string, axisinverted: boolean, geographic: boolean } | null | undefined } crs object\n */\nfunction crsToCrsObject(crs) {\n\n /** @FIXME add description */\n if ([undefined, null].includes(crs)) {\n return crs;\n }\n\n /** @FIXME add description */\n if (crs && crs.epsg) {\n crs.epsg = (0, _normalizeEpsg.normalizeEpsg)(crs.epsg);\n return crs;\n }\n\n return {\n epsg: (0, _normalizeEpsg.normalizeEpsg)(crs),\n proj4: \"\",\n axisinverted: false,\n geographic: false\n };\n}\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/imagelayer\":155,\"map/layers/layersstore\":157,\"map/layers/tablelayer\":158,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/normalizeEpsg\":228}],213:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectConfigByGid = getProjectConfigByGid;\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getProjectConfigByGid(gid) {\n return window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n}\n\n},{}],214:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectUrl = getProjectUrl;\n/**\n * @param gid\n * \n * @returns {string}\n */\nfunction getProjectUrl(gid) {\n var project = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n try {\n return \"\" + new URL(window.initConfig.urls.baseurl) + project.url;\n } catch (e) {\n console.warn(e);\n return \"\" + location.origin + window.initConfig.urls.baseurl + project.url;\n }\n}\n\n},{}],215:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getResolutionFromScale = getResolutionFromScale;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getResolutionFromScale(scale) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / ((scale >= 1.0 ? 1.0 / scale : scale) * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScaleFromResolution = getScaleFromResolution;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getScaleFromResolution(resolution) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n return Math.round(resolution * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],217:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return ++_uid + \"_\" + Date.now();\n}\n\n},{}],218:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get_legend_params = get_legend_params;\n/**\n * @param layer\n * \n * @returns {{ LEGEND_ON: undefined | string, LEGEND_OFF: undefined | string }} \n */\nfunction get_legend_params(layer) {\n var LEGEND_ON = void 0,\n LEGEND_OFF = void 0;\n (layer.getCategories() || []).forEach(function (_ref) {\n var checked = _ref.checked,\n _checked = _ref._checked,\n ruleKey = _ref.ruleKey;\n\n // skip when there's no difference from original `checked` status (_checked) and current changed by toc categories (checked)\n if (checked === _checked) {\n return;\n }\n if (checked) {\n LEGEND_ON = (undefined === LEGEND_ON ? layer.getWMSLayerName() + \":\" : LEGEND_ON + \",\") + ruleKey;\n } else {\n LEGEND_OFF = (undefined === LEGEND_OFF ? layer.getWMSLayerName() + \":\" : LEGEND_OFF + \",\") + ruleKey;\n }\n });\n return {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF\n };\n}\n\n},{}],219:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.groupBy = groupBy;\n/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nfunction groupBy(array, keyFn) {\n return array.reduce(function (result, item) {\n var key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}\n\n},{}],220:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.inherit = inherit;\n/**\n * google closure library impememtation\n */\nfunction inherit(childCtor, parentCtor) {\n function tempCtor() {}\n tempCtor.prototype = parentCtor.prototype;\n childCtor.superClass_ = parentCtor.prototype;\n childCtor.prototype = new tempCtor();\n childCtor.prototype.constructor = childCtor;\n}\n\n},{}],221:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.intersects = intersects;\n/**\n * Check if `geometryCheck` intersects with `geometry`\n * \n * @param {ol.geometry} geometry\n * @param {ol.geometry} geometryToCheck\n * \n * @returns {boolean} whether `geometryToCheck` interesects `geometry`\n * \n * @since 3.8.0\n */\nfunction intersects(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometry).intersects(olFromJsts.read(geometryToCheck));\n}\n\n},{}],222:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.is3DGeometry = is3DGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction is3DGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].find(function (type3D) {\n return type3D === geometryType;\n });\n}\n\n},{\"g3w-constants\":126}],223:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isLineGeometryType = isLineGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nfunction isLineGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.LINESTRING, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINE, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],224:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMultiGeometry = isMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nfunction isMultiGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],225:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointGeometryType = isPointGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nfunction isPointGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINT, _g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPolygonGeometryType = isPolygonGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nfunction isPolygonGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],227:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],228:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeEpsg = normalizeEpsg;\n/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nfunction normalizeEpsg(epsg) {\n if ('number' === typeof epsg) {\n return 'EPSG:' + epsg;\n }\n epsg = epsg.replace(/[^\\d\\.\\-]/g, \"\");\n if ('' !== epsg) {\n return 'EPSG:' + parseInt(epsg);\n }\n}\n\n},{}],229:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAttributes = parseAttributes;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param layerAttributes\n * @param featureAttributes\n * \n * @returns { Array }\n */\nfunction parseAttributes() {\n var layerAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var featureAttributes = arguments[1];\n\n /** @FIXME add description */\n if (layerAttributes && layerAttributes.length > 0) {\n return layerAttributes.filter(function (attr) {\n return Object.keys(featureAttributes).indexOf(attr.name) > -1;\n });\n }\n return Object.keys(featureAttributes).filter(function (name) {\n return -1 === _g3wConstants.GEOMETRY_FIELDS.indexOf(name);\n }).map(function (featureAttributesName) {\n return { name: featureAttributesName, label: featureAttributesName };\n });\n}\n\n},{\"g3w-constants\":126}],230:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponseParser = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /**\n * @file\n * \n * ORIGINAL SOURCE: src/app/core/utils/parsers.js@3.8\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n * \n * @since 3.9.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\nvar _removeZValueToOLFeatureGeometry = require('utils/removeZValueToOLFeatureGeometry');\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nvar _reverseGeometry = require('utils/reverseGeometry');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nObject.entries({\n G3W_FID: _g3wConstants.G3W_FID,\n GUI: _gui2.default,\n Feature: _feature.Feature,\n t: t,\n is3DGeometry: _is3DGeometry.is3DGeometry,\n removeZValueToOLFeatureGeometry: _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry,\n sanitizeFidFeature: _sanitizeFidFeature.sanitizeFidFeature,\n reverseGeometry: _reverseGeometry.reverseGeometry\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nvar NUMERIC_FIELD = 'GIS3W_ESCAPE_NUMERIC_FIELD_';\n\n/**\n * @example ResponseParser.get('application/vnd.ogc.gml')({ layers, response });\n */\nvar ResponseParser = exports.ResponseParser = {\n\n /** Response parser (content types) */\n get: function get(type) {\n switch (type) {\n\n case 'g3w-error':\n return function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var error = opts.error;\n\n return {\n parse: function parse() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$type = _ref3.type,\n type = _ref3$type === undefined ? 'responseJSON' : _ref3$type;\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.responseJSON && error.responseJSON.error.message) {\n return error.responseJSON.error.message;\n }\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.errors) {\n return _traverseErrorMessage(error.errors);\n }\n\n /** @FIXME add description */\n if ('String' === type && 'string' === typeof error) {\n return error;\n }\n\n /** @FIXME add description */\n if ('String' === type) {\n return _traverseErrorMessage(error);\n }\n\n /** @FIXME add description */\n return t(\"server_saver_error\");\n }\n };\n };\n\n case 'g3w-table/json':\n return function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (data.features || []).map(function (f) {\n var feature = new _feature.Feature();\n feature.setProperties(f.properties);\n feature.setId(f.id);\n return feature;\n });\n };\n\n case 'g3w-vector/gml':\n return function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n data = _ref4.data,\n layer = _ref4.layer;\n\n try {\n return new ol.format.WMSGetFeatureInfo({ layers: layer.getQueryLayerOrigName() }).readFeatures(\n // extract gml from multiple (Tuscany region)\n '--' === data.substr(0, 2) ? data.split(/\\r\\n--/).filter(function (part) {\n return (/<([^ ]*)FeatureCollection/.test(part) || /<([^ ]*)msGMLOutput/.test(part)\n );\n }).map(function (part) {\n return part.substr(part.indexOf(' 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref5.response,\n projections = _ref5.projections,\n _ref5$layers = _ref5.layers,\n layers = _ref5$layers === undefined ? [] : _ref5$layers,\n _ref5$wms = _ref5.wms,\n wms = _ref5$wms === undefined ? true : _ref5$wms,\n filtertoken = _ref5.filtertoken;\n\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [], filtertoken: filtertoken };\n });\n var layersId = layers.map(function (l) {\n return wms ? l.getWMSLayerName() : l.getWFSLayerName();\n });\n // features\n (response ? new ol.format.GeoJSON({\n geometryName: 'geometry',\n defaultDataProjection: projections.layer || projections.map\n }).readFeatures(response) : []).filter(function (feature) {\n var featureId = feature.getId();\n var g3w_fid = (0, _sanitizeFidFeature.sanitizeFidFeature)(featureId);\n // in the case of wms getfeature without a filter return string contain layerName or layerid\n var index = featureId == g3w_fid ? 0 : layersId.indexOf(featureId);\n // skip when ..\n if (-1 === index) {\n return false;\n }\n var props = feature.getProperties();\n feature.set(_g3wConstants.G3W_FID, g3w_fid);\n // fields\n layersFeatures[index].layer.getFields().filter(function (f) {\n return f.show && undefined === props[f.name] && undefined !== props[f.label];\n }).forEach(function (f) {\n return feature.set(f.name, props[f.label]);\n });\n // features\n layersFeatures[index].features.push(feature);\n });\n return layersFeatures;\n };\n\n case 'application/geojson':\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref6.layers,\n response = _ref6.response;\n\n return response ? layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/geojson')(response, {})\n };\n }) : [];\n };\n\n case 'text/plain':\n case 'text/html':\n return function () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref7.layers,\n response = _ref7.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n rawdata: response\n };\n });\n };\n\n case 'text/gml':\n return function (_ref8) {\n var layers = _ref8.layers,\n response = _ref8.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/gml')({ data: response, layer: layers[0] })\n };\n });\n };\n\n case 'application/vnd.ogc.gml':\n return function () {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref9.response,\n projections = _ref9.projections,\n layers = _ref9.layers,\n _ref9$wms = _ref9.wms,\n wms = _ref9$wms === undefined ? true : _ref9$wms,\n _ref9$id = _ref9.id,\n id = _ref9$id === undefined ? false : _ref9$id;\n\n // convert XML response to string\n if (response && 'string' !== typeof response && !(response instanceof String)) {\n response = new XMLSerializer().serializeToString(response);\n }\n\n // sanitize layer name (removes: whitespaces, quotes, parenthesis, slashes)\n if (response) {\n response = layers.reduce(function (acc, layer, i) {\n var id = (wms && layer.isWmsUseLayerIds() ? layer.getId() : layer.getName()).replace(/[\\s'()/]+/g, function (s) {\n return (/\\s/g.test(s) && !wms ? '_' : ''\n );\n });\n if (!wms) {\n id = id.replace(/[/\\\\]+/g, '').replaceAll(':', '-');\n }\n return acc.replace(new RegExp('qgs:' + id, 'g'), 'qgs:layer' + i);\n }, response);\n }\n\n // fields starting with an invalid key\n var invalids = response && Array.from(response.matchAll(/qgs:(\\d+(?:\\.\\d+)?)(\\w+)|qgs:(\\w+):(\\w+)/g)).filter(function (_, i) {\n return 0 === i % 2;\n });\n\n // add match numeric value (integer or float)\n if (invalids) {\n response = invalids.reduce(function (acc, find) {\n return acc.replace(new RegExp(find[0], 'g'), 'qgs:' + NUMERIC_FIELD + find[1] + find[2]);\n }, response);\n }\n\n // PATCH id strange char\n if (response) {\n response = response.replace(new RegExp(String.fromCharCode(0), 'g'), '0');\n }\n\n // convert XML string response to JSON\n var x2js = new X2JS();\n var json = x2js.xml_str2json(response); // json response\n\n // in the case of parser return null\n if (!json) {\n return [{\n layer: layers[0],\n features: []\n }];\n }\n\n /** @since 3.9.1 ServiceExceptionReport is a json attribute returned by server in case of error */\n if (json.ServiceExceptionReport && json.ServiceExceptionReport.ServiceException) {\n _gui2.default.showUserMessage({\n type: 'warning',\n textMessage: true,\n message: layers[0].getName() + ' - ' + json.ServiceExceptionReport.ServiceException\n });\n }\n\n // skip when json response hasn't FeatureCollection array (no features)\n if (!json.FeatureCollection || !json.FeatureCollection.featureMember) {\n return [];\n }\n\n // handled responses\n var parsed = []; //Array contains item object ({layer, features})\n var originalFeatureMember = [].concat(json.FeatureCollection.featureMember);\n //Loop on each layer\n layers.forEach(function (layer, i /*, originalFeatureMember*/) {\n var name = id ? layer.getId() : 'layer' + i; // layer name\n\n json.FeatureCollection.featureMember = originalFeatureMember.filter(function (f) {\n return f[name];\n }).map(function (f) {\n var fm = f[name];\n var prefix = f.__prefix;\n //set fid of each feature\n [].concat(fm).forEach(function (_fm) {\n //need to get fid number removing \n _fm._fid = _fm._fid && _fm._fid.split('.')[1];\n _fm[_g3wConstants.G3W_FID] = {\n __prefix: prefix,\n __text: _fm._fid\n };\n });\n //in case of wms multi layer\n if (Array.isArray(fm)) {\n var grouped = (0, _groupBy.groupBy)(fm, function (f) {\n return Object.keys(f);\n });\n // check if features have the same fields. If not, group the features with the same fields\n //check if features have different fields (multilayers)\n // If its is a multilayers. Each feature has different fields\n return Object.keys(grouped).length > 1 ? Object.keys(grouped).map(function (key, index) {\n return grouped[key].map(function (feature, sub_index) {\n var _ref10;\n\n return _ref10 = {}, _defineProperty(_ref10, 'layer' + index + '_' + sub_index, feature), _defineProperty(_ref10, '__prefix', prefix), _ref10;\n });\n }).flat() : //for Each element have to add and object contain layerName and information, and __prefix\n fm.map(function (f) {\n var _ref11;\n\n return _ref11 = {}, _defineProperty(_ref11, name, f), _defineProperty(_ref11, '__prefix', prefix), _ref11;\n });\n } else {\n return f;\n }\n }).flat();\n // parse layer feature collection\n var xml = x2js.json2xml_str(json); // layer Feature Collection XML\n var olfeatures = new ol.format.WMSGetFeatureInfo().readFeatures(xml);\n\n //Check if you need to re-project features because layers are in different projection of the map\n var is_reprojected = olfeatures.length > 0 //has features\n && !!olfeatures[0].getGeometry() // has a geometry\n && projections.layer //has a layer projection\n && projections.layer.getCode() !== projections.map.getCode() //the layer has the same projection of the map\n ;\n\n /** @FIXME add description */\n if (olfeatures.length > 0 && invalids) {\n var fields = Object.keys(olfeatures[0].getProperties()).filter(function (p) {\n return -1 !== p.indexOf(NUMERIC_FIELD);\n });\n olfeatures.forEach(function (f) {\n fields.forEach(function (_field) {\n var invalid = invalids.find(function (find) {\n return '' + find[1] + find[2] === _field.replace(NUMERIC_FIELD, '');\n });\n f.set(invalid[0].replace('qgs:', ''), [].concat(f.get(_field))[0]);\n f.unset(_field);\n });\n });\n }\n\n // transform features\n if (is_reprojected) {\n olfeatures.forEach(function (f) {\n return f.setGeometry(f.getGeometry().transform(projections.layer.getCode(), projections.map.getCode()));\n });\n }\n\n // inverted axis --> reverse features coordinates\n if (is_reprojected && 'ne' === (projections.layer ? projections.layer : projections.map).getAxisOrientation().substr(0, 2)) {\n olfeatures.forEach(function (f) {\n return f.setGeometry((0, _reverseGeometry.reverseGeometry)(f.getGeometry()));\n });\n }\n\n // Remove Z values due an incorrect addition when using\n // ol.format.WMSGetFeatureInfo readFeatures method from XML\n // (ex. WMS getFeatureInfo);\n if (layer.isGeoLayer() && !(0, _is3DGeometry.is3DGeometry)(layer.getGeometryType())) {\n olfeatures.forEach(function (f) {\n return (0, _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry)({ feature: f });\n });\n }\n\n parsed.unshift({ layer: layer, features: olfeatures });\n });\n\n return parsed;\n };\n\n default:\n return function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$layers = _ref12.layers,\n layers = _ref12$layers === undefined ? [] : _ref12$layers;\n\n return layers.map(function (layer) {\n return { layer: layer, rawdata: t('warning.not_supported_format') };\n });\n };\n\n }\n }\n};\n\n/**\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n */\nfunction _traverseErrorMessage(errorObject) {\n var error_message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"server_saver_error\";\n\n try {\n var entries = Object.entries(errorObject);\n var entry = entries.find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n key = _ref14[0],\n _ = _ref14[1];\n\n return 'fields' === key;\n });\n\n var _ref15 = entry || entries[0],\n _ref16 = _slicedToArray(_ref15, 2),\n value = _ref16[1];\n\n /** @FIXME add description */\n\n\n if (!entry && !Array.isArray(value) && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n return _traverseErrorMessage(value, error_message);\n }\n\n /** @FIXME add description */\n if (entry && 'string' === typeof value) {\n error_message = '[' + entries.find(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n\n return 'fields' !== key;\n })[0] + '] ' + value;\n }\n\n /** @FIXME add description */\n if (entry && 'string' !== typeof value) {\n error_message = Object.entries(value).reduce(function (message, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n field = _ref20[0],\n error = _ref20[1];\n\n return '' + message + field + ' ' + (Array.isArray(error) ? error[0] : error) + '\\n';\n }, '');\n }\n\n /** @FIXME add description */\n if (entry) {\n return error_message.replace(/\\:|\\./g, '');\n }\n } catch (e) {\n console.warn(e);\n }\n}\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"map/layers/feature\":152,\"services/gui\":173,\"utils/groupBy\":219,\"utils/is3DGeometry\":222,\"utils/removeZValueToOLFeatureGeometry\":235,\"utils/reverseGeometry\":236,\"utils/sanitizeFidFeature\":238}],231:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.printAtlas = printAtlas;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/*\n http://localhost/fcgi-bin/qgis_mapserver/qgis_mapserv.fcgi\n ?MAP=/home/marco/geodaten/projekte/composertest.qgs\n &SERVICE=WMS&VERSION=1.3.0\n &REQUEST=GetPrint\n &TEMPLATE=Composer 1\n &map0:extent=693457.466131,227122.338236,700476.845177,230609.807051\n &BBOX=693457.466131,227122.338236,700476.845177,230609.807051\n &CRS=EPSG:21781\n &WIDTH=1467\n &HEIGHT=729\n &LAYERS=layer0,layer1\n &STYLES=,\n &FORMAT=pdf\n &DPI=300\n &TRANSPARENT=true\n\n In detail, the following parameters can be used to set properties for composer maps:\n\n :EXTENT= //mandatory\n :ROTATION= //optional, defaults to 0\n :SCALE= //optional. Forces scale denominator as server and client may have different scale calculations\n :LAYERS= //optional. Defaults to all layer in the WMS request\n :STYLES= //optional\n :GRID_INTERVAL_X= //set the grid interval in x-direction for composer grids\n :GRID_INTERVAL_Y= //set the grid interval in x-direction for composer grids\n */\n\n/**\n * ORIGINAL SOURCE: src\\app\\core\\print\\printservice.js@3.9.0\n * \n * @param { Object } opts\n * @param opts.field\n * @param opts.values\n * @param opts.template\n * @param opts.download\n * @param { 'GET' | 'POST' } method\n */\nfunction printAtlas() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n var store = _application2.default.project.getLayersStore();\n var multi = opts.values.length > 1;\n return FETCH[method]({\n url: store.getWmsUrl(),\n mime_type: 'application/pdf',\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrintAtlas',\n EXP_FILTER: opts.field + (multi ? ' IN (' : '=') + opts.values.map(function (v) {\n return '\\'' + v + '\\'';\n }).join() + (multi ? ')' : ''),\n TEMPLATE: opts.template,\n filtertoken: _application2.default.tokens.filtertoken,\n DOWNLOAD: opts.download ? 1 : undefined\n }\n });\n}\n\nvar FETCH = {\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise<{mime_type, layers: boolean, url: string}>}\n */\n POST: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var url = _ref.url,\n _ref$params = _ref.params,\n params = _ref$params === undefined ? {} : _ref$params,\n mime_type = _ref.mime_type;\n\n var response = yield fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: new URLSearchParams(params || {}).toString()\n });\n if (!response.ok) {\n //@TODO Need to translate\n throw new Error(500 === response.status ? 'Internal Server Error' : 'Request Failed');\n }\n return {\n mime_type: mime_type,\n layers: true,\n url: URL.createObjectURL((yield response.blob()))\n };\n });\n\n function POST(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return POST;\n }(),\n\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise}\n */\n GET: function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var url = _ref3.url,\n _ref3$params = _ref3.params,\n params = _ref3$params === undefined ? {} : _ref3$params,\n mime_type = _ref3.mime_type;\n\n return {\n url: url + '?' + new URLSearchParams(params || {}).toString(),\n layers: true,\n mime_type: mime_type\n };\n });\n\n function GET(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return GET;\n }()\n};\n\n},{\"store/application\":178}],232:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.promisify = promisify;\nexports.$promisify = $promisify;\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Covert a jQuery promise into an ES6 Promise\n * \n * @param promise jquery promise\n */\nfunction promisify(promise) {\n if (promise instanceof Promise) {\n return promise;\n }\n if (!promise || !promise.then) {\n console.trace(promise);\n return Promise.reject('not a promise');\n }\n return new Promise(function (resolve, reject) {\n promise.then(resolve).fail(reject);\n });\n}\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Convert ES6 Promise into jQuery\n * \n * @param promise async function or ES6 promise \n */\nfunction $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(function (d) {\n return d.reject('not a promise');\n }).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n d.resolve((yield promise instanceof Promise ? promise : promise()));\n } catch (e) {\n console.trace(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],233:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prompt = undefined;\n\n/**\n * @TODO make it simpler (native HTML dialogs, Vue SFC components, ..)\n * \n * Similar to `window.prompt`\n * \n * @since 3.9.0\n */\nvar prompt = exports.prompt = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var value = _ref.value,\n label = _ref.label,\n callback = _ref.callback;\n\n\n // Reactive vue object (input instance)\n var _data = {\n value: value,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n var vueInput = new Vue({\n template: '\\n
\\n \\n \\n
',\n data: function data() {\n return _data;\n }\n });\n\n var prompt = void 0; // store dialog modal window\n\n new Promise(function (resolve, reject) {\n // modal window with input name\n prompt = _gui2.default.showModalDialog({\n message: vueInput.$mount().$el,\n closeButton: false,\n buttons: {\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n return resolve(_data.value);\n } },\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n return reject();\n } }\n }\n });\n // conditionally disable confirm button (based on input value)\n var okBtn = prompt.find('button.btn-success');\n okBtn.prop('disabled', 0 === _data.value.trim().length);\n vueInput.$watch('value', function (value) {\n okBtn.prop('disabled', 0 === value.trim().length);\n });\n }).then(callback).catch(function (e) {\n return console.warn(e);\n }).finally(function () {\n vueInput.$destroy();\n vueInput = null;\n _data = null;\n prompt = null;\n });\n });\n\n return function prompt(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/gui\":173,\"utils/getUniqueDomId\":217}],234:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeMeasureTooltip = removeMeasureTooltip;\n/**\n * Remove mesure tootltip\n * \n * @param { Object } opts\n * @param opts.map\n * @param opts.tooltip\n * @param opts.unByKey \n */\nfunction removeMeasureTooltip(_ref) {\n var map = _ref.map,\n tooltip = _ref.tooltip,\n unbyKey = _ref.unbyKey;\n\n map.removeOverlay(tooltip);\n ol.Observable.unByKey(unbyKey);\n}\n\n},{}],235:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeZValueToOLFeatureGeometry = removeZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * Remove Z values from geometry coordinates\n */\nfunction removeZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature;\n\n var geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n var coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n if (3 === coords.length) {\n coords.splice(2);\n feature.getGeometry().setCoordinates(coords);\n }\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n coords.forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n coords.forEach(function (line) {\n return line.forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126}],236:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.reverseGeometry = reverseGeometry;\n/**\n * @param geometry \n */\nfunction reverseGeometry(geometry) {\n geometry.setCoordinates(_reverseCoords(geometry.getCoordinates()));\n return geometry;\n}\n\nfunction _reverseCoords(coords) {\n coords.find(function (c) {\n if (!Array.isArray(c)) {\n var _coords = _slicedToArray(coords, 2),\n y = _coords[0],\n x = _coords[1];\n\n coords[0] = x;coords[1] = y;\n return true;\n }\n _reverseCoords(c);\n });\n return coords;\n}\n\n},{}],237:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sameOrigin = sameOrigin;\n/**\n * @param {string} url1\n * @param {string} url2\n *\n * @returns {boolean} whether URLs have same origin.\n *\n * @since 3.8.0\n */\nfunction sameOrigin(url1, url2) {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch (e) {\n console.warn(e);\n return false;\n }\n}\n\n},{}],238:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeFidFeature = sanitizeFidFeature;\nfunction sanitizeFidFeature(fid) {\n if ('string' === typeof fid && Number.isNaN(1 * fid)) {\n fid = fid.split('.');\n fid = fid.at(2 === fid.length ? 1 : 0);\n }\n return fid;\n}\n\n},{}],239:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setProjectAliasUrl = setProjectAliasUrl;\n/** used by the following plugins: \"archiweb\" */\nfunction setProjectAliasUrl(alias) {\n var project = window.initConfig.projects.find(function (p) {\n return alias.gid === p.gid;\n });\n if (project) {\n project.url = '' + (alias.host || '') + alias.url;\n }\n}\n\n},{}],240:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.splitFeature = splitFeature;\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } opts\n * @param opts.feature\n * @param opts.splitfeature\n * \n * @returns { Array } splitted feature geometries\n */\nfunction splitFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n splitfeature = _ref.splitfeature;\n\n var geometries = {\n feature: feature.getGeometry(), //geometry of the feature to split\n split: splitfeature.getGeometry() // geometry of split feature\n };\n\n if ('LineString' !== geometries.split.getType()) {\n return [];\n }\n\n // array of split geometries\n var splittedFeatureGeometries = [];\n var parser = new jsts.io.OL3Parser();\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geometries.feature.getType());\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geometries.feature.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geometries.feature.getType());\n var polygonFeature = is_poly && (is_multi ? geometries.feature.getPolygons() : geometries.feature);\n var lineFeatureGeometry = is_line && (is_multi ? geometries.feature.getLineStrings() : geometries.feature);\n\n // MultiPolygon or MultiLineString\n if (is_multi && (is_line || is_poly)) {\n var geomClass = is_poly ? ol.geom.MultiPolygon : ol.geom.MultiLineString;\n (is_poly ? polygonFeature : lineFeatureGeometry).forEach(function (geometry) {\n var splitFeatures = splitFeature({ splitfeature: splitfeature, feature: new ol.Feature({ geometry: geometry }) });\n if (splitFeatures.length > 0) {\n splitFeatures.forEach(function (geometry) {\n return geometry && splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n });\n } else {\n splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n }\n });\n }\n\n // Polygon\n if (is_poly && !is_multi) {\n var isZType = polygonFeature.getCoordinates()[0][0][2] !== undefined;\n var polygonFeatureGeometry = parser.read(polygonFeature);\n var externalPolygonFeatureGeometry = parser.read(polygonFeature.getLinearRing(0));\n var splitGeometry = parser.read(geometries.split); // create a line split feature in jsts\n var holePolygons = void 0; // holes geometries\n\n if (polygonFeature.getLinearRingCount() > 1) {\n var holeFeaturesGeometry = void 0;\n for (var index = 1; index < polygonFeature.getLinearRingCount(); index++) {\n var holeRing = parser.read(polygonFeature.getLinearRing(index));\n holeFeaturesGeometry = undefined === holeFeaturesGeometry ? holeRing : holeFeaturesGeometry.union(holeRing);\n }\n\n holePolygons = new jsts.operation.polygonize.Polygonizer();\n\n holePolygons.add(holeFeaturesGeometry);\n\n var holyPolygonUnion = void 0;\n\n holePolygons.getPolygons().toArray().forEach(function (polygon) {\n return holyPolygonUnion = undefined === holyPolygonUnion ? polygon : holyPolygonUnion.union(polygon);\n });\n\n holePolygons = holyPolygonUnion;\n }\n\n if (isZType) {\n\n polygonFeature.getCoordinates()[0].forEach(function (c, i) {\n return externalPolygonFeatureGeometry.getCoordinates()[i].z = c[2];\n });\n\n splitGeometry.getCoordinates().forEach(function (coordinate) {\n return coordinate.z = 0;\n });\n }\n\n var union = externalPolygonFeatureGeometry.union(splitGeometry);\n var polygonizer = new jsts.operation.polygonize.Polygonizer();\n\n polygonizer.add(union);\n\n var polygons = polygonizer.getPolygons().toArray();\n\n if (polygons.length > 1) {\n polygons.forEach(function (polygon) {\n if (holePolygons) {\n polygon = polygon.difference(holePolygons);\n }\n\n if (polygonFeatureGeometry.intersects(polygon.getInteriorPoint())) {\n var geometry = parser.write(polygon);\n var polygonCoordinates = polygon.getCoordinates();\n\n if (isZType) {\n polygonCoordinates.forEach(function (c, i) {\n return c.z = c.z === undefined ? polygonCoordinates[i === 0 ? i + 1 : i - 1].z : c.z;\n });\n var zCoordinates = [];\n geometry.getCoordinates()[0].forEach(function (c, i) {\n c.push(polygonCoordinates[i].z);\n zCoordinates.push(c);\n });\n geometry.setCoordinates([zCoordinates]);\n }\n\n var is_single = !(0, _isMultiGeometry.isMultiGeometry)(geometry.getType());\n\n if (is_multi) {\n splittedFeatureGeometries.push(new ol.geom.MultiPolygon(is_single ? [geometry.getCoordinates()] : geometry.getCoordinates()));\n } else {\n if (is_single) {\n splittedFeatureGeometries.push(geometry);\n } else {\n geometry.getCoordinates().forEach(function (c) {\n return splittedFeatureGeometries.push(new ol.geom.Polygon(c));\n });\n }\n }\n }\n });\n }\n }\n\n // LineString or MultiLineString\n if (is_line && !is_multi) {\n var _ret = function () {\n var splitGeometry = geometries.split;\n var lineGeometry = geometries.feature;\n var isZType = undefined !== lineGeometry.getCoordinates()[0][2];\n var splitted = false;\n var splittedSegments = [];\n var jstsFromWkt = new jsts.io.WKTReader();\n var wktFromOl = new ol.format.WKT();\n var olFromJsts = new jsts.io.OL3Parser();\n var splitLine = jstsFromWkt.read(wktFromOl.writeGeometry(splitGeometry));\n var wktLineString = wktFromOl.writeGeometry(lineGeometry);\n\n if (isZType) {\n wktLineString = wktLineString.replace(' Z', '');\n }\n\n var targetLine = jstsFromWkt.read(wktLineString);\n var targetCoordinates = targetLine.getCoordinates();\n var geometryFactory = new jsts.geom.GeometryFactory();\n var pointsNotSplitted = [];\n\n var endPoint = void 0;\n var startPoint = void 0;\n\n for (var i = 0; i < targetCoordinates.length - 1; i++) {\n startPoint = targetCoordinates[i];\n endPoint = targetCoordinates[i + 1];\n\n if (isZType) {\n startPoint.z = lineGeometry.getCoordinates()[i][2];\n endPoint.z = lineGeometry.getCoordinates()[i + 1][2];\n }\n\n // create a segment of two vertex\n var segment = geometryFactory.createLineString([startPoint, endPoint]);\n var intersectCoordinates = segment.intersection(splitLine).getCoordinates();\n\n splitted = splitted || intersectCoordinates.length > 0;\n\n intersectCoordinates.forEach(function (splitPoint) {\n if (isZType) {\n splitPoint.z = startPoint.z;\n }\n\n var lineNewSegment = olFromJsts.write(geometryFactory.createLineString((pointsNotSplitted.length ? pointsNotSplitted : []).concat([startPoint, splitPoint])));\n\n if (isZType) {\n var coordinates = lineNewSegment.getCoordinates();\n lineNewSegment.setCoordinates([[].concat(_toConsumableArray(coordinates[0]), [startPoint.z]), [].concat(_toConsumableArray(coordinates[1]), [splitPoint.z])]);\n }\n\n if (pointsNotSplitted.length) {\n pointsNotSplitted = [];\n }\n\n splittedSegments.push(lineNewSegment);\n\n startPoint = splitPoint;\n });\n\n pointsNotSplitted = pointsNotSplitted.concat([startPoint, endPoint]);\n }\n\n var restOfLine = olFromJsts.write(geometryFactory.createLineString(pointsNotSplitted));\n\n if (isZType) {\n restOfLine.setCoordinates(pointsNotSplitted.map(function (pointNotSplitted, index) {\n var coordinate = restOfLine.getCoordinates()[index];\n coordinate.push(pointNotSplitted.z);\n return coordinate; // z coordinates\n }));\n }\n\n splittedSegments.push(restOfLine);\n\n return {\n v: splitted ? splittedSegments : []\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n\n return splittedFeatureGeometries;\n}\n\n},{\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],241:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\n/**\n * build throttle function\n */\nfunction throttle(fnc) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var lastCall = void 0;\n return function () {\n var previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || lastCall - previousCall > delay) {\n // throttle time has elapsed\n fnc.apply(undefined, arguments);\n }\n };\n}\n\n},{}],242:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRawType = toRawType;\nfunction toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\n},{}],243:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.waitFor = waitFor;\n/**\n * Function to wait for predicates.\n * \n * @param { () => Boolean } predicate - A function that returns a bool\n * @param { number } [timeout] - Optional maximum waiting time in ms after rejected\n * \n * @see https://gist.github.com/chrisjhoughton/7890239?permalink_comment_id=4411125#gistcomment-4411125\n */\nfunction waitFor(predicate, timeout) {\n return new Promise(function (resolve, reject) {\n var check = function check() {\n if (!predicate()) {\n return;\n }\n clearInterval(interval);\n resolve();\n };\n var interval = setInterval(check, 100);\n check();\n if (timeout) {\n setTimeout(function () {\n clearInterval(interval);reject();\n }, timeout);\n }\n });\n}\n\n},{}],244:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.within = within;\n/**\n * Check if `geometryToCheck` is within `geometry`\n * \n * @param { ol.geometry } geometry\n * @param { ol.geometry } geometryToCheck\n * @returns { boolean } whether `geometryToCheck` is within `geometry`\n * \n * @since 3.8.0\n */\nfunction within(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometryToCheck).within(olFromJsts.read(geometry));\n}\n\n},{}],245:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* Generated by gulpfile.js, do not edit manually */\n\nexports.default = '3.11.0-alpha.1';\n\n},{}]},{},[133]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","this","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","runClearTimeout","marker","Item","array","noop","nextTick","args","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","2","inserted","cache","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","3","_FieldText2","_interopRequireDefault","_FieldLink2","_FieldImage2","_FieldGeo2","_FieldMedia2","_FieldVue2","obj","__esModule","default","simple_field","text_field","link_field","image_field","geo_field","photo_field","media_field","vue_field","components/FieldGeo.vue","components/FieldImage.vue","components/FieldLink.vue","components/FieldMedia.vue","components/FieldText.vue","components/FieldVue.vue","4","_typeof","Symbol","iterator","constructor","_toRawType","Fields","getType","field","type","value","fieldValue","toRawType","coordinates","vue","isArray","photo","toString","toLowerCase","match","isSimple","isLink","isImage","isPhoto","isVue","add","_ref","remove","./fields","utils/toRawType","5","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","Constructor","validatorOptions","values","state","input","options","map","v","self","__proto__","Object","getPrototypeOf","ReferenceError","create","enumerable","writable","configurable","setPrototypeOf","gui/inputs/service","6","vueComponentOptions","newObj","key","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_createClass","protoProps","staticProps","defineProperties","target","props","descriptor","defineProperty","_convertQGISDateTimeFormatToMoment2","DateTimePickerService","_this","window","initConfig","user","i18n","datetimeformat","convertQGISDateTimeFormatToMoment","utils/convertQGISDateTimeFormatToMoment","9","DateTimePickerInput","components/InputDateTimePicker.vue","10","FloatService","11","FloatInput","components/InputFloat.vue","12","_application2","_InputBase2","_mixins","_asyncToGenerator","fn","gen","Promise","resolve","reject","step","arg","info","error","done","then","err","InputServices","Input","mixins","baseInputMixin","components","baseinput","watch","notvalid","_notvalid","service","setErrorMessage","state.value","default_expression","change","created","_this2","$watch","language","visible","yield","$nextTick","editable","validate","required","$emit","value_from_default_value","destroyed","./services","components/InputBase.vue","store/application","13","IntegerService","14","IntegerInput","components/InputInteger.vue","15","_slicedToArray","arr","sliceIterator","_arr","_n","_d","_e","_s","_i","next","_gui","_gui2","LonLatService","coordinatebutton","mapService","getService","mapEpsg","getCrs","mapControlToggleEventHandler","evt","isToggled","isClickMap","active","toggleGetCoordinate","getMap","outputEpsg","epsg","eventMapKey","lon","lat","valid","Number","isNaN","startToGetCoordinates","stopToGetCoordinates","deactiveMapControls","originalEvent","stopPropagation","preventDefault","coordinate","ol","proj","transform","_coordinate","Observable","unByKey","services/gui","16","LatLontInput","components/InputLonLat.vue","17","MediaService","18","MediaInput","components/InputMedia.vue","19","_data2","_pickfeatureinteraction2","_pickcoordinatesinteraction2","PickLayerService","pick_type","ispicked","fields","layerId","layer_id","interaction","layers","getLayerById","keyCode","owner","data","unpick","$","unbind","escKeyUpHandler","bindEscKeyUp","afterPick","feature","attributes","getProperties","filter","forEach","setModal","addInteraction","layer","getProjectLayer","getQueryLayersPromisesByCoordinates","feature_count","response","_response$0$data","features","fail","removeInteraction","unbindEscKeyUp","isPicked","map/interactions/pickcoordinatesinteraction","map/interactions/pickfeatureinteraction","services/data","20","PickLayerInput","components/InputPickLayer.vue","21","RadioService","22","RadioInput","components/InputRadio.vue","23","RangeService","min","max","_opts$state$input$opt","setValidator","24","RangeInput","components/InputRange.vue","25","_getCatalogLayerById","_createSingleFieldParameter","_defineProperty","SelectService","getCatalogLayerById","orderbyvalue","sort","b","val1","val2","search","_state$input$options","getData","_ref2","$value","addValue","text","sortValues","catch","_this3","_ref3","_ref3$layer_id","_ref3$key","_ref3$value","_this3$_layer$getData","_layer","_getLayerById","getDataTable","_","j","createSingleFieldParameter","operator","logicop","join","trim","properties","id","utils/createSingleFieldParameter","utils/getCatalogLayerById","26","SelectInput","components/InputSelect.vue","27","Validators","validators","float","bigint","MAX_SAFE_INTEGER","integer","isSafeInteger","checkbox","includes","datetimepicker","moment","fielddatetimeformat","isValid","char","varchar","string","radio","range","get","setValue","setEmpty","_validator","default_value","get_default_value","unshift","validator","empty","isEmpty","unique","exclude_values","size","has","message","mutually","mutually_valid","max_field","min_field","_state","_value","update","toUpperCase","g3w-i18n","28","InputsServices","textarea","texthtml","check","select","media","select_autocomplete","picklayer","color","slider","lonlat","./checkbox/service","./datetimepicker/service","./float/service","./integer/service","./lonlat/service","./media/service","./radio/service","./range/service","./select/service","./service","./sliderrange/service","./unique/service","29","SliderRangeService","30","components/InputSliderRange.vue","31","components/InputText.vue","32","TextAreaInput","components/InputTextArea.vue","33","TextHtmlInput","components/InputTextHtml.vue","34","UniqueService","35","UniqueInput","components/InputUnique.vue","36","_vueCookieLaw2","_vue2Teleport2","_g3wConstants","_g3wPanel2","_g3wComponent2","_getUniqueDomId","_promisify","_sameOrigin","_UserMessage2","_CatalogContextMenu2","_ModalLogin2","_ModalAddLayer2","_ModalChangeMap2","_ModalMetadata2","_ref7","_ref5","_ref4","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","ModalLogin","ModalAddlayer","ModalChangemap","ModalMetadata","Teleport","computed","languages","appconfig","dropdownParent","innerWidth","isIframe","top","urls","logo_url","project","thumbnail","mediaurl","header_logo_img","project_title","getState","username","login_url","has_iframe_login","sameOrigin","location","href","hasRelatedMaps","macrogroups","groups","projects","main_title","main_map_title","group_name","slug","breadcrumb","content","contentsdata","crumb","showresize","currentPerc","gui","layout","__current","rightpanel","split","secondaryPerc","showresizeicon","usermessage","showtitle","styles","width","sizes","height","zIndex","minHeight","VIEWPORT","resize","paddingTop","paddingBottom","contentTitle","_state$content$conten2","_state$content$conten","post_title","backOrBackTo","showgoback","previousTitle","sidebar","disabled","panels","showmainpanel","componentname","slice","getTitle","panelname","methods","templateResultLanguages","staticurl","element","oncCustomItemClick","querySelector","modal","click","append","showEmbedModal","url","URL","searchParams","set","getMapExtent","$t","initDialogMessages","messages","pid","getId","_loop","items","localStorage","getItem","LOCAL_ITEM_IDS","MESSAGES","JSON","parse","find","doNotShowAgainVueComponent","checked","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","$refs","openChangeMapMenu","isNotLastCrumb","index","closeContent","gotoPreviousContent","popContent","closeUserMessage","wrapMoveFnc","moveFnc","resizeStart","addEventListener","resizeStop","removeEventListener","resizeFull","toggleFullViewContent","sidebarSize","SIDEBARWIDTH","viewPortSize","mapSize","pageX","pageY","_VIEWPORT$resize","resized","Math","round","_layout","closePanel","closeAllPanels","_ref6","allSettled","d","promisify","unmount","parent","_x","splice","toggleSidebar","toggleSidebarItem","mini","classList","contains","collapsed","li","showSidebar","closest","component","comp","open","getOpen","menu","collapsible","_language","cl","i18next","changeLanguage","lng","pathArray","pathname","history","replaceState","mounted","iframe","toggle","isMobile","__vue__options__","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","ref","staticStyle","display","justify-content","role","padding","header_logo_link","frontendurl","alt","src","_v","autocomplete","hidden","for","class","$fa","margin-left","text-align","white-space","list-style","margin","_l","style","order","position","modifiers","data-placement","data-toggle","data-container","$event","img","img_title","domProps","innerHTML","first_name","last_name","data-target","admin_url","logout_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","g3w-disabled","justifyContent","font-weight","align-items","z-index","duration","enter","leave","subtitle","draggable","closable","autoclose","textMessage","icon-class","iconClass","close-usermessage","hooks","slot","tag","footer","mousedown","g3w-hide","online","font-size","show","loading","plugins","fontWeight","aside","mobile","tool","align-self","marginRight","margin-right","theme","buttonText","to","tabindex","data-backdrop","data-keyboard","aria-labelledby","aria-hidden","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ModalAddLayer.vue","components/ModalChangeMap.vue","components/ModalLogin.vue","components/ModalMetadata.vue","components/UserMessage.vue","g3w-component","g3w-constants","g3w-panel","utils/getUniqueDomId","utils/promisify","utils/sameOrigin","vue-cookie-law","vue2-teleport","vueify/lib/insert-css","37","_ref10","_ref9","_ref8","_g3wEventbus","_XHR","_CatalogChangeMapThemes2","__","_CatalogTristateTree2","$options","legend_position","showlegend","currentBaseLayer","CatalogChangeMapThemes","CatalogTristateTree","baselayers","hasBaseLayers","hasLayers","external","vector","layerstrees","reduce","l","tree","layersgroups","onLegendError","legendurl","onLegendLoad","getLegendSrc","_traverseVisibleLayers","legendurls","some","legend","context_base_legend","_getLegendSrc","_x2","_layers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","geolayer","exclude_from_legend","nodes","return","visiblelayers","method","http","GET","POST","source","ows_method","catalogLayer","getLegendUrl","all","format","categories","prefix","layerName","current","legend_on","replace","legend_off","params","LAYERS","STYLES","LEGEND_ON","LEGEND_OFF","url_params","tokens","filtertoken","createObjectURL","fetch","headers","Content-Type","encodeURIComponent","blob","_x4","getMapThemeFromThemeName","config","map_themes","flat","layerstree","XHR","result","_x5","setLayersTreePropertiesFromMapTheme","map_theme","changes","promises","traverse","mapThemeLayersTree","node","group","visibility","promise","setCurrentStyleAndResolvePromise","setCurrentStyle","getLayersStore","_ref6$node","expanded","_x6","changeMapTheme","rootNode","keys","clearCategories","VM","_x7","onTabClick","setBaseLayer","baseLayerId","getSrcBaseLayerImage","baseLayer","image","servertype","subtype","getResourcesUrl","onUnSelectionLayer","storeid","action","getActionLayerById","catalog","clearSelectionFids","selection","toggled","setSelectionFeatures","onActiveFilterTokenLayer","toggleFilterToken","_x8","_x9","onTreeNodeVisible","onTreeNodeSelected","selectLayer","state.external.wms","newlayers","oldlayers","catalog_tab","handler","_x10","immediate","_activeTab","oldTab","parentElement","$on","beforeMount","initbaselayer","!click","aria-controls","data-i18n","wms","gid","change-map-theme","root","parentFolder","legendplace","parent_mutually_exclusive","externallayers","gridTemplateColumns","base","fixed","opacity","load","bottom","background-color","line-height","border-top","margin-top","components/CatalogChangeMapThemes.vue","components/CatalogTristateTree.vue","g3w-eventbus","utils/XHR","38","_InputText2","LAYERSTREES_ATTRIBUTES","InputText","custom","mt","active_theme","toc_themes_init_status","custom_theme","i18nLabel","show_form","getElementById","_getMapThemeParams","treeItem","acc","attr","s","saveTheme","post","contentType","showUserMessage","updateTheme","c_theme","deleteTheme","dialog","confirm","bool","delete","custom_theme.value","add_map_theme_input","children","child","_x3","logged","padding-top","menu-open","_q","./InputText.vue","39","_vueColor","_downloadFile","shpwrite","ApplicationState","layer_style","left","project_menu","layer_menu","edit_url","layers_url","chrome-picker","Chrome","click-outside","bind","el","vnode","event","context","onShowContextMenu","closeMenu","x","x2","y2","x1","y1","mouseUp","mouseMove","clientX","clientY","marginLeft","parseInt","marginTop","offsetTop","offsetLeft","getBoundingClientRect","clientHeight","tooltip","download_menu","ogc_menu","_drag","onChangeColor","val","layer_color","backgroundColor","hex","getLayerByName","getStyle","_g3w_options","setStyle","canShowWmsUrl","isType","getFullWmsUrl","canShowWfsUrl","isWfsActive","canDownload","getWmsUrl","getCatalogWmsUrl","getWfsUrl","getCatalogWfsUrl","getWfs3Url","getCatalogWfs3Url","copyUrl","execCommand","copywmsurltooltip","download","map_extent","notify","downloadExternal","downloadFile","setLayerPosition","setZIndex","layersCount","zoomToLayer","goToBBox","bbox","minx","miny","maxx","maxy","canEdit","isEditable","editing","g3wsdk","core","plugin","PluginsRegistry","getPlugin","startEditing","showPanel","toolboxes","canZoom","coord","getGeometryType","geometryType","geometrytype","downloadExternalShapefile","getSource","getFeatures","crs","feat","clone","getGeometry","GeoJSON","writeFeaturesObject","featureProjection","folder","types","point","mulipoint","polygon","multipolygon","line","polyline","multiline","showAttributeTable","openAttributeTable","showMetadata","setLayerStyle","changed","setLayerFilter","fid","applyFilter","deleteFilterToken","deleteFilter","showMenu","overflowY","ul","offsetHeight","offsetWidth","maxHeight","_x11","canOpenAttributeTable","openattributetable","isExternalLayer","projectLayer","isExternalWMSLayer","_type","isExternalVectorLayer","canShowStylesMenu","canShowFiltersMenu","filters","hasMetadata","metadata","canShowOpacityPicker","onLayerOpacity","setOpacity","mouseover","getName","abstract","border-radius","right","defaultstyle","list","__r","$set","_m","hook:beforeDestroy","color_picker","$off","model","$$v","justify-self","padding-left","border-left","downloadUrl","vertical-align","fill","xmlns","xml:space","viewBox","shp-write","utils/downloadFile","vue-color","40","_click2","String","currentstyle","showfeaturecount","featurecount","externallegend","onCategoryClick","handleClick","showCategoryMenu","getWmsSourceLayerLegendUrl","isDisabled","showHideLayerCategory","mapReady","setLayerCategories","setError","urlLoaded","onChangeLayerLegendStyle","getStyleFeatureCount","dynamic","_ref4$nodes","getCategories","getLegendGraphic","_setAllLayerCategories","_updateLayerCategories","_ref5$symbols","symbols","ruleKey","symbol","_checked","setCategories","_ref6$symbols","category","findSymbol","onChangeMapLegendParams","runInitLayerVisibleAction","initialize","layer.visible","enabled","beforeDestroy","contextmenu","padding-right","stylesfeaturecount","mixins/click","41","_setAllLayersVisible","parentGroup","setVisible","_CatalogLayerLegend2","CatalogLayerLegend","isGroupChecked","controltoggled","n_childs","filtered","showLegendLayer","showLayerTocLegend","isGroup","legendlayerposition","showscalevisibilityclass","scalebasedvisibility","showScaleVisibilityToolip","isTable","isHidden","isHighLight","highlightlayers","isVisible","getTocHighlightable","isInGrey","getFeatureCount","total","categoryFeatureCount","layerstree.checked","handleGroupChecked","handleLayerChecked","removeCurrentFilter","mutually_exclusive","g","groupId","qlayer","saveFilter","toggleFilterLayer","clearSelection","expandCollapse","maybeZoomToLayer","onTreeItemClick","triClass","g3wtemplate","getFontClass","downloadExternalLayer","file","removeExternalLayer","showContextMenu","uncheckable","toc","itemmarginbottom","bold","removable","currentTarget","toc-added-external-layer","paddingLeft","highlightlayer","scalevisibility","current-tooltip","indexOf","_k","pagination","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","_t","word-wrap","43","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","44","geoMixin","Date","now","font","showLayer","45","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","max-height","data-interval","data-slide","components/Field.vue","46","_Field","openLink","link_url","47","mediaMixin","getMediaType","filename","48","49","vueoptions","50","_FormHeader2","_FormFooter2","switchcomponent","before","after","g3wformheader","G3wFormFooter","transitions","addremovetransition","isRootComponent","backToRoot","setRootComponent","handleRelation","relationId","disableComponent","_ref$disabled","resizeForm","perc","setCurrentFormPercentage","switchComponent","setCurrentComponentById","changeInput","addToValidate","removeToValidate","reloadLayout","bodyFromDOM","footerHeight","footerDOM","g3w_form_footer","g3wform_body","bodyHeight","updated","getEventBus","setValidComponent","setReady","clearAll","currentid","currentheaderid","resize-form","clickheader","hook:activated","addtovalidate","removetovalidate","changeinput","components/FormFooter.vue","components/FormHeader.vue","51","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","52","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","53","flex-direction","item_selected","fontSize","54","border","55","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","56","57","58","progress","borderRadius","59","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","60","_GlobalTabsNode2","_getFormDataExpressionRequestFromFeature","_convertFeatureToGEOJSON","_noop","showRelationByField","relation","showRelation","ids","required_fields","setVisibility","tab","inputs","qgs_layer_id","form_data","convertFeatureToGEOJSON","getFormDataExpressionRequestFromFeature","visibility_expression","formatter","outputs","setEditingRequireTab","field_name","getField","fieldName","toggleGroup","Node","unwatch","referenced_columns","root_tabs","tab_node","root_tab","group-title","in active","showTitle","components/GlobalTabsNode.vue","utils/convertFeatureToGEOJSON","utils/getFormDataExpressionRequestFromFeature","utils/noop","61","_InputG3W2","G3wInput","editing_required","filterNodes","getNodeType","nodesLength","rows","rowCount","columnNumber","floor","columnCount","columncount","showGroupTile","showlabel","groupbox","loadingRelation","getRelationById","isRelationDisabled","getRelationName","isRelationChildLayerNotEditable","projectRelation","relationLayer","referencingLayer","getNodes","row","startIndex","getNode","column","alias","getComponent","query","_b","$props","text-transform","components/InputG3W.vue","62","showHideHelp","loadingState","help","63","stateValueChanged","getValuesItem","convertValueToChecked","option","changeCheckBox","_getValuesItem","_getValuesItem2","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","64","placeholder","composing","65","resizeMixin","uniqueValue","widget_container","idinputdatetimepiker","domeDataPicker","hide","timeOnly","formats","onDatePickerChange","newDate","datetimedisplayformat","datetimefieldformat","onDatePickerShow","container","datetimepicker_body","datimewidget_container","abs","onDatePickerHide","_state$input$options$","_state$input$options$2","vertical","_formats$","fieldformat","disabledDates","displayformat","setValidatorOptions","toDate","ignoreReadonly","widgetParent","getLocale","readonly","66","67","Inputs","text_input","texthtml_input","textarea_input","integer_input","string_input","float_input","radio_input","check_input","range_input","datetimepicker_input","unique_input","select_input","media_input","select_autocomplete_input","picklayer_input","color_input","slider_input","lonlat_input","description","gui/inputs/checkbox/vue/checkbox","gui/inputs/color/vue/color","gui/inputs/datetimepicker/vue/datetimepicker","gui/inputs/float/vue/float","gui/inputs/integer/vue/integer","gui/inputs/lonlat/vue/lonlat","gui/inputs/media/vue/media","gui/inputs/picklayer/vue/picklayer","gui/inputs/radio/vue/radio","gui/inputs/range/vue/range","gui/inputs/select/vue/select","gui/inputs/sliderrange/vue/sliderrange","gui/inputs/text/vue/text","gui/inputs/textarea/vue/textarea","gui/inputs/texthtml/vue/texthtml","gui/inputs/unique/vue/unique","68","_InputG3W","show_required_field_message","69","70","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","trigger","clear","margin-bottom","labels","71","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","72","pickLayer","pickservice","pick","gui/inputs/picklayer/service","73","radio_value","74","Step","checkValue","getValidator","keydown","75","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","_toConsumableArray","InputMixin","selectMixin","select2Mixin","showPickLayer","picked","filterFields","isFilterFieldsReady","showNullOption","nullOption","select2NullValue","pickLayerValue","pickLayerInputService","getMultiValues","changeSelect","select2","Set","setAndListenSelect2Change","state.input.options.values","is_empty","_this4","filterFieldsUnwatches","relation_id","filter_fields","relation_reference","_state$input$options$3","chain_filters","_state$input$options$4","allowmulti","setLoading","_ApplicationState$pro","referencedLayer","_ApplicationState$pro2","fieldRef","referencingField","referencedField","relationLayerFields","getFields","_ref6$data","getFilterData","fformatter","ffield","_f","ordering","status","_ref11","_ref12","filterReferencedFieldValues","_ref13$data","rdata","_ref14","_ref15","dependencyLayerId","_state$input$options2","dependencyLayer","getEditingLayer","LayerTypes","TABLE","isStarted","_this5","selectElement","getLanguage","minimumInputLength","allowClear","ajax","delay","transport","success","failure","term","siblings","processResults","page","results","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","76","state.input.options.min","changeInfoMessage","state.input.options.max","77","keyup","mobileChange","78","max-width","min-width","79","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","background","handlers","html","firstChild","innerText","querySelectorAll","qlformat","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","column-left","insertColumnLeft","column-right","insertColumnRight","column-remove","deleteColumn","row-above","insertRowAbove","row-below","insertRowBelow","row-remove","deleteRow","getModule","novalid","80","tags","81","_copyUrl","hidemaps","map_info","mouse","switch_icon","epsg_4326","urlCopied","mapunit","showmapunits","mapunits","showHideControls","getMapControls","control","showHide","createCopyMapExtentUrl","switchMapsCoordinateTo4326","getMapControlByType","dispatchEvent","getEpsg","changeScaleLineUnit","onafter","ratio","_ref3$layers","_ref3$mainview","mainview","_ref3$switchable","switchable","_addHideMap","hidemap","_obj","utils/copyUrl","82","_QueryResultsActionChooseLayer2","_plugins2","_projections2","_flattenObject","_addZValueToOLFeatureGeometry","_isPointGeometryType","_convertSingleMultiGeometry","_getCatalogLayers","PROVIDERS","LAYER","is_clearing","mapcontrols","geocoding","providers","script","async","head","Vector","Style","Text","offsetY","stroke","Stroke","Fill","Icon","scale","RegularShape","points","radius","angle","PI","results_panel_open","is_layer_visible","getVisible","has_providers","extent","getProject","transformExtent","initextent","_hideMarker","toggleLayerVisibility","clearResults","getFeatureById","removeFeature","clearMarkers","__selected","removeFeatureLayerFromResult","q","isNumber","_split","_split2","y","projection","registerProjection","getCode","Feature","geometry","geom","Point","setId","addFeature","zoomToGeometry","reset","_ref3$","limit","__heading","provider","flattenObject","__uid","__icon","__no_results","onQuery","which","onValue","onReset","focus","_removeItem","uid","showMarkerResults","onItemClick","_item","parseFloat","zoomToFeatures","getCurrentContent","showQueryResults","_editItem","_feature","addZValueToOLFeatureGeometry","convertSingleMultiGeometry","getApi","addLayerFeature","queryresults","addLayer","zindex","registerVectorLayer","actions","editablePointLayers","getCatalogLayers","EDITABLE","GEOLAYER","isPointGeometryType","inediting","isInEditing","addCurrentActionToolsLayer","observable","toggleable","hint","setCurrentActionLayerFeatureTool","nolayers","unregisterVectorLayer","address_name","address_road","address_building","address_house_number","address_city","address_town","address_village","address_postcode","address_state","address_country","components/QueryResultsActionChooseLayer.vue","store/plugins","store/projections","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","83","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","84","_imagelayer","RasterLayer","layer_type","file_type","layer_name","layer_crs","getProjection","rgba","wms_config","wms_urls","wms_layers","olLayer","map_crs","persistent","csv_x","csv_y","csv_wkt","csv_separator","csv_loading","projections","error_message","parse_errors","wms_projections","at","crss","oldtype","unloadFile","unloadWMS","parseFile","input_file","accept","files","layer_data","zip","X","Y","wkt","JSZip","arrayBuffer","asText","shp","separator","pattern","RegExp","matches","shift","findIndex","WKT","readGeometry","dataProjection","gpx","GPX","gml","WMSGetFeatureInfo","geojson","kml","KML","extractStyles","kmz","readFeatures","unset","prop","GEOMETRY_FIELDS","getLocalWMSData","every","fetchWMS","updateLocalWMSData","_addExternalWMSLayer","deleteWMS","addExternalLayer","modal_addlayer","addWmsURL","_this6","found","deleteWmsUrl","_ref9$epsg","_ref9$position","_ref9$visible","res","rej","wmslayer","getOLLayer","interfaceowsurl","wmsurl","GetMap","w","changeLayerData","alldata","_this7","isReady","_ref13","$data","data-dismiss","$forceUpdate","font-family","border-bottom","padding-bottom","flex-grow","outline","user-select","h","map/layers/imagelayer","85","get_macro","get_group","_getListableProjects","LOGO_GIS3W","encodeURI","steps","curr_group","back","last_step","pop","has_steps","macrogroup_id","showMacroGroups","showGroups","showRoot","addStep","mg","m","showProjects","getListableProjects","setItemImageSrc","changeMapProject","base_url","baseurl","srid","map_url","origin","addMapExtentUrlParameterToUrl","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","utils/getListableProjects","86","onIframeLoaded","login_iframe","contentWindow","reload","grid-template-areas","place-items","inset","grid-area","87","_application4","customcredits","powered_by","docs_url","general","spatial","g3wsdk_info","showHideInfo","box","sanitizeValue","copy_g3wsdk_info","createRange","selectNode","getSelection","removeAllRanges","addRange","alert","credits","$script","complete","platform","pluginsConfigs","os","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","overflow","gap","rel","_process","services/application","88","_getScaleFromResolution","_getResolutionFromScale","_printAtlas","_resize2","vueComp","init","atlas_values","has_maps","maps","has_autocomplete","atlas","_init","_moveKey","_page","_resolutions","print","getPrint","PRINT_FORMATS","downloading","rotation","inner","scales","dpis","dpi","print_extent","changeTemplate","has_previous","_clearPrint","initSelect2Field","showPrintArea","_setPrintArea","changeScale","changeDpi","changeRotation","setInnerGreyCoverBBox","isAxisOrientationInverted","getAxisOrientation","getOverviewExtent","xmin","xmax","ymin","ymax","getPrintExtent","viewer","_map$getCoordinateFro","getCoordinateFromPixel","_map$getCoordinateFro2","_map$getCoordinateFro3","_map$getCoordinateFro4","has_theme","store","has_atlas","disableSideBar","printAtlas","vueComponentObject","setContent","preset_theme","getLayers","PRINTABLE","SERVERTYPE","reverse","getPrintLayerName","pdf","jpg","svg","URLSearchParams","SERVICE","VERSION","REQUEST","TEMPLATE","DPI","FORMAT","png","geopdf","FORMAT_OPTIONS","CRS","overview","_extends2","ok","getInternalComponent","_initPrintConfig","startDrawGreyCover","renderSync","w2","h2","resolution","getResolution","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","print_atlas","ko","suggest","matcher","noResults","errorLoading","searching","inputTooShort","minimum","vals","_this8","_skip_atlas_check","isInteger","_values","state.url","_this9","TIMEOUT","statusText","marginBottom","createTag","components/PrintPage.vue","mixins/resize","utils/getResolutionFromScale","utils/getScaleFromResolution","utils/printAtlas","89","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","onload","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","90","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","91","_createFilterFromString","currentlayer","test","manual","manualvalue","select.field","addToExpression","CACHE","querybuilder","getUrl","filterElement","previous","search_fields","selectedIndex","search_values","createFilterFromString","save","projectId","edit_id","searches","prompt","querybuildersearches","ITEMS","baselayer","exclude","relations","customPrefix","operators","FILTER_OPERATORS","skin-border-color","utils/createFilterFromString","92","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","Select2","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","showInPagination","getLayerDownloads","layerHasFeatures","rawdata","getLayerCustomComponents","layerscustomcomponents","getLayerField","layerField","getQueryFields","formStructure","_field","getFieldType","getColSpan","attributesSubsetLength","hasLayerOneFeature","addLayerFeaturesToResults","addLayerFeaturesToResultsAction","showLayerDownloadFormats","saveLayerResult","downloadFeatures","addRemoveFilter","getContainerFromFeatureLayer","hasOneLayerAndOneFeature","addToSelection","extractAttributesFromFirstTabOfFormStructureLayers","structure","traverseStructure","attributesSubset","_attributes","attribute","end","getLayerFormStructure","structuredClone","getLayerFeatureBox","relation_index","boxid","getBoxId","layersFeaturesBoxes","openCloseFeatureResult","collapsedFeatureBox","showFeatureInfo","toggleFeatureBox","toggleFeatureBoxAndZoom","opened","_x12","_x13","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","showPagination","counts","loadPaginationData","page_size","_x15","_x16","_x17","getCurrentPagSize","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","page_sizes","skin-background-color","pages","infoformat","colspan","layersactions","boxLayerFeature","currentactiontools","featureIndex","actiontools","noAttributes","feature-html-content","k","v2","k2","showresults","showResults","flex","components/QueryResultsActionInfoFormats.vue","components/QueryResultsHeaderFeatureActionsBody.vue","components/QueryResultsHeaderFeatureBody.vue","components/QueryResultsTableAttributeFieldValue.vue","utils/getMapLayersByFilter","utils/throttle","93","clickAction","originalDataTitle","hint_change","condition","94","has_layers","95","download_format","_download","96","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","97","choices","g3w_select_feature_featurepolygon","choice","98","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","99","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","100","101","g3w-link","g3w-vue","102","_FieldG3W2","_QueryResultsActionDownloadFormats2","previousview","showChartButton","cardinality","inject","chart","headercomponent","downloadButton","downloadLayer","showTools","isGeoLayer","showrelationslist","relationnoback","one","createTable","getDownloadableFormats","saveRelation","getDownloadUrl","showChart","chartContainer","G3W_FID","what","relationDataTable","relationtable","DataTable","autoWidth","bLengthChange","dom","columnDefs","orderable","targets","pageLength","responsive","scrollResize","scrollCollapse","scrollX","tableHeaderHeight","query_relation","parentNode","outerHeight","showFormStructureRow","showContent","internalComponent","editFeature","getRowFields","columns","adjust","$parent","setRelationsList","fieldIs","is","sidebarHeaderSize","tablecontent","chartcontent","relationwrapper","beforeCreate","delayType","destroy","toggled-white","minWidth","rows_fid","rowFormStructure","components/FieldG3W.vue","components/QueryResultsActionDownloadFormats.vue","103","featureInfo","noback","104","_buildRelationTable","cols","getTableHeaders","getLayerEditingFormStructure","_Relations2","_Relation2","_createRelationsUrl","_options","_$options","_$options$table","_$options$relation","_$options$relations","nmRelation","_$options$feature","_$options$currentview","currentview","_$options$chartRelati","chartRelationIds","provide","saveRelations","fileDownload","createRelationsUrl","httpMethod","relationData","hideChart","getRelationsNM","_ref3$features","_nmRelation$fieldRef","relationsNM","accumulator","property","relationLayerId","setCurrentContentOptions","relationName1","relationName2","save-relation","show-chart","hide-chart","components/Relation.vue","components/Relations.vue","utils/createRelationsUrl","105","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","106","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","autofilter","allvalue","SEARCH_ALLVALUE","is_staff","forminputs","filterlayers","search_layers","getFilterToken","clearFilters","paginate","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","reloadSelect2Inputs","setInputs","widget_type","opt","time","utils/getDataForSearchInput","107","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","108","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","109","_coordinatesToGeometry","_ref20","_createFeatureForSelection","coordinatesToGeometry","allfeatures","selectAll","nofilteredrow","show_tools","in_bbox","getRelations","getArray","getFather","father","father_fields","getFatherField","getChildField","has_map","async_highlight","getAll","firstCall","map_bbox","cb","disableSelectAll","has_features","current_layout","selectionFids","selectAllRows","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","PAGELENGTHS","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","_state$features","count","featurescount","getOlSelectionFeature","hasSelectionFid","unSelectAll","onGUIContent","filterChangeHandler","onbefore","closeSideBar","hideSidebar","_ref17","_ref18","pResolve","last_map_control","setContentKey","filterColumns","disableContent","bSortCellsTop","searchable","deferLoading","lengthMenu","processing","serverSide","sSearch","fragment","changeColumn","draw","createDocumentFragment","table_toolbar","un","height_100","mouseleave","utils/coordinatesToGeometry","110","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","warning","111","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","112","FormService","FormComponent","_get","object","receiver","desc","getOwnPropertyDescriptor","getter","_g3wObject2","_FormBody2","_getDefaultExpression","_getFilterExpression","_classCallCheck","_possibleConstructorReturn","addComponents","addComponent","getFormPercentage","headerComponent","setComponent","_setInitForm","parentData","_options$title","formId","_options$buttons","context_inputs","isnew","_options$footer","disabledcomponents","isNew","tovalidate","componentstovalidate","filter_expression_fields_dependencies","default_expression_fields_dependencies","default_expression_fields_on_update","listenChangeInput","setFormFields","setFormStructure","evaluateFilterExpressionFields","evaluateDefaultExpressionFields","isUpdated","_options$force","dependency_field","getDefaultExpression","_getField","getFilterExpression","filter_expression","referencing_fields","dependency_fields","_filter_expression$re","_filter_expression$re2","_default_expression$r","_default_expression$r2","apply_on_update","_default_expression$a","_field$input$options","_handleFieldWithFilterExpression","_handleFieldWithDefaultExpression","setFormPercentage","_input_name","_valid","inputname","filled","input_name","_component$header","eventBus","disableId","setIdHeader","getRootComponent","addedcomponentto","session","requested_expressions","pending_expressions","dFs","setters","setInitForm","handleFieldsWithExpression","setupFields","setFormData","setField","setState","_setState","addActionsForForm","components/Form.vue","components/FormBody.vue","g3w-object","utils/getDefaultExpression","utils/getFilterExpression","113","_ref3$feature_count","queryUrl","queryurl","parsed","_createFilterFormInputs","createFilterFormInputs","raw","autozoom_query","_relation$fieldRef","search_1n","search_1n_relationid","outputDataPlace","SearchPanel","search_endpoint","querylayerid","otherquerylayerids","op","_len","_key","_GUI$getService$getMa","_GUI$getService$getMa2","panel","createFilter","vueSearchComp","components/SearchPanel.vue","utils/createFilterFormInputs","114","VueColor","Proxy","fromEntries","Reflect","overviewproject","VueCookie","vue-cookie","115","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","116","removeAttribute","117","118","_utils","directives/utils","119","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","_ref$clear","g3w_observer","120","oldValue","121","tPlugin","122","_require","123","_el","_ref$el","componentUpdated","oldVnode","124","handleInnerHTML","__currentBinding","__innerHTML","125","çç","_cloneDeep","deprecate","merge","destination","Component","_G3WObject","iconConfig","_this$events$open$whe","_setOpen","_setVisible","setDisabled","_reload","_firstLayout","_components","random","resizable","closewhenshowviewportcontent","setService","setInternalComponent","events","_this$events$open","when","_this$events$open$cb","vueComponent","_service","propsData","internalComponentClass","$promisify","localize","$destroy","overwriteServiceMethods","extendInternalComponent","extendInternalComponentMethods","extendInternalComponentComponents","lodash.clonedeep","util-deprecate","126","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","DEFAULT_EDITING_CAPABILITIES","APP_VERSION","_version","_version2","gte","lte","NOT","eq","gt","lt","IN","LIKE","ILIKE","AND","OR","ltgt","ilike","like","POINT","POINTZ","POINTM","POINTZM","POINT25D","MULTIPOINT","MULTIPOINTZ","MULTIPOINTM","MULTIPOINTZM","MULTIPOINT25D","LINESTRING","LINESTRINGZ","LINESTRINGM","LINESTRINGZM","LINESTRING25D","LINE","LINEZ","LINEM","LINEZM","LINE25D","MULTILINESTRING","MULTILINESTRINGZ","MULTILINESTRINGM","MULTILINESTRINGZM","MULTILINESTRING25D","MULTILINE","MULTILINEZ","MULTILINEM","MULTILINEZM","MULTILINE25D","POLYGON","POLYGONZ","POLYGONM","POLYGONZM","POLYGON25D","MULTIPOLYGON","MULTIPOLYGONZ","MULTIPOLYGONM","MULTIPOLYGONZM","MULTIPOLYGON25D","GEOMETRYCOLLECTION","GEOMETRYCOLLECTIONZ","GEOMETRYCOLLECTIONM","GEOMETRYCOLLECTIONZM","GEOMETRYCOLLECTION25D","change-map","info-circle","globe","mail","fax","bars","uncheck","checkmark","filluncheck","trash","trash-o","pencil","ellips-h","ellips-v","arrow-up","arrow-down","arrow-left","arrow-right","resize-h","resize-v","resize-default","caret-up","caret-down","caret-left","caret-right","empty-circle","cloud-upload","spinner","minus","minus-square","plus","plus-circle","plus-square","grid","home","sign-out","calendar","link","unlink","eye","eye-close","video","unknow","excel","xls","gpkg","shapefile","csv","geotiff","ppt","circle","calculator","picture","keyboard","file-download","copy","chart-line","chart-area","chart-pie","crosshairs","file-upload","wifi","copy-paste","vector-square","invert","palette","sign-in","pin","square","move","moon","sun","refresh","pause","step-backward","fast-backward","step-forward","fast-forward","crop","exit","reply","share","share-alt","external-link","pointer","camera","measure","tint","copyright","forward","backward","EXCLUDE","./version","127","128","_g3wConstants2","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_createVectorLayerFromFile","_createSelectedStyle","_areCoordinatesEqual","_splitFeature","_within","_intersects","_distance","_getProjectUrl","_setProjectAliasUrl","_getProjectConfigByGid","_getProject","_tasks2","_measurecontrol","_mixins2","_createMeasureTooltip","_removeMeasureTooltip","_layersstore","_tablelayer","_vectorlayer","_featuresstore","_inherit","_base","_colorHEXToRGB","Plugin","PluginService","MapLayersStoresRegistry","FieldsService","constant","G3WObject","utils","inherit","uniqueId","colorHEXToRGB","geoutils","createVectorLayerFromFile","createSelectedStyle","areCoordinatesEqual","splitFeature","within","intersects","distance","Geometry","GeometryTypes","removeZValueToOLFeatureGeometry","getOLGeometry","isMultiGeometry","isLineGeometryType","isPolygonGeometryType","is3DGeometry","ApplicationService","task","TaskService","DataRouterService","errors","parsers","Server","ProjectsRegistry","setCurrentProject","getProjectUrl","setProjectAliasUrl","getProjectConfigByGid","getCurrentProject","MapLayersStoreRegistry","CatalogLayersStoresRegistry","LayersStore","TableLayer","VectorLayer","FeaturesStore","PickCoordinatesInteraction","PickFeatureInteraction","inputService","handleFilterExpressionFormInput","handleDefaultExpressionFormInput","GUI","Panel","ComponentsFactory","build","G3WInput","InputsComponents","Mixins","services","interactions","controls","createMeasureTooltip","removeMeasureTooltip","finally","console","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","./g3w-plugin","components/g3w-form","components/g3w-search","map/controls/measurecontrol","map/layers/feature","map/layers/featuresstore","map/layers/layersstore","map/layers/tablelayer","map/layers/vectorlayer","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","utils/createVectorLayerFromFile","utils/distance","utils/getOLGeometry","utils/getProject","utils/getProjectConfigByGid","utils/getProjectUrl","utils/inherit","utils/intersects","utils/is3DGeometry","utils/isLineGeometryType","utils/isMultiGeometry","utils/isPolygonGeometryType","utils/removeMeasureTooltip","utils/removeZValueToOLFeatureGeometry","utils/setProjectAliasUrl","utils/splitFeature","utils/within","129","getAppLanguage","addI18n","i18nObject","addResource","addI18nPlugin","_lang","130","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","131","onShow","onClose","132","setPlugin","dependencies","api","_api","getConfig","hook","_hook","hookservices","default_config","width_100","_ready","setLayout","_timeout","iscompatible","isCurrentProjectCompatible","registerPlugin","pluginsName","getDependencyPlugin","getDependencyPlugins","pluginName","_ref3$hook","_ref3$loading","getHookService","_ref4$hook","addToolGroup","removeToolGroup","setHookService","configs","addTools","_ref6$state","toolsGroups","removeTools","sidebarOptions","removeComponent","clearAllEvents","dependency","addFontClass","fc","_ref$name","_ref$config","_ref$service","_ref$dependencies","_ref$i18n","_ref$fontClasses","fontClasses","_ref$api","setName","setConfig","setLocale","setDependencies","addFontClasses","setApi","currentLayout","own","_pluginEvents","_ref10$once","_ref11$params","removeEvent","unsubscribeAllEvents","_appEvents","layoutName","133","_locales2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","ACTIONS","directive","use","install","_isMobile","added","mixin","any","inheritAttrs","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","views","i18nextXHRBackend","ns","fallbackLng","resources","jqueryI18next","tName","i18nName","handleName","selectorAttr","targetAttr","optionsAttr","useOptionsAttr","parseDefaultValueFromContent","ajaxSetup","beforeSend","xhr","setRequestHeader","minscale","maxscale","initproject","addLayersStore","addClass","search_title","localeCompare","addTool","tt","stop","removeTool","_t2","groupName","G3wTool","state.toolsGroups","getLayersTree","_ref5$type","_ref6$type","createLayersGroup","_ref7$title","_ref7$layers","addLayersGroup","getExternalLayers","_ref8$type","getComponentById","gidProject","enabledPlugins","otherPluginsConfig","configurationPlugins","law","baseUrl","jsscripts","responseJSON","compile","./deprecated","./g3w-globals","components/App.vue","components/Catalog.vue","components/GlobalBarLoader.vue","components/GlobalDateTime.vue","components/GlobalDivider.vue","components/GlobalHelpDiv.vue","components/GlobalProgressBar.vue","components/GlobalRange.vue","components/GlobalTabs.vue","components/Map.vue","components/Print.vue","components/QueryResults.vue","components/Search.vue","components/SidebarItem.vue","components/SpatialBookMarks.vue","directives/v-checked","directives/v-disabled","directives/v-download","directives/v-select2","directives/v-t","directives/v-t-html","directives/v-t-plugin","directives/v-t-title","directives/v-t-tooltip","locales","services/iframe","services/queryresults","134","translation","error_page","at_moment","f5","cookie_law","sign_in","layer_selection_filter","nofilter","show_features_on_map","savefilter","filterName","not_supported_format","layer_position","sdk","template_dialog","spatialbookmarks","helptext","sections","no_results","error_loading","layer_not_searchable","layer_not_querable","inputshort","pre","help_filter","no_layers","download_image","fids_instruction","fids_example","number_of_features","error_run","error_test","additem","unsupported_format","add_external_layer","fees","accessconstraints","contactinformation","subfields","contactorganization","ContactOrganization","contactposition","ContactPosition","contactperson","ContactPerson","wms_url","attribution","tooltips","form_to_row","row_to_form","zoomtogeometry","copy_map_extent_url","download_shapefile","download_gpx","download_gpkg","download_csv","download_xls","download_pdf","show_chart","add_selection","zoom_to_features_extent","add_features_to_results","remove_feature_from_results","zoom_to_feature","relations_charts","download_features_shapefile","download_features_gpx","download_features_gpkg","download_features_csv","download_features_xls","copy_zoom_to_fid_url","queryby","none","new","querybypolygon","querybydrawpolygon","querybbox","querybycircle","choiches","feature_polygon","no_geometry","nolayers_visible","addlayer","geolocation","measures","area","no_valid_scale","scaleline","metric","nautical","zoomhistory","zoom_last","zoom_next","relation_data","no_relations_found","back_to_relations","list_of_relations_feature","error_missing_father_field","form","input_validation_mutually_exclusive","input_validation_error","input_validation_error_type","input_validation_min_field","input_validation_max_field","input_validation_exclude_values","qgis_input_widget_relation","current_map_theme_prefix","choose_map_theme","choose_map_theme_input_label","project_map_theme","user_map_theme","question_delete_map_theme","delete_map_theme","saved_map_theme","updated_map_theme","invalid_map_theme_name","layerposition","setwmsopacity","copied","geotiff_map_extent","wps","list_process","g3wSuiteFramework","g3wSuiteDescription","productOf","toggle_color_scheme","logout","no_other_projects","no_other_groups","yes","no","backto","changemap","change_session","create_print","dosearch","externalwms","nobaselayer","street_search","copy_form_data","paste_form_data","copy_form_data_from_feature","error_map_loading","check_internet_connection_or_server_admin","could_not_load_vector_layers","server_saver_error","server_error","cancel","dont_show_again","enlange_reduce","exitnosave","annul","layer_is_added","add_wms_layer","delete_wms_url","layer_id_already_added","url_already_added","layer_add_error","list_of_relations","open_link","link_button","choose_layer","noresults","notresponseserver","add_layer_control","select_projection","select_field_to_show","select_csv_separator","select_csv_x_field","select_csv_y_field","select_color","drag_layer","input_relation","screenshot","securityError","catalog_items","zoomtolayer","open_attribute_table","show_metadata","vector_color_menu","layer_opacity","no_data","nodatafilterd","135","geoscreenshot","persistent_data","persistent_help","ogc_services","query_filter","sidebar_menu","choose_type","remote_wms_url","local_file","embed_map","homepage","wms_server","connect_to_wms","disconnect_from_wms","add_new_wms_url_help","no_csv_field","136","137","wms_layer_id_already_added","wms_url_already_added","138","_it2","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","translations","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","139","140","geolocations","141","142","143","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","144","InteractionControl","_ol$control$Control","_control","positionCode","interactionClass","customClass","cursorClass","_originalonlick","_onclick","onclick","_enabled","eventKeys","_handleClick","_toggled","_interactionClassOptions","interactionClassOptions","initInteraction","getViewport","_spatialMethod","eventKey","_options$visible","_options$enabled","_options$toggled","_options$clickmap","clickmap","_options$interactionC","_options$autountoggle","autountoggle","_options$geometryType","geometryTypes","_options$onhover","onhover","_options$help","toggledTool","_options$interactionC2","_options$layers","spatialMethod","unwatches","_visible","_interactionClass","_interaction","_autountoggle","_geometryTypes","_onhover","_help","_helpButton","_toolButton","_createModalHelp","createControlTool","setEnable","runSpatialQuery","setSpatialMethod","eventType","originalHandler","pos","hWhere","hOffset","previusControls","previusControl","offset","btn","onSetMap","setMap","setActive","setMouseCursor","newPosition","controlWidth","outerWidth","each","first","toggleClass","getSpatialMethod","toggleUserMessage","how","prepend","showToggledTool","hover","__title","__iconClass","getControls","onToggled","Control","145","MeasureControl","Draw","_clearMessagesAndListeners","_map","measureTooltip","_measureTooltipElement","_helpTooltipElement","_featureGeometryChangelistener","_poinOnMapMoveListener","_keyDownEventHandler","setGeometry","Polygon","getCoordinates","LineString","removeLastPoint","dragging","_helpMsg","_helpTooltip","setPosition","removeOverlay","Overlay","positioning","addOverlay","getElement","setOffset","measureStyle","drawColor","lineDash","Circle","_projection","_drawStart","_drawEnd","ntype","otype","addType","146","QueryBy","POLYGON_TYPES","CONTROLS","QUERY","dfeature","getSelectedLayerId","queryable","_hasVisible","setRadius","update__ALL__Text","selectedLayerNotQuerable","showAddLayerModal","autorun","setTocHighlightable","templateType","templateLayer","externalLayers","getLegacyExternalLayers","_unwatches","DragBox","_getAvailableLayers","startCoord","boundingExtent","setEventKey","getRadius","finishDrawing","_ref7$data","addControl","getEnable","isQueryable","getGeometryTypes","unWatches","addExternal","layersFilterObject","SELECTED_OR_ALL","FILTERABLE","VISIBLE","filtrable","multilayers","querymultilayers","filterConfig","excludeSelected","fromCircle","SELECTED","_ref10$error","isFilterable","getQuerableLayersStores","getProvider","147","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","148","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","149","StreetViewControl","GoogleStreetViewApiUrl","google","keyError","responseText","_sv","_panorama","_lastposition","_streetViewFeature","dx","dy","atan2","pixel","StreetViewService","getPanorama","StreetViewPanorama","imageDateControl","lnglat","getPixelFromCoordinate","setPov","pitch","heading","latLng","showStreetView","_ol$proj$transform","_ol$proj$transform2","clearMarker","_toggle","addFeatures","150","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","151","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","152","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","153","_g3wObject","_features","_provider","_loadedIds","_lockIds","_addFeature","_removeFeature","updateFeature","_updateFeature","_clearFeatures","_filterFeaturesResponse","commit","commitItems","featurestore","lockids","featuresLockedByOtherUser","lockFeatures","_options$features","_options$featurelocks","featurelocks","featureid","fl","featuresToAdd","featureId","lockIds","union","154","BaseClass","checkUrl","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","155","ImageLayer","_geoMixin2","_get_legend_params2","withLayers","_olLayer","_makeOlLayer","allLayers","layerObj","TileArcGISRest","resolutions","iframe_internal","getWMSLayerName","cache_type","cache_layer","cache_extent","cache_grid","cache_grid_extent","tilegrid","createXYZ","getResolutions","WMTS","matrixSet","cache_format","tileGrid","getTopLeft","matrixIds","transparent","extraParams","tiled","XYZ","maxZoom","minZoom","crossOrigin","tileLoadFunction","tile","getImage","TileState","ERROR","TileGrid","getExtent","_method","mapUnits","OPACITIES","mapState","_get_legend_params","get_legend_params","getOpacity","updateParams","isArcgisMapserver","setMapParamstoLegendUrl","showSpinnerWhenLoading","LAYERTYPE","MULTILAYER","getInfoFormat","getGetFeatureInfoUrl","getQueryUrl","infourl","maxResolution","TileWMS","ImageWMS","TRANSPARENT","SLD_VERSION","sld_version","imageLoadFunction","_ref6$force","project_type","layerForEditing","setEditingLayer","isExternalWMS","isWmsUseLayerIds","isLayerProjectionASMapProjection","_ref7$type","source_layer","_hasExternalWMSOrLegend","_getBaseLayerName","_ref9$type","wmsUrl","infolayer","replaceAll","getInfoFormats","useProxy","_config$bbox","is_qgis","getServerType","layertitle","ctx_legend","_params$customParams","customParams","_params$customParams$","_params$customParams$2","fontsize","_params$customParams$3","boxspace","layerspace","_params$customParams$4","layertitlespace","symbolspace","iconlabelspace","symbolwidth","symbolheight","itemfontfamily","layerfontfamily","layerfontbold","itemfontbold","layerfontitalic","itemfontitalic","rulelabel","_params$customParams$5","legendUrl","wfscapabilities","capabilities","_mapLayer","getOwsMethod","cache_service_type","getCacheUrl","isWMS","setAttributions","_BASE_LAYER","IMAGE","setup","OSM","basemap","streets","aerial","aerialwithlabels","preload","BingMaps","imagerySet","bing","getProjectionFromCrs","_this3$config","_this3$config$format","_this3$config$style","requestEncoding","grid_extent","getWidth","z","pow","singleTile","_this3$config2","_this3$config2$visibl","map/layers/geo-mixin","utils/get_legend_params","156","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","mapProjection","qgis","_projections","is_table","getMapProjection","_filter","QUERY_LAYERS","FEATURE_COUNT","I","J","FILTER","WITH_GEOMETRY","nofeatures","nofeatures_field","lk","_opts$layers","_opts$size","_opts$coordinates","tolerance","query_point_tolerance","proxy","getWMSInfoLayerName","FILTER_GEOM","writeGeometry","FI_POINT_TOLERANCE","FI_LINE_TOLERANCE","FI_POLYGON_TOLERANCE","G3W_TOLERANCE","WIDTH","HEIGHT","BBOX","SOURCE","timer","race","uri","getDataProxyFromServer","wfs","MAXFEATURES","TYPENAME","getWFSLayerName","OUTPUTFORMAT","SRSNAME","reproject","WFS","writeGetFeature","featureTypes","repeat","DOWNLOAD_FORMATS","download_raster","_ref49","_ref42","_ref39","_ref35","_ref34","_ref33","_ref32","_ref31","_ref30","_ref28","_ref27","_ref26","_ref24","_ref23","_ref22","suffixUrl","vectorUrl","rasterUrl","unlock","widget","_relations","suffix","origname","fatherField","childField","getChild","isLoading","getPrefix","setTitle","_length","_reloadRelationsInfo","_relationsInfo","fathers","father_child","relationKey","getLength","_ref13$type","setRelations","getRelationByFatherChildren","isChild","isFather","hasChildren","getChildren","hasFathers","getFathers","layerType","canShowTable","downloadable","isDownloadable","attributetable","tochighlightable","layersstore","proxyData","_ref15$data","_ref16$data","getDownloadFilefromDownloadDataType","_ref17$data","_ref18$data","_ref19$data","_ref20$data","_ref21$data","isBaseLayer","relationName","hasRelations","has_current","_applyFilterToken","hideOlSelectionFeatures","_x21","mode","setFilter","setFilterToken","_x22","_ref25","_x23","createFilterToken","_x24","_ref29$data","fidsout","fidsin","setSelection","setInversionOlSelectionFeatures","createToken","is_excluded","setSelectionFidsAll","isSelectionActive","setOlSelectionFeatureByFid","_x27","setselectionFidsAll","_x29","excludeSelectionFid","proxyParams","_ref36","setProxyData","wms_use_layer_ids","_this10","_ref37","_ref37$page","_ref37$page_size","_ref37$ordering","_ref37$search","_ref37$suggest","_ref37$formatter","_ref37$custom_params","custom_params","parseAttributes","getAttributes","_ref40","_ref40$fids","_ref40$formatter","_ref41","_this11","_options$search_endpo","_x44","_x45","_ref43","_ref43$raw","_ref43$formatter","getTableFields","editor_form_structure","customstyle","_editingLayer","editingLayer","CAPABILITIES","conditionalFiltrable","_this12","conditions","isFiltrable","layer_config_value","condition_attribute_values","qtimeseries","_ref46","ogcService","getSourceType","infoFormat","layerstore","not_show_attributes_table","_ref47","_ref47$options","_ref47$reset","_ref48","_ref48$options","_ref48$reset","changeFieldType","VECTOR","_ref50","cansole","warn","_x55","wms_getmap_format","components/Table.vue","utils/parseAttributes","utils/prompt","157","_isQueryable","setLayerSelected","addLayers","CACHED","BASELAYER","VECTORLAYER","HIDDEN","DISABLED","IDS","isSelected","isPrintable","TOC_ORDER","_getAllSiblingsChildrenLayersId","getLayersDict","getAttributeLabel","nodeIds","_getInitExtent","getInitExtent","_getInitExtent2","rootGroup","_traverseLayersTree","tocLayersId","full","_traverseLightLayersTree","getGeoLayers","setLayersTree","lightlayer","mutually-exclusive","_setLayersTreeGroupBBox","project_epsg","_ol$proj$transformExt","_ol$proj$transformExt2","extentCoordinate","minxx","158","_waitFor","_Layer","clearFeatures","setFeatures","setColor","_color","updateOlSelectionFeature","_ref5$constraints","constraints","waitFor","_editor","Editor","started","modified","getEditingSource","readEditingFeatures","getEditingFields","featuresstore","setFeaturesStore","addLockIds","createAttrs","_opts$exclude","_opts$get_default_val","forceNull","utils/waitFor","159","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","160","autocompleteRequest","161","showhelpicon","setUpdate","162","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","163","getFieldService","_fieldsService","sanitizeFieldValue","164","countNoTEmptyInputName","165","166","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","167","isMedia","168","DELAY_TYPE","delayWrapper","delayResize","delayTime","169","resetValues","usecompleter","$container","170","171","172","_groupBy","_ref21","handleQueryPromises","responses","reason","contextAndMethod","_options$inputs","_options$outputs","query:coordinates","_ref4$layerIds","layerIds","_ref4$multilayers","_ref4$query_point_tol","_ref4$addExternal","_ref5$data","query:bbox","_ref7$feature_count","_ref7$filterConfig","_ref7$multilayers","_ref7$condition","_ref7$excludeSelected","_ref7$addExternal","_ref7$layersFilterObj","getQueryLayersPromisesByGeometry","fromExtent","_ref8$data","query:polygon","_ref10$feature_count","_ref10$filterConfig","_ref10$multilayers","_ref10$condition","_ref10$layerName","_ref10$excludeSelecte","_ref10$external","_ref10$type","messagetext","_ref11$data","search:features","searchFeatures","search:fids","_ref17$formatter","_ref17$fids","getFeatureByFids","olFeat","search:layersfids","_ref19","_ref19$layers","_ref19$fids","_ref19$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref22$method","_ref22$params","_ref22$headers","proxy:data","_ref23$feature_count","_ref23$query_point_to","_ref23$multilayers","_ref23$reproject","groupBy","getInfoUrl","getMultiLayerId","mapCrs","_ref26$filterConfig","_ref26$multilayers","_ref26$feature_count","utils/groupBy","173","_clearContents","_iframe2","COMPONENTS","SERVICES","navbar","setViewSizes","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","primaryView","getReducedSizes","contentEl","reducedWidth","sideBarToggleEl","toggleWidth","_toggleWidth","reducedHeight","_closeUserMessage","backonclose","contents","headertools","_showView","jQuery","_layoutComponents","isready","push_content","bootbox","currentoutputplace","register","drawing","resizeFired","triggerResize","drawResize","componentId","downloadFnc","output","rid","pending_output","crid","setQueryResponse","errorToMessage","formComponent","_ref7$pop","disable","disableElement","clearState","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","174","_normalizeEpsg","normalizeEpsg","_getEpsgFromParam","_objectWithoutProperties","IframePluginService","AppService","EditingService","serviceNames","setLayers","eventResponseServiceHandler","postMessage","getMessage","dataPromise","outputData","_options$action","parser","writeFeatures","pendingactions","_evt$data","_evt$data$id","_evt$data$single","single","is_ready","getReady","stopPendingActions","BaseIframeService","_ref13$layers","setDependencyApi","dependencyApi","_ref15$noValue","noValue","_ref20$qgs_layer_id","_ref20$zoom","_ref20$highlight","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_params$coordinates","zoomTo","_ref29","_params$extent","_params$highlight","getQgsLayerId","findFeaturesWithGeometry","changeMap","responseObject","setSaveConfig","toolbox","hidePanel","_error","isRunning","stopEditing","subscribersHandlers","subscribe","subscribevents","unsubscribe","_ref38","configQglLayerId","getEditableLayersId","startAction","startstopediting","setActiveTool","getToolById","addSubscribeEvents","_x26","_x30","_options$action2","_this13","_x33","_this14","resetDefault","resetSubscribeEvents","canUndo","activeTool","_ref32$disableToolbox","disableToolboxes","setEnabled","setEditing","canRedo","cancelform","addfeature","isActive","closeeditingpanel","stopAction","utils/normalizeEpsg","175","_localforage2","_queryby","_geolocationcontrol","_streetviewcontrol","_scalecontrol","_screenshotcontrol","_MapControlZoomHistory2","_MapControlGeocoding2","MAP","offlineids","stores","animatingHighlight","removeLayersStore","getLayersStores","zoomtoextent","ZoomToExtent","Zoom","ScaleLine","OverviewMap","zoombox","_startCoordinate","runQuery","getQueryPointTolerance","getInteraction","streetview","addlayers","mouseposition","MousePosition","MapService","_controls","g3w","external_wms","external_vector","_externalInteractions","defaultsLayers","mapcenter","_style","highlightLayer","selectionLayer","layersExtraParams","_drawShadow","outer","_howManyAreLoading","_marker","onLayerLoadStart","onLayerLoadEnd","onLayerLoadError","onExtraParamsSet","updateMapLayers","_keyEvents","setupCustomMapParamsToLegendUrl","_setupCustomMapParamsToLegendUrl","setupControls","_config","header_terms_of_use_text","header_terms_of_use_link","getMapLayers","Attribution","coordinateFormat","_ref7$","createMapControl","coords","undefinedHTML","setCoordinateFormat","createStringXY","View","_calculateViewOptions","constrainCenter","collapseLabel","mapLayer","WMSUrl","showMarker","addHideMap","_ref10$switchable","idMap","setHidden","setupViewer","showmarker","iframetype","zoom_to_fid","zoom_to_features","currentControl","can_drag","olMap","Map","rotateOptions","autoHide","DragRotate","platformModifierKeyOnly","ol3Logo","keyboardEventTarget","getZoom","dispose","goTo","_fit","changeBaseLayer","insertAt","getInteractions","DoubleClickZoom","interval","elapsed","frameState","easing","easeOut","getCurrentToggledMapControl","getActiveTool","zoomToFid","zoomToFeaturesUrl","getResolutionForExtent","background_color","int","_watchInteraction","stopEvent","setLayerZIndex","getZIndex","_setupAllLayers","setUpMapOlEvents","_setUpEventsKeysToLayersStore","_removeEventsKeysToLayersStore","controlClick","mapcontrol","loadExternalLayer","unloadExternalLayer","showSpinner","hideSpinner","show_load_layer_error","shown","dynamicLegend","_ref16$layers","_ref16$mainview","olView","_idMap$map$getSize","setSize","navigator","msSaveBlob","msToBlob","toBlob","intersectGeom","vectorLayer","getIntersectedFeatures","intersectsExtent","MultiPolygon","_ref19$add","_ref19$toggled","_ref19$options","_zoom_to_fid$split","_zoom_to_fid$split2","_ref22$data","pLayer","_zoom_to_features$spl","_zoom_to_features$spl2","_x25","addToMapControls","buttonControl","placement","enable","removeControl","hideControl","_this15","_ref26$close","_unToggleControls","getLayerConfigs","ml","getHeight","_this16","addLayerToMap","_this17","blayers","registerMapLayerListeners","setMapProjection","mapLayers","isQtimeseries","getFormat","_this18","unregisterMapLayerListeners","_ref34$zindex","_ref35$showSpinner","g3w_time","_this19","updateMapLayer","getBaseLayers","_this20","elId","_options$active","_this21","getActive","setZoom","animate","_this22","gtype","is_ol_geom","f_ext","is_multi","getGeometryAndExtentFromFeatures","highLightGeometry","_getGeometryAndExtent2","curr","containsExtent","goToRes","_x51","constrainResolution","setDefaultLayerStyle","_this23","geometryObj","hlayer","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this24","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this25","unWatch","onRemoveExternalLayer","externalLayer","_this26","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","_ref44","components/MapControlGeocoding.vue","components/MapControlZoomHistory.vue","localforage","map/controls/geolocationcontrol","map/controls/queryby","map/controls/scalecontrol","map/controls/screenshotcontrol","map/controls/streetviewcontrol","176","_QueryResultsActionQueryPolygonCSVAttributes2","_layer4","QueryResultsService","layersId","queryResponse","FILTER_SELECTED","_vectorLayers","getVectorLayerFeaturesFromQueryRequest","drawpolygon","resultsQueryLayer","is_layer","is_vector","is_string","sourceType","layerAttrs","specialAttrs","layerAttr","featureAttr","_setRelationField","relationsattributes","_atlas","setLayersData","_projectLayerIds","updateLayerResultFeatures","addActionsForLayers","closeComponent","changeLayerResult","activeMapInteraction","unlistenerlayeractionevents","plotLayerIds","currentactionfeaturelayer","_addFeaturesLayerResultInteraction","toggleeventhandler","_asyncFnc","todo","goToGeometry","_project","_setRelations","_state$query$paginati","_state$query$paginati2","has_filtertoken","_getFeatureId","_ref6$id","_ref6$position","responseLayer","features_ids","responseFeatures","feature_id","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","is_selected_feature","hint_changed","_ref11$component","_ref12$config","_ref13$component","_ref13$config","external_layer","not_current","new_layer","_x19","isOneLayerResult","querytitle","actionId","layerAction","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref17$atlas","_ref17$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","_x31","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","layerSelection","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","177","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","178","STATE","onLine","upload","stack","cloasable","179","PLUGINS","180","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","181","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","182","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","183","coordinates1","coordinates2","184","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","185","186","writeFeatureObject","187","matchDayInDate","188","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","189","MultiLineString","MultiPoint","190","tempinput","191","_ref$inputs","192","_ref$filter","193","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","194","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","195","_ref$color","_ref$fill","asString","asArray","196","_ref$operator","_ref$logicop","197","_fields","198","func","199","c1","c2","sqrt","200","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","201","propName","202","203","204","205","_ref5$fields","206","_field$input$options$","_data","207","208","209","listable","210","211","212","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","createLayersTree","213","214","215","216","217","218","219","keyFn","220","childCtor","parentCtor","tempCtor","221","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","222","type3D","223","224","225","226","227","228","229","layerAttributes","featureAttributes","featureAttributesName","230","_reverseGeometry","NUMERIC_FIELD","reverseGeometry","_ref3$type","_traverseErrorMessage","getQueryLayerOrigName","part","geometryName","_ref5$layers","_ref5$wms","layersFeatures","defaultDataProjection","g3w_fid","originalFeatureMember","_ref9$wms","_ref9$id","invalids","XMLSerializer","serializeToString","matchAll","x2js","fromCharCode","X2JS","xml_str2json","ServiceExceptionReport","ServiceException","FeatureCollection","featureMember","xml","grouped","fm","__prefix","_fm","_fid","__text","sub_index","json2xml_str","olfeatures","is_reprojected","invalid","_ref12$layers","errorObject","entry","utils/reverseGeometry","231","multi","FETCH","EXP_FILTER","DOWNLOAD","_ref$params","_ref3$params","232","233","vueInput","okBtn","234","235","236","_reverseCoords","_coords","237","url1","url2","238","239","240","splitfeature","geometries","splittedFeatureGeometries","polygonFeature","lineFeatureGeometry","geomClass","splitFeatures","isZType","polygonFeatureGeometry","externalPolygonFeatureGeometry","splitGeometry","holePolygons","getLinearRingCount","holeFeaturesGeometry","holeRing","operation","polygonize","Polygonizer","holyPolygonUnion","toArray","polygonizer","polygons","polygonCoordinates","zCoordinates","difference","write","is_single","_ret","splitted","splittedSegments","jstsFromWkt","WKTReader","wktFromOl","splitLine","wktLineString","targetCoordinates","targetLine","geometryFactory","GeometryFactory","pointsNotSplitted","endPoint","startPoint","segment","createLineString","intersectCoordinates","intersection","splitPoint","lineNewSegment","restOfLine","pointNotSplitted","241","lastCall","previousCall","242","243","predicate","244","245"],"mappings":"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ACfxpD,KAAM,iBACR,EACAsZ,UAAW,CACTtZ,KAAM,gBACR,EACAypD,iBAAkB,CAChBzpD,KAAM,sBACR,EACA0pD,4BAA6B,CAC3B1pD,KAAM,6BACR,EACA6oD,mBAAoB,CAClB7oD,KAAM,4BACR,EACA2pD,sBAAuB,CACrB3pD,KAAM,sBACR,EACA4pD,uBAAwB,CACtB5pD,KAAM,wBACR,EACA8oD,aAAc,CACZ9oD,KAAM,sBACR,EACA+oD,cAAe,CACb/oD,KAAM,uBACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,uBACR,EACAgpD,aAAc,CACZhpD,KAAM,sBACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,uBACR,EACAipD,aAAc,CACZjpD,KAAM,sBACR,EACAkpD,aAAc,CACZlpD,KAAM,sBACR,EACAuO,MAAO,CACLvO,KAAM,aACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,iBACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,mBACT2iF,YAAa,0BACb3kE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,yBACTge,KAAM,CACJlmC,QAAS,qIACX,CACF,EACAyqG,UAAW,CACTviF,QAAS,mBACT4iF,iBAAkB,yFAClB5kE,KAAM,CACJlmC,QAAS,wGACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CA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CrB3pD,KAAM,iCACR,EACA4pD,uBAAwB,CACtB5pD,KAAM,kCACR,EACA8oD,aAAc,CACZ9oD,KAAM,iCACR,EACA+oD,cAAe,CACb/oD,KAAM,kCACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,iCACR,EACAgpD,aAAc,CACZhpD,KAAM,iCACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,iCACR,EACAipD,aAAc,CACZjpD,KAAM,iCACR,EACAkpD,aAAc,CACZlpD,KAAM,iCACR,EACAuO,MAAO,CACLvO,KAAM,eACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,uBACT2iF,YAAa,0BACb3kE,KAAM,CACJlmC,QAAS,+IACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,+BACX,EACAuiF,UAAW,CACTviF,QAAS,+BACT4iF,iBAAkB,+FAClB5kE,KAAM,CACJlmC,QAAS,4GACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,2FACX,CACF,EACAruD,QAAS,YACX,EACA8iF,YAAa,CACX9iF,QAAS,2BACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,SACTge,KAAM,sFACR,EACAglE,KAAM,CACJhjF,QAA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uF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,+BACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,mBACT,EACA89F,gBAAiB,CACf99F,MAAO,0BACT,CACF,CACF,EACAob,QAAS,uBACT2iF,YAAa,0CACb3kE,KAAM,CACJlmC,QAAS,+LACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,gCACX,EACAuiF,UAAW,CACTviF,QAAS,oBACT4iF,iBAAkB,uHAClB5kE,KAAM,CACJlmC,QAAS,yFACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,wGACX,CACF,EACAruD,QAAS,kBACX,EACA8iF,YAAa,CACX9iF,QAAS,iBACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,WACTge,KAAM,oHACR,EACAglE,KAAM,CACJhjF,QAAS,OACTge,KAAM,0GACR,CACF,EACAiV,MAAO,CACLgwD,eAAgB,kBAClB,EACAC,UAAW,CACTp3C,MAAO,CACLq3C,OAAQ,QACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,iBACXC,UAAW,cACb,CACF,EACA/xC,UAAW,CACTgyC,cAAe,yBACfC,mBAAoB,0BACpBC,kBAAmB,uBACnBC,0BAA2B,wCAC3BC,2BAA4B,iCAC5B5gH,MAAO,oBACT,EACA6gH,KAAM,CACJt1F,QAAS,gBACTwrB,OAAQ,CACNl3B,SAAU,CACRwnF,OAAQ,CACNrxF,UAAW,sGACb,CACF,EACA0nG,SAAU,CACR1nG,UAAW,gCACXG,OAAQ,mDACV,EACA2qG,oCAAqC,oCACrCC,uBAAwB,gDACxBC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CACtB5pD,KAAM,mBACR,EACA8oD,aAAc,CACZ9oD,KAAM,kBACR,EACA+oD,cAAe,CACb/oD,KAAM,mBACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,kBACR,EACAgpD,aAAc,CACZhpD,KAAM,kBACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,kBACR,EACAipD,aAAc,CACZjpD,KAAM,kBACR,EACAkpD,aAAc,CACZlpD,KAAM,kBACR,EACAuO,MAAO,CACLvO,KAAM,cACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,yBACN4hB,YAAa,2BACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,oBACPyS,MAAO,uBACPgxG,KAAM,UACNC,IAAK,qBACLpuF,IAAK,QACLpS,QAAS,CACP2nF,WAAY,YACZD,OAAQ,aACV,EACA+Y,eAAgB,CACdriF,QAAS,uBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,qBACX,EACAuiF,UAAW,CACTviF,QAAS,uBACX,EACAwiF,cAAe,CACbxiF,QAAS,oBACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,qBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,kCACT,CACF,CACF,EACAob,QAAS,yBACT2iF,YAAa,2CACb3kE,KAAM,CACJlmC,QAAS,iGACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,sCACTge,KAAM,CACJlmC,QAAS,yKACX,CACF,EACAyqG,UAAW,CACTviF,QAAS,qBACT4iF,iBAAkB,wHAClB5kE,KAAM,CACJlmC,QAAS,iIACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,qCACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+DACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,4FACX,CACF,EACAruD,QAAS,kBACX,EACA8iF,YAAa,CACX9iF,QAAS,yBACX,EACA+iF,SAAU,CACRrkH,MAAO,SACPnC,OAAQ,CACNyjC,QAAS,YACTge,KAAM,kHACR,EACAglE,KA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R,EACAipD,aAAc,CACZjpD,KAAM,qBACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,8DACN4hB,YAAa,YACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,uBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,2BACT,CACF,CACF,EACAob,QAAS,6BACT2iF,YAAa,8BACb3kE,KAAM,CACJlmC,QAAS,8IACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,8BACX,EACAuiF,UAAW,CACTviF,QAAS,yBACT4iF,iBAAkB,sGAClB5kE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,yFACX,CACF,EACAruD,QAAS,eACX,EACA8iF,YAAa,CACX9iF,QAAS,gBACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,UACTge,KAAM,gGACR,EACAglE,KAAM,CACJhjF,QAAS,SACTge,KAAM,wFACR,CACF,EACAiV,MAAO,CACLgwD,eAAgB,qBAClB,EACAC,UAAW,CACTp3C,MAAO,CACLq3C,OAAQ,QACRC,SAAU,aACZ,CACF,EACAC,YAAa,CACXC,UAAW,eACXC,UAAW,YACb,CACF,EACA/xC,UAAW,CACTgyC,cAAe,yBACfC,mBAAoB,iCACpBC,kBAAmB,oBACnBC,0BAA2B,wBAC3BC,2BAA4B,eAC5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svB,YAAa,CACX3U,MAAO,CACLxd,QAAS,mBACTu3B,QAAS,CACP+pD,cAAe,CACbppD,KAAM,yBACR,EACAqpD,wBAAyB,CACvBrpD,KAAM,gCACR,EACAspD,wBAAyB,CACvBtpD,KAAM,kCACR,EACAupD,4BAA6B,CAC3BvpD,KAAM,+BACR,EACAwpD,gBAAiB,CACfxpD,KAAM,kBACR,EACAsZ,UAAW,CACTtZ,KAAM,iBACR,EACAypD,iBAAkB,CAChBzpD,KAAM,2BACR,EACA0pD,4BAA6B,CAC3B1pD,KAAM,gCACR,EACA6oD,mBAAoB,CAClB7oD,KAAM,gCACR,EACA2pD,sBAAuB,CACrB3pD,KAAM,0BACR,EACA4pD,uBAAwB,CACtB5pD,KAAM,2BACR,EACA8oD,aAAc,CACZ9oD,KAAM,0BACR,EACA+oD,cAAe,CACb/oD,KAAM,2BACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,0BACR,EACAgpD,aAAc,CACZhpD,KAAM,0BACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,0BACR,EACAipD,aAAc,CACZjpD,KAAM,0BACR,EACAkpD,aAAc,CACZlpD,KAAM,0BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,uDACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,6BACT,CACF,CACF,EACAob,QAAS,0BACT2iF,YAAa,+BACb3kE,KAAM,CACJlmC,QAAS,sJACX,CACF,EACAwqG,mBAAoB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Z9oD,KAAM,2BACR,EACA+oD,cAAe,CACb/oD,KAAM,4BACR,EACA6pD,sBAAuB,CACrB7pD,KAAM,2BACR,EACAgpD,aAAc,CACZhpD,KAAM,2BACR,EACA8pD,sBAAuB,CACrB9pD,KAAM,2BACR,EACAipD,aAAc,CACZjpD,KAAM,2BACR,EACAkpD,aAAc,CACZlpD,KAAM,2BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACA+pD,qBAAsB,CACpB/pD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACAooC,QAAS,CACPxjH,MAAO,aACPyS,MAAO,kBACPgxG,KAAM,OACNC,IAAK,kBACLpuF,IAAK,MACLpS,QAAS,CACP2nF,WAAY,aACZD,OAAQ,QACV,EACA+Y,eAAgB,CACdriF,QAAS,kBACX,EACAsiF,mBAAoB,CAClBtiF,QAAS,gBACX,EACAuiF,UAAW,CACTviF,QAAS,kBACX,EACAwiF,cAAe,CACbxiF,QAAS,eACX,CACF,EACAqiF,eAAgB,CACdzgF,SAAU,CACRljC,MAAO,sBACP+jH,SAAU,CACR7xG,QAAS,CACPgU,MAAO,eACT,EACA89F,gBAAiB,CACf99F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,wBACT2iF,YAAa,0BACb3kE,KAAM,CACJlmC,QAAS,6HACX,CACF,EACAwqG,mBAAoB,CAClBtiF,QAAS,wBACX,EACAuiF,UAAW,CACTviF,QAAS,6CACT4iF,iBAAkB,8GAClB5kE,KAAM,CACJlmC,QAAS,oHACX,CACF,EACA0qG,cAAe,CACbxiF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACA+qG,SAAU,CACRhgG,SAAU,CACR4gF,IAAK,CACHpV,QAAS,2FACX,CACF,EACAruD,QAAS,gBACX,EACA8iF,YAAa,CACX9iF,QAAS,kBACX,EACA+iF,SAAU,CACRxmH,OAAQ,CACNyjC,QAAS,QACTge,KAAM,0FACR,EACAglE,KAAM,CACJhjF,QAAS,SACTge,KAAM,qFACR,CACF,EACAiV,MAAO,CACLgwD,eAAgB,WAClB,EACAC,UAAW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"} \ No newline at end of file