From df0aed4e765716082b1145ee9b8e70dcd3e922fe Mon Sep 17 00:00:00 2001 From: volterra79 Date: Mon, 21 Oct 2024 11:12:50 +0200 Subject: [PATCH] :arrow_up: Client https://github.com/g3w-suite/g3w-client/commit/c9cdd739855ef2cd656c883f7b490874f417a021 --- .../client/static/client/images/editAttributes.png | Bin g3w-admin/client/static/client/js/app.min.js | 2 +- g3w-admin/client/static/client/js/app.min.js.map | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 g3w-admin/client/static/client/images/editAttributes.png diff --git a/g3w-admin/client/static/client/images/editAttributes.png b/g3w-admin/client/static/client/images/editAttributes.png old mode 100644 new mode 100755 diff --git a/g3w-admin/client/static/client/js/app.min.js b/g3w-admin/client/static/client/js/app.min.js index 63c5566f9..76fe79968 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=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 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":64}],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":65}],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":66}],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":67}],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":63,mixins:165,"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":70}],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":71}],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":72}],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":73}],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":74}],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":75}],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":76}],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)}},{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":128,"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":77}],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":78}],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":79}],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":80}],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":81}],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;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 rgba(0,0,0,.5);border-radius: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)}#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 S(e){return e&&e.__esModule?e:{default:e}}function E(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=S(e("vue-cookie-law")),n=S(e("vue2-teleport")),l=e("g3w-constants"),u=S(e("store/application")),r=S(e("g3w-panel")),o=S(e("g3w-component")),c=S(e("services/gui")),d=e("utils/getUniqueDomId"),p=e("utils/promisify"),f=e("utils/sameOrigin"),g=S(e("components/UserMessage.vue")),h=S(e("components/CatalogContextMenu.vue")),y=S(e("components/MapAddLayer.vue")),v=S(e("components/ChangeMap.vue")),m=S(e("components/MetadataProject.vue")),k=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:k("cookie_law.buttonText"),app:u.default,state:u.default.viewport,updatePreviousTitle:!1,header:k("main navigation"),custom_links:e}},components:{CookieLaw:i.default,userMessage:g.default,CatalogContextMenu:h.default,MapAddLayer:y.default,ChangeMap:v.default,MetadataProject:m.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"},[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":44,"components/QueryResultsActionDownloadFormats.vue":94,"g3w-component":124,"g3w-constants":125,"g3w-eventbus":126,mixins:165,"services/gui":173,"utils/getCatalogLayerById":203,"utils/throttle":241,"vueify/lib/insert-css":2}],102:[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}],103:[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 P(e){return e&&e.__esModule?e:{default:e}}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")})}}function M(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tlip',lengthMenu:C,order:[1,"asc"],pageLength:this.layer.getAttributeTablePageLength()||C[1],processing:!1,responsive:!0,scrollCollapse:!0,scrollX:!0,serverSide:!0,sSearch:!1}),e=(this.changeColumn=(0,d.debounce)((i=O(function*(e,t){var a=e.target.value.trim();s.one("draw",O(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=O(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.layer.toggleFilterToken()}}})]),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 t=x(function*(e){for(var t=0;t<=e.forminputs.length-1;t++){var a=e.forminputs[t],i="autocompletefield"===a.type;a.values=[].concat(k("selectfield"===a.type?[g.SEARCH_ALLVALUE]:[]),k(a.dependance_strict||i?a.values:yield(0,f.getDataForSearchInput)({state:e,field:a.attribute}))).map(function(e){return"Object"===(0,p.toRawType)(e)?e:{key:e,value:e}}),a.dependance&&(e.loading[a.dependance]=!1,a.disabled=a.dependance_strict),a._values=[].concat(k(a.values)),a.loading=!1}});return function(e){return t.apply(this,arguments)}})()(o),a.service||Object.assign(new r.default,{state:o,doSearch:i,run:(0,_.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"}],114:[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"},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});a.SELECTION={ALL:"__ALL__",EXCLUDE:"__EXCLUDE__"};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}},{"./version":245}],126:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});a.VM=new Vue},{}],127:[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":129,"services/gui":173,"utils/promisify":232}],131:[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 j,F=window.initConfig,R=(u.default.user=F.user,p.default.emit("initconfig",F),F.vendorkeys||{});F.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(F,{urls:Object.assign(F.urls||{},{ows:"ows",api:"api",initconfig:"api/initconfig",config:"api/config",baseurl:F.baseurl,frontendurl:F.frontendurl,staticurl:F.staticurl,clienturl:F.staticurl+F.client,mediaurl:F.mediaurl,vectorurl:F.vectorurl,proxyurl:F.proxyurl,rasterurl:F.rasterurl,interfaceowsurl:F.interfaceowsurl}),layout:F.layout||{},plugins:F.plugins||{},tools:F.tools||{tools:[]},views:F.views||{},user:F.user||null}),F.layout.iframe=window.top!==window.self,u.default.lng=F.user.i18n||"en",u.default.language=F.user.i18n||"en",(F.i18n||[]).map(function(e){return e[0]}).forEach(function(e){return u.default.i18n.plugins[e]={plugins:{}}}),i18next.use(i18nextXHRBackend).init({lng:F.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",F.user.i18n||"en")}}),new Promise((j=L(function*(i,t){try{F.macrogroups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/macrogroup/"})}catch(e){}try{F.groups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/group/nomacrogroup/"})}catch(e){}F.layout.rightpanel=Object.assign(F.layout.rightpanel||{},{width:F.layout.rightpanel.width||50,height:F.layout.rightpanel.height||50,width_100:!1,height_100:!1}),u.default.gui.layout.app=F.layout,F.projects.forEach(function(e){return Object.assign(e,{baselayers:F.baselayers,minscale:F.minscale,maxscale:F.maxscale,crs:F.crs,vectorurl:F.vectorurl,rasterurl:F.rasterurl})});var n=setTimeout(function(){t("Timeout")},l.TIMEOUT);(0,B.getProject)(F.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 j.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":113,"./g3w-globals":127,"components/App.vue":36,"components/Catalog.vue":37,"components/GlobalBarLoader.vue":55,"components/GlobalDateTime.vue":56,"components/GlobalDivider.vue":57,"components/GlobalHelpDiv.vue":58,"components/GlobalProgressBar.vue":59,"components/GlobalRange.vue":60,"components/GlobalTabs.vue":61,"components/Map.vue":82,"components/Print.vue":87,"components/QueryBuilder.vue":90,"components/QueryResults.vue":91,"components/Search.vue":104,"components/SidebarItem.vue":106,"components/SpatialBookMarks.vue":107,"components/Tool.vue":109,"components/g3w-search":112,"directives/v-checked":115,"directives/v-disabled":116,"directives/v-download":117,"directives/v-select2":118,"directives/v-t":123,"directives/v-t-html":119,"directives/v-t-plugin":120,"directives/v-t-title":121,"directives/v-t-tooltip":122,"g3w-component":124,"g3w-constants":125,"g3w-i18n":128,"g3w-object":129,"g3w-panel":130,locales:137,"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}],133:[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"}}},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_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)"}}}},{}],134:[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"}}},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_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:"WMS Layer already added",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:"Select layer projection",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:"Select Layer Color",drag_layer:"Drag and drop layer 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"}}},{}],135:[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"}}},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_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)"}}}},{}],136:[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"}}},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_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)"}}}},{}],137:[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":133,"./en":134,"./fi":135,"./fr":136,"./it":138,"./pl":139,"./ro":140,"./se":141}],138:[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"}}},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_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:"Questo Layer WMS è già stato aggiunto",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:"Campo da visualizzare sulla mappa",select_csv_separator:"Seleziona il separatore",select_csv_x_field:"Seleziona il campo X",select_csv_y_field:"Seleziona il campo Y",select_color:"Colore",drag_layer:"Aggiungi il file in questa area",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"}}},{}],139:[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"}}},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_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)"}}}},{}],140:[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"}}},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_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)"}}}},{}],141:[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"}}},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_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)"}}}},{}],142:[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":143,"services/gui":173}],143:[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":125,"g3w-eventbus":126,"g3w-i18n":128,"map/controls/interactioncontrol":143,"map/interactions/pickcoordinatesinteraction":149,"services/data":172,"services/gui":173,"services/map":175,"store/application":178,"utils/getCatalogLayerById":203,"utils/throttle":241}],146:[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":143,"map/interactions/pickcoordinatesinteraction":149,"services/gui":173,"store/application":178,"utils/XHR":181}],149:[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},{}],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){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()):(l=this.layers.filter(function(e){return e.isVisible()})||[]).length<=0?this._olLayer.setVisible(!1):(i=[],n=[],o=r=void 0,l.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({},s,{LEGEND_ON:r,LEGEND_OFF:o,filtertoken:C.default.tokens.filtertoken,LAYERS:(l[0].isArcgisMapserver()?"show:":"")+l.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}}},{}],164:[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}],165:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.mixins=a.autocompleteMixin=a.baseInputMixin=a.widgetMixins=a.formInputsMixins=a.select2Mixin=a.selectMixin=a.resizeMixin=a.geoMixin=a.mediaMixin=a.fieldsMixin=void 0;var i=p(e("mixins/autocomplete")),n=p(e("mixins/fields")),r=p(e("mixins/media")),o=p(e("mixins/geo")),s=p(e("mixins/resize")),l=p(e("mixins/select")),u=p(e("mixins/select2")),c=p(e("mixins/form-inputs")),d=p(e("mixins/widget")),e=p(e("mixins/base-input"));function p(e){return e&&e.__esModule?e:{default:e}}var f={autocompleteMixin:i.default,fieldsMixin:n.default,mediaMixin:r.default,geoMixin:o.default,resizeMixin:s.default,selectMixin:l.default,select2Mixin:u.default,formInputsMixins:c.default,widgetMixins:d.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.widgetMixins=d.default,a.baseInputMixin=e.default,a.autocompleteMixin=i.default,a.mixins=f,a.default=f},{"mixins/autocomplete":159,"mixins/base-input":160,"mixins/fields":162,"mixins/form-inputs":163,"mixins/geo":164,"mixins/media":166,"mixins/resize":167,"mixins/select":168,"mixins/select2":169,"mixins/widget":170}],166:[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}}}},{}],167:[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}],168:[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)})}}},{}],169:[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":167,"store/application":178}],170:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0}),a.default={data:function(){return{changed:!1}},methods:{widgetChanged:function(){this.changed=!0,this.change()},stateValueChanged:function(e){}},watch:{"state.value":function(e){this.changed?this.changed=!1:this.stateValueChanged(e)}}}},{}],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":125,"g3w-object":129}],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"]);return a.filter=[].concat(a.filter),{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=(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,k.createSelectedStyle)({geometryType:e.getGeometry().getType(),color:t.defaultsLayers._style.highlightLayer.color,fill:!0})]}}),selectionLayer:new ol.layer.Vector({source:new ol.source.Vector,style:function(e){return[(0,k.createSelectedStyle)({geometryType:e.getGeometry().getType(),color:t.defaultsLayers._style.selectionLayer.color,fill:!0})]}})},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,S.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(j(R.layers.getLayers()),j(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,B.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,C.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"),M.default.showSpinner({container:$("#map-spinner"),id:"maploadspinner",style:"transparent"})),this._howManyAreLoading+=1}},{key:"onLayerLoadEnd",value:function(){--this._howManyAreLoading,0===this._howManyAreLoading&&(this.emit("loadend"),M.default.hideSpinner("maploadspinner"))}},{key:"onLayerLoadError",value:function(){this.project.state.show_load_layer_error&&(this.onLayerLoadError.shown||(M.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,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){return t.add?a.updateLayerResultFeatures(e):a.state.layers.push(e)}),this.setActionsForLayers(e,{add:t.add}),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:P("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?p.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=C(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{errorrows:m}}}},autoclose:!1}),new ol.layer.Vector({source:new ol.source.Vector({features:v}),name:s,_fields:p,id:(0,w.getUniqueDomId)(),style:c}));case"kmz":return _(t,i,n,o,r);case"zip":return b(t,i,n,o,r)}}),function(){return i.apply(this,arguments)}),e("g3w-constants")),w=e("./getUniqueDomId");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")})}}function x(e,t,a,i,n,r,o){n=r.readFeatures(n,{dataProjection:o=void 0===o?t:o,featureProjection:a||o});if(0!==n.length)return r instanceof ol.format.KML&&n.forEach(function(e){return e.unset("styleUrl")}),new ol.layer.Vector({source:new ol.source.Vector({features:n}),name:e,_fields:Object.keys(n[0].getProperties()).filter(function(e){return s.GEOMETRY_FIELDS.indexOf(e)<0}),id:(0,w.getUniqueDomId)(),style:i})}},{"./getUniqueDomId":217,"g3w-constants":125}],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).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":64}],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":65}],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":66}],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":67}],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":63,mixins:165,"store/application":177}],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":70}],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":71}],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":72}],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":73}],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":74}],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":75}],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":76}],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)}},{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":128,"utils/toRawType":241}],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":77}],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":78}],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":79}],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":80}],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":81}],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;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 rgba(0,0,0,.5);border-radius: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 S(e){return e&&e.__esModule?e:{default:e}}function E(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=S(e("vue-cookie-law")),n=S(e("vue2-teleport")),l=e("g3w-constants"),u=S(e("store/application")),r=S(e("g3w-panel")),o=S(e("g3w-component")),c=S(e("services/gui")),d=e("utils/getUniqueDomId"),p=e("utils/promisify"),f=e("utils/sameOrigin"),g=S(e("components/UserMessage.vue")),h=S(e("components/CatalogContextMenu.vue")),y=S(e("components/MapAddLayer.vue")),v=S(e("components/ChangeMap.vue")),m=S(e("components/MetadataProject.vue")),k=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:k("cookie_law.buttonText"),app:u.default,state:u.default.viewport,updatePreviousTitle:!1,header:k("main navigation"),custom_links:e}},components:{CookieLaw:i.default,userMessage:g.default,CatalogContextMenu:h.default,MapAddLayer:y.default,ChangeMap:v.default,MetadataProject:m.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":44,"components/QueryResultsActionDownloadFormats.vue":94,"g3w-component":124,"g3w-constants":125,"g3w-eventbus":126,mixins:165,"services/gui":172,"utils/getCatalogLayerById":202,"utils/throttle":240,"vueify/lib/insert-css":2}],102:[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}],103:[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 P(e){return e&&e.__esModule?e:{default:e}}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")})}}function M(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tlip',lengthMenu:C,order:[1,"asc"],pageLength:this.layer.getAttributeTablePageLength()||C[1],processing:!1,responsive:!0,scrollCollapse:!0,scrollX:!0,serverSide:!0,sSearch:!1}),e=(this.changeColumn=(0,d.debounce)((i=O(function*(e,t){var a=e.target.value.trim();s.one("draw",O(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=O(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.layer.toggleFilterToken()}}})]),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 t=x(function*(e){for(var t=0;t<=e.forminputs.length-1;t++){var a=e.forminputs[t],i="autocompletefield"===a.type;a.values=[].concat(k("selectfield"===a.type?[g.SEARCH_ALLVALUE]:[]),k(a.dependance_strict||i?a.values:yield(0,f.getDataForSearchInput)({state:e,field:a.attribute}))).map(function(e){return"Object"===(0,p.toRawType)(e)?e:{key:e,value:e}}),a.dependance&&(e.loading[a.dependance]=!1,a.disabled=a.dependance_strict),a._values=[].concat(k(a.values)),a.loading=!1}});return function(e){return t.apply(this,arguments)}})()(o),a.service||Object.assign(new r.default,{state:o,doSearch:i,run:(0,_.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"}],114:[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"},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});a.SELECTION={ALL:"__ALL__",EXCLUDE:"__EXCLUDE__"};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}},{"./version":244}],126:[function(e,t,a){Object.defineProperty(a,"__esModule",{value:!0});a.VM=new Vue},{}],127:[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":129,"services/gui":172,"utils/promisify":231}],131:[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 j,F=window.initConfig,R=(u.default.user=F.user,p.default.emit("initconfig",F),F.vendorkeys||{});F.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(F,{urls:Object.assign(F.urls||{},{ows:"ows",api:"api",initconfig:"api/initconfig",config:"api/config",baseurl:F.baseurl,frontendurl:F.frontendurl,staticurl:F.staticurl,clienturl:F.staticurl+F.client,mediaurl:F.mediaurl,vectorurl:F.vectorurl,proxyurl:F.proxyurl,rasterurl:F.rasterurl,interfaceowsurl:F.interfaceowsurl}),layout:F.layout||{},plugins:F.plugins||{},tools:F.tools||{tools:[]},views:F.views||{},user:F.user||null}),F.layout.iframe=window.top!==window.self,u.default.lng=F.user.i18n||"en",u.default.language=F.user.i18n||"en",(F.i18n||[]).map(function(e){return e[0]}).forEach(function(e){return u.default.i18n.plugins[e]={plugins:{}}}),i18next.use(i18nextXHRBackend).init({lng:F.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",F.user.i18n||"en")}}),new Promise((j=L(function*(i,t){try{F.macrogroups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/macrogroup/"})}catch(e){}try{F.groups=yield S.XHR.get({url:"/"+u.default.user.i18n+"/about/api/group/nomacrogroup/"})}catch(e){}F.layout.rightpanel=Object.assign(F.layout.rightpanel||{},{width:F.layout.rightpanel.width||50,height:F.layout.rightpanel.height||50,width_100:!1,height_100:!1}),u.default.gui.layout.app=F.layout,F.projects.forEach(function(e){return Object.assign(e,{baselayers:F.baselayers,minscale:F.minscale,maxscale:F.maxscale,crs:F.crs,vectorurl:F.vectorurl,rasterurl:F.rasterurl})});var n=setTimeout(function(){t("Timeout")},l.TIMEOUT);(0,B.getProject)(F.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 j.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":113,"./g3w-globals":127,"components/App.vue":36,"components/Catalog.vue":37,"components/GlobalBarLoader.vue":55,"components/GlobalDateTime.vue":56,"components/GlobalDivider.vue":57,"components/GlobalHelpDiv.vue":58,"components/GlobalProgressBar.vue":59,"components/GlobalRange.vue":60,"components/GlobalTabs.vue":61,"components/Map.vue":82,"components/Print.vue":87,"components/QueryBuilder.vue":90,"components/QueryResults.vue":91,"components/Search.vue":104,"components/SidebarItem.vue":106,"components/SpatialBookMarks.vue":107,"components/Tool.vue":109,"components/g3w-search":112,"directives/v-checked":115,"directives/v-disabled":116,"directives/v-download":117,"directives/v-select2":118,"directives/v-t":123,"directives/v-t-html":119,"directives/v-t-plugin":120,"directives/v-t-title":121,"directives/v-t-tooltip":122,"g3w-component":124,"g3w-constants":125,"g3w-i18n":128,"g3w-object":129,"g3w-panel":130,locales:137,"services/application":170,"services/gui":172,"services/iframe":173,"services/map":174,"services/queryresults":175,"store/application":177,"utils/XHR":180,"utils/getProject":211,"utils/noop":226,"utils/promisify":231}],133:[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"}}},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_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)"}}}},{}],134:[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"}}},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_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:"WMS Layer already added",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:"Select layer projection",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:"Select Layer Color",drag_layer:"Drag and drop layer 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"}}},{}],135:[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"}}},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_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)"}}}},{}],136:[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"}}},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_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)"}}}},{}],137:[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":133,"./en":134,"./fi":135,"./fr":136,"./it":138,"./pl":139,"./ro":140,"./se":141}],138:[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"}}},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_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:"Questo Layer WMS è già stato aggiunto",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:"Campo da visualizzare sulla mappa",select_csv_separator:"Seleziona il separatore",select_csv_x_field:"Seleziona il campo X",select_csv_y_field:"Seleziona il campo Y",select_color:"Colore",drag_layer:"Aggiungi il file in questa area",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"}}},{}],139:[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"}}},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_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)"}}}},{}],140:[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"}}},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_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)"}}}},{}],141:[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"}}},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_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)"}}}},{}],142:[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":143,"services/gui":172}],143:[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":125,"g3w-eventbus":126,"g3w-i18n":128,"map/controls/interactioncontrol":143,"map/interactions/pickcoordinatesinteraction":149,"services/data":171,"services/gui":172,"services/map":174,"store/application":177,"utils/getCatalogLayerById":202,"utils/throttle":240}],146:[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":143,"map/interactions/pickcoordinatesinteraction":149,"services/gui":172,"store/application":177,"utils/XHR":180}],149:[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},{}],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){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()):(l=this.layers.filter(function(e){return e.isVisible()})||[]).length<=0?this._olLayer.setVisible(!1):(i=[],n=[],o=r=void 0,l.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({},s,{LEGEND_ON:r,LEGEND_OFF:o,filtertoken:C.default.tokens.filtertoken,LAYERS:(l[0].isArcgisMapserver()?"show:":"")+l.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}}},{}],164:[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":172}],165:[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":159,"mixins/base-input":160,"mixins/fields":162,"mixins/form-inputs":163,"mixins/geo":164,"mixins/media":166,"mixins/resize":167,"mixins/select":168,"mixins/select2":169}],166:[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}}}},{}],167:[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":172,"utils/debounce":197,"utils/throttle":240}],168:[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)})}}},{}],169:[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":167,"store/application":177}],170:[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":125,"g3w-object":129}],171:[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"]);return a.filter=[].concat(a.filter),{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=(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,k.createSelectedStyle)({geometryType:e.getGeometry().getType(),color:t.defaultsLayers._style.highlightLayer.color,fill:!0})]}}),selectionLayer:new ol.layer.Vector({source:new ol.source.Vector,style:function(e){return[(0,k.createSelectedStyle)({geometryType:e.getGeometry().getType(),color:t.defaultsLayers._style.selectionLayer.color,fill:!0})]}})},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,S.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(j(R.layers.getLayers()),j(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,B.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,C.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"),M.default.showSpinner({container:$("#map-spinner"),id:"maploadspinner",style:"transparent"})),this._howManyAreLoading+=1}},{key:"onLayerLoadEnd",value:function(){--this._howManyAreLoading,0===this._howManyAreLoading&&(this.emit("loadend"),M.default.hideSpinner("maploadspinner"))}},{key:"onLayerLoadError",value:function(){this.project.state.show_load_layer_error&&(this.onLayerLoadError.shown||(M.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,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){return t.add?a.updateLayerResultFeatures(e):a.state.layers.push(e)}),this.setActionsForLayers(e,{add:t.add}),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:P("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?p.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=C(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":177,"utils/isLineGeometryType":222,"utils/isMultiGeometry":223,"utils/isPolygonGeometryType":225}],193:[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":177,"utils/sanitizeFidFeature":237}],194:[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{errorrows:m}}}},autoclose:!1}),new ol.layer.Vector({source:new ol.source.Vector({features:v}),name:s,_fields:p,id:(0,w.getUniqueDomId)(),style:c}));case"kmz":return _(t,i,n,o,r);case"zip":return b(t,i,n,o,r)}}),function(){return i.apply(this,arguments)}),e("g3w-constants")),w=e("./getUniqueDomId");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")})}}function x(e,t,a,i,n,r,o){n=r.readFeatures(n,{dataProjection:o=void 0===o?t:o,featureProjection:a||o});if(0!==n.length)return r instanceof ol.format.KML&&n.forEach(function(e){return e.unset("styleUrl")}),new ol.layer.Vector({source:new ol.source.Vector({features:n}),name:e,_fields:Object.keys(n[0].getProperties()).filter(function(e){return s.GEOMETRY_FIELDS.indexOf(e)<0}),id:(0,w.getUniqueDomId)(),style:i})}},{"./getUniqueDomId":216,"g3w-constants":125}],197:[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()}},{}],232:[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).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":172,"utils/getUniqueDomId":216}],233:[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)}},{}],234:[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\":45,\"components/FieldImage.vue\":46,\"components/FieldLink.vue\":47,\"components/FieldMedia.vue\":48,\"components/FieldText.vue\":49,\"components/FieldVue.vue\":50}],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){\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');\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 _createClass(CheckBoxService, [{\n key: 'convertCheckedToValue',\n value: function convertCheckedToValue(checked) {\n checked = [null, undefined].includes(checked) ? false : checked;\n this.state.value = [true, false].includes(this.state.value) //check if is a boolean value\n ? (this.state.input.options.values.find(function (v) {\n return checked === v.checked;\n }) || {}).value //get boolean value\n : '' + (this.state.input.options.values.find(function (v) {\n return checked === v.checked;\n }) || {}).value; // Need to convert it to string because server return always string value\n return this.state.value;\n }\n }, {\n key: 'convertValueToChecked',\n value: function convertValueToChecked() {\n var _this2 = this;\n\n if ([null, undefined].includes(this.state.value)) {\n return false;\n }\n var option = this.state.input.options.values.find(function (v) {\n return _this2.state.value == v.value;\n });\n if (undefined === option) {\n option = this.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.state.value = option.value;\n }\n return option.checked;\n }\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\":64}],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\":65}],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\":66}],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\":67}],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\":63,\"mixins\":165,\"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\":70}],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\":71}],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\":72}],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\":149,\"map/interactions/pickfeatureinteraction\":150,\"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\":73}],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\":74}],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\":75}],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\":76}],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 this.state.validate.message = this.state.info;\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\":128,\"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\":77}],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\":78}],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\":79}],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\":80}],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\":81}],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 rgba(0,0,0,.5);border-radius: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)}#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 _MapAddLayer = require('components/MapAddLayer.vue');\n\nvar _MapAddLayer2 = _interopRequireDefault(_MapAddLayer);\n\nvar _ChangeMap = require('components/ChangeMap.vue');\n\nvar _ChangeMap2 = _interopRequireDefault(_ChangeMap);\n\nvar _MetadataProject = require('components/MetadataProject.vue');\n\nvar _MetadataProject2 = _interopRequireDefault(_MetadataProject);\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 MapAddLayer: _MapAddLayer2.default,\n ChangeMap: _ChangeMap2.default,\n MetadataProject: _MetadataProject2.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 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 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 this.$refs['menu-toggler'].checked = false;\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n this.$refs['menu-toggler'].checked = false;\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 this.$refs['menu-toggler'].checked = false;\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',{staticStyle:{\"max-height\":\"20px\"},attrs:{\"src\":item.img,\"title\":item.img_title,\"alt\":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('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}})])])]):_vm._e(),_vm._v(\" \"),_c('map-add-layer'),_vm._v(\" \"),_c('change-map'),_vm._v(\" \"),_c('metadata-project')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ChangeMap.vue\":42,\"components/MapAddLayer.vue\":83,\"components/MetadataProject.vue\":86,\"components/UserMessage.vue\":110,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"g3w-panel\":130,\"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 _layers = _layers.concat(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\":126,\"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\":78,\"g3w-i18n\":128,\"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() : 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\":126,\"g3w-i18n\":128,\"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\":126,\"mixins/click\":161,\"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 layer && _application2.default.highlightlayers && 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))?_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\":126,\"mixins/click\":161,\"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(\".g3w-change-map-menu-container[data-v-4c2f2554]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-4c2f2554]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-4c2f2554]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-4c2f2554]:hover{opacity:1}.menu-item-image img[data-v-4c2f2554]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-4c2f2554]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-4c2f2554]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-4c2f2554]{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: 'change-map',\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-4c2f2554\"\n\n},{\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getListableProjects\":209,\"vueify/lib/insert-css\":2}],43:[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}\")\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}],44:[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}],45:[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\":165,\"vueify/lib/insert-css\":2}],46:[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\"},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\":43,\"utils/toRawType\":242,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],47:[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\":43,\"vueify/lib/insert-css\":2}],48:[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\":165}],49:[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\":43,\"vueify/lib/insert-css\":2}],50:[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\":43}],51:[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\":53,\"components/FormHeader.vue\":54}],52:[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\":69}],53:[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},{}],54:[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},{}],55:[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},{}],56:[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}],57:[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}],58:[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}],59:[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},{}],60:[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}],61:[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.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\":62,\"services/data\":172,\"services/gui\":173,\"utils/convertFeatureToGEOJSON\":186,\"utils/getFormDataExpressionRequestFromFeature\":208,\"utils/getUniqueDomId\":217,\"utils/noop\":227,\"vueify/lib/insert-css\":2}],62:[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\":68,\"gui/fields/fields\":3,\"store/application\":178,\"vueify/lib/insert-css\":2}],63:[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\":165,\"vueify/lib/insert-css\":2}],64:[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\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input, _mixins.widgetMixins],\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)() };\n },\n\n methods: {\n setLabel: function setLabel() {\n this.label = this.service.convertCheckedToValue(this.value);\n },\n setValue: function setValue() {\n this.value = this.service.convertValueToChecked();\n },\n changeCheckBox: function changeCheckBox() {\n this.setLabel();\n this.widgetChanged();\n },\n stateValueChanged: function stateValueChanged() {\n this.setValue();\n this.setLabel();\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,\"mixins\":165,\"utils/getUniqueDomId\":217}],65:[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}],66:[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\":165,\"store/application\":178,\"utils/getUniqueDomId\":217}],67:[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}],68:[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}],69:[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\":68,\"vueify/lib/insert-css\":2}],70:[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}],71:[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}],72:[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\":128,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":173,\"utils/getUniqueDomId\":217}],73:[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}],74:[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}],75:[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}],76:[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 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 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\":155,\"mixins\":165,\"services/gui\":173,\"store/application\":178,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],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-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}],78:[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}],79:[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}],80:[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}],81:[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\":165,\"utils/getUniqueDomId\":217}],82:[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}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-2e549814]{margin:10px 0;position:relative;border:2px dashed #97a1a8}#addcustomlayer h4[data-v-2e549814],#addcustomlayer p[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8;font-family:Arial}#addcustomlayer div[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8}#addcustomlayer input[data-v-2e549814]{position:absolute;margin:0;padding:0;width:100%;height:100%;outline:none;opacity:0;cursor:pointer}.g3w-add-wms-url-message[data-v-2e549814]{font-weight:700;color:#000}.g3w-wmsurl-error[data-v-2e549814]{background-color:red}.g3w-wmsurl-already-added[data-v-2e549814]{color:inherit;font-weight:400;display:inline-block}#add_custom_url_wms_input[data-v-2e549814]::placeholder{font-size:85%;opacity:.5}.g3w-wms-panel-title[data-v-2e549814]{font-size:1.2em;font-weight:700;margin-bottom:10px}button.wms-add-layer-button[data-v-2e549814]{width:100%;margin-top:10px}.g3w-wms-external-panel-layer-added-message[data-v-2e549814]{font-weight:700;color:red;margin:5px 0}\")\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 _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 _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toArray(arr) { return Array.isArray(arr) ? arr : 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 SUPPORTED_FORMAT = ['zip', 'geojson', 'GEOJSON', 'kml', 'kmz', 'KMZ', 'KML', 'json', 'gpx', 'gml', 'csv'];\n\nexports.default = {\n name: 'map-add-layer',\n\n data: function data() {\n\n var crs = _application2.default.project.getProjection().getCode();\n\n if (!_g3wConstants.EPSG.includes(crs)) {\n _g3wConstants.EPSG.unshift(crs);\n }\n\n return {\n layer_type: undefined,\n wms_panel: false,\n wms_urls: [],\n url: null,\n id: null,\n vectorLayer: null,\n options: _g3wConstants.EPSG,\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n accepted_extension: SUPPORTED_FORMAT.map(function (f) {\n return '.' + f;\n }).join(','),\n csv: {\n valid: false,\n loading: false,\n headers: [],\n x: null,\n y: null,\n separators: [',', ';'],\n separator: ','\n },\n layer: {\n name: null,\n type: null,\n crs: null,\n mapCrs: null,\n color: {\n hex: '#194d33',\n rgba: {\n r: 25,\n g: 77,\n b: 51,\n a: 1\n },\n a: 1\n },\n data: null,\n visible: true,\n title: null,\n id: null,\n external: true\n },\n name: undefined,\n title: null,\n abstract: null,\n map_formats: [],\n info_formats: [],\n methods: [],\n layers: [],\n selectedlayers: [],\n projections: [],\n epsg: null,\n added: false,\n error: false,\n error_message: ''\n };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n csv_extension: function csv_extension() {\n return 'csv' === this.layer.type;\n },\n add: function add() {\n return this.layer.data || this.csv.valid;\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n },\n onChangeFile: function () {\n var _ref = _asyncToGenerator(function* (evt) {\n var _this = this;\n\n var reader = new FileReader();\n var name = evt.target.files[0].name;\n var type = name.split('.').at(-1).toLowerCase();\n var input_file = $(this.$refs.input_file);\n\n if (!SUPPORTED_FORMAT.includes(type)) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n this.error_message = '';\n\n this.layer.mapCrs = _gui2.default.getService('map').getEpsg();\n this.layer.name = name;\n this.layer.title = name;\n this.layer.id = name;\n this.layer.type = type;\n this.layer.data = yield new Promise(function (resolve) {\n if (['zip', 'kmz'].includes(_this.layer.type)) {\n _this.layer.crs = 'EPSG:4326';\n var data = evt.target.files[0];\n input_file.val(null);\n return resolve(data);\n }\n\n reader.onload = function (evt) {\n if ('csv' === _this.layer.type) {\n input_file.val(null);\n\n var _evt$target$result$sp = evt.target.result.split(/\\r\\n|\\n/).filter(function (row) {\n return row;\n }),\n _evt$target$result$sp2 = _toArray(_evt$target$result$sp),\n headers = _evt$target$result$sp2[0],\n values = _evt$target$result$sp2.slice(1);\n\n var handle_csv_headers = function handle_csv_headers(separator) {\n _this.csv.loading = true;\n var csv_headers = headers.split(separator);\n var len = csv_headers.length;\n _this.csv.headers = len > 1 ? csv_headers : [];\n _this.csv.fields = len > 1 ? csv_headers : [];\n _this.csv.x = len > 1 ? csv_headers[0] : _this.csv.x;\n _this.csv.y = len > 1 ? csv_headers[1] : _this.csv.y;\n _this.vectorLayer = len > 1 ? _this.vectorLayer : null;\n _this.csv.valid = len > 1;\n if (len <= 1) {\n _this.fields.splice(0);\n }\n _this.csv.loading = false;\n return len > 1 ? {\n headers: csv_headers,\n separator: separator,\n x: _this.csv.x,\n y: _this.csv.y,\n values: values\n } : null;\n };\n _this.$watch('csv.separator', function (s) {\n return _this.layer.data = handle_csv_headers(s);\n });\n return resolve(handle_csv_headers(_this.csv.separator));\n }\n\n var data = evt.target.result;\n input_file.val(null);\n resolve(data);\n };\n reader.readAsText(evt.target.files[0]);\n });\n\n if ('csv' === this.layer.type) {\n return;\n }\n\n (this.fields || []).splice(0);\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield this.$nextTick();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n if (this.vectorLayer) {\n this.fields = this.vectorLayer.get('_fields');\n }\n });\n\n function onChangeFile(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onChangeFile;\n }(),\n addLayer: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (!(this.layer.data || this.csv.valid)) {\n return;\n }\n\n try {\n yield _projections2.default.registerProjection(this.layer.crs);\n } catch (e) {\n this.error_message = 'sdk.errors.' + e;\n console.warn(e);\n return;\n }\n\n this.loading = true;\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield _gui2.default.getService('map').addExternalLayer(this.vectorLayer, {\n crs: this.layer.crs,\n type: this.layer.type,\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.clearFile();\n } catch (e) {\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n this.loading = false;\n });\n\n function addLayer() {\n return _ref2.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n clearFile: function clearFile() {\n this.error_message = '';\n this.loading = false;\n this.layer.name = null;\n this.layer.title = null;\n this.layer.id = null;\n this.layer.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.vectorLayer = null;\n this.fields = [];\n this.field = null;\n this.csv.valid = false;\n },\n clearPanel: function clearPanel() {\n this.wms_panel = false;\n this.selectedlayers = [];\n this.name = null;\n this.loading = false;\n },\n addwmsurl: function () {\n var _ref3 = _asyncToGenerator(function* () {\n this.loading = true;\n var found = this.wms_urls.find(function (l) {\n return l.url == wms.url || l.id == wms.id;\n });\n var error = false;\n\n if (!found) {\n try {\n var response = yield this.getWMSLayers(wms.url);\n\n if (!response.result) {\n throw 'invalid response';\n }\n var data = this.getLocalWMSData();\n this.wms_urls.push(wms);\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n response.wmsurl = wms.url;\n this._showWmsLayersPanel(response);\n } catch (e) {\n console.warn(e);\n error = true;\n }\n }\n this.error = error;\n this.added = !!found;\n this.loading = false;\n });\n\n function addwmsurl() {\n return _ref3.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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n layers = _ref4.layers,\n name = _ref4.name,\n _ref4$epsg = _ref4.epsg,\n epsg = _ref4$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref4$epsg,\n _ref4$position = _ref4.position,\n position = _ref4$position === undefined ? 'top' : _ref4$position,\n opacity = _ref4.opacity,\n _ref4$visible = _ref4.visible,\n visible = _ref4$visible === undefined ? true : _ref4$visible;\n\n var map = _gui2.default.getService('map');\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var projection = ol.proj.get(epsg);\n\n var promise = new Promise(function (res, rej) {\n var wmslayer = new RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: projection, url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n map.addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n\n return promise;\n },\n addWMSlayer: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref6.url,\n _ref6$name = _ref6.name,\n name = _ref6$name === undefined ? 'wms_' + (0, _getUniqueDomId.getUniqueDomId)() : _ref6$name,\n _ref6$layers = _ref6.layers,\n layers = _ref6$layers === undefined ? [] : _ref6$layers,\n epsg = _ref6.epsg,\n position = _ref6.position,\n _ref6$visible = _ref6.visible,\n visible = _ref6$visible === undefined ? true : _ref6$visible,\n _ref6$opacity = _ref6.opacity,\n opacity = _ref6$opacity === undefined ? 1 : _ref6$opacity;\n\n try {\n var data = this.getLocalWMSData();\n\n if (this.wms_panel) {\n var _wms = data.wms[this.url];\n this.added = _wms && _wms.some(function (w) {\n return w.layers.length === _this2.selectedlayers.length ? _this2.selectedlayers.every(function (l) {\n return w.layers.includes(l);\n }) : undefined;\n });\n if (this.added) {\n console.warn('WMS Layer already added');\n return;\n }\n this.loading = true;\n }\n\n var config = { url: url, name: name, layers: layers, epsg: epsg, position: position, visible: visible, opacity: opacity };\n\n if (undefined === data.wms[url]) {\n data.wms[url] = [config];\n } else {\n data.wms[url].push(config);\n }\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_panel) {\n this.clearPanel();\n $('#modal-addlayer').modal('hide');\n }\n });\n\n function addWMSlayer() {\n return _ref5.apply(this, arguments);\n }\n\n return addWMSlayer;\n }(),\n getWMSLayers: function () {\n var _ref7 = _asyncToGenerator(function* (url) {\n try {\n return yield _data2.default.getData('ows:wmsCapabilities', { inputs: { url: url }, outputs: false });\n } catch (e) {\n console.warn(e);\n }\n return {\n result: false,\n layers: [],\n info_formats: [],\n abstract: null,\n methods: [],\n map_formats: [],\n title: null\n };\n });\n\n function getWMSLayers(_x4) {\n return _ref7.apply(this, arguments);\n }\n\n return getWMSLayers;\n }(),\n _showWmsLayersPanel: function _showWmsLayersPanel() {\n var _this3 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.wms_panel = true;\n this.wms_config = config;\n var _wms_config = this.wms_config,\n layers = _wms_config.layers,\n title = _wms_config.title,\n abstract = _wms_config.abstract,\n methods = _wms_config.methods,\n wmsurl = _wms_config.wmsurl;\n\n try {\n this.url = methods.GetMap.urls.find(function (u) {\n return 'Get' === u.type;\n }).url;\n } catch (e) {\n console.warn(e);\n this.url = wmsurl;\n }\n\n this.title = title;\n\n this.abstract = abstract;\n\n this.layerProjections = {};\n\n layers.forEach(function (_ref8) {\n var name = _ref8.name,\n crss = _ref8.crss,\n title = _ref8.title;\n\n _this3.layerProjections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n });\n\n this.layers = layers;\n },\n showWmsLayersPanel: function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n var error = false;\n var added = false;\n try {\n this.loading = true;\n var d = yield this.getWMSLayers(url);\n error = !d.result;\n if (!error) {\n d.wmsurl = url;\n this._showWmsLayersPanel(d);\n }\n } catch (e) {\n console.warn(e);\n }\n this.error = error;\n this.added = added;\n this.loading = false;\n });\n\n function showWmsLayersPanel(_x6) {\n return _ref9.apply(this, arguments);\n }\n\n return showWmsLayersPanel;\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 watch: {\n 'csv.x': function csvX(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.x = value;\n }\n },\n 'csv.y': function csvY(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.y = value;\n }\n },\n selectedlayers: function selectedlayers() {\n var _this4 = 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.layerProjections[layers[0]].crss[0];\n this.projections = this.layerProjections[layers[0]].crss;\n } else {\n var name = layers[layers.length - 1];\n this.projections = this.projections.filter(function (p) {\n return _this4.layerProjections[name].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref11) {\n var name = _ref11.name;\n return _this5.layerProjections[name].crss.includes(_this5.epsg);\n });\n });\n\n function epsg() {\n return _ref10.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function layer_type(type) {\n if ('file' == type) {\n this.clearPanel();\n }\n },\n wms_panel: function wms_panel(enabled) {\n if (enabled) {\n this.name = this.wms_config.title + ' ' + (0, _getUniqueDomId.getUniqueDomId)();\n }\n }\n },\n\n created: function created() {\n this.layer.crs = _application2.default.project.getProjection().getCode();\n },\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n yield this.$nextTick();\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this6.layer_type = undefined;\n _this6.clearFile();\n _this6.clearPanel();\n });\n\n yield _gui2.default.isReady();\n\n var map = _gui2.default.getService('map');\n\n yield map.isReady();\n\n this.deleteWms = this.deleteWms.bind(this);\n\n 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 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 _this6.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 _this6.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 _this6.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 _this6._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.clearFile();\n this.clearPanel();\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',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.wms_panel),expression:\"wms_panel\"}],staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"add_custom_url_wms_input\",\"title\":\"required\"}},[_vm._v(\"URL\")]),_vm._v(\" \"),_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('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(\" \"),_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_panel)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.wms_panel),expression:\"wms_panel\"}],staticClass:\"form-group\"},[_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._e(),_vm._v(\" \"),(!_vm.wms_panel)?_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.wms_panel || !(_vm.id || '').trim() || !(_vm.url || '').trim().match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g)),expression:\"wms_panel || !(id || '').trim() || !(url || '').trim().match(/(http(s)?:\\\\/\\\\/.)?(www\\\\.)?[-a-zA-Z0-9@:%._\\\\+~#=]{2,256}\\\\.[a-z]{2,6}\\\\b([-a-zA-Z0-9@:%_\\\\+.~#?&//=]*)/g)\"}],staticClass:\"btn btn-block btn-success form-group\",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_panel)?_c('div',{staticClass:\"form-group\"},_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\"}},[_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){$event.stopPropagation();return _vm.showWmsLayersPanel(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){$event.stopPropagation();return _vm.deleteWmsUrl(wms.id)}}})]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(wms.url))])])}),0):_vm._e(),_vm._v(\" \"),(_vm.wms_panel)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"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\":\"-5px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.clearPanel}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.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(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.abstract),expression:\"abstract\"}]})]):_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:('selectedlayers'),expression:\"'selectedlayers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(layer){return _c('option',{key:layer.name,domProps:{\"value\":layer.name}},[_vm._v(_vm._s(layer.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(proj){return _c('option',{key:proj,domProps:{\"value\":proj}},[_vm._v(_vm._s(proj))])}),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._v(\" \"),(_vm.added)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}],staticClass:\"g3w-wms-external-panel-layer-added-message\"}):_vm._e()]):_vm._e()]:('file' === _vm.layer_type)?[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(['kmz', 'zip'].includes(_vm.layer.type)),expression:\"['kmz', 'zip'].includes(layer.type)\"}],staticClass:\"form-group\"},[_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.$set(_vm.layer, \"crs\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.options),function(option){return _c('option',{domProps:{\"value\":option}},[_vm._v(_vm._s(option))])}),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('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._v(\" \"),_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%\",\"margin\":\"auto\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}}),_vm._v(\" \"),_c('form',{attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"title\":\" \",\"accept\":_vm.accepted_extension},on:{\"change\":function($event){return _vm.onChangeFile($event)}}}),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}),_vm._v(\" \"),(_vm.layer.name)?_c('h4',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.layer.name))]):_vm._e(),_vm._v(\" \"),_c('div',[_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('p',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"[.gml, .geojson, .kml, .kmz ,.gpx, .csv, .zip(shapefile)]\")])]),_vm._v(\" \"),(_vm.csv_extension)?_c('div',{staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"select_field\"},[_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.$set(_vm.csv, \"separator\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.separators),function(separator){return _c('option',{key:separator,domProps:{\"value\":separator}},[_vm._v(_vm._s(separator))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_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\"},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.$set(_vm.csv, \"x\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_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\"},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.$set(_vm.csv, \"y\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.fields || 0 === _vm.fields.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}],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(field){return _c('option',{key:field,domProps:{\"value\":field}},[_vm._v(_vm._s(field))])})],2)])]:_vm._e()],2),_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\"}}):_vm._e(),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-error\"},[_vm._v(_vm._s(_vm.$t('server_error')))]):(_vm.added)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-already-added\"},[_vm._v(\"⚠️ \"+_vm._s(_vm.$t('sidebar.wms.url_already_added')))]):_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(\" \"),('wms' === _vm.layer_type && _vm.wms_panel)?_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.selectedlayers.length),expression:\"0 === selectedlayers.length\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();_vm.addWMSlayer({ url: _vm.url, position: _vm.position, epsg: _vm.epsg, layers: _vm.selectedlayers, name: _vm.name && _vm.name.trim() || undefined })}}}):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":!_vm.add},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}}):_vm._e()])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2e549814\"\n\n},{\"g3w-constants\":125,\"map/layers/imagelayer\":154,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/createVectorLayerFromFile\":197,\"utils/getUniqueDomId\":217,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],84:[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\":93,\"g3w-i18n\":128,\"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}],85:[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}],86:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-0e556a34]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-0e556a34]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-0e556a34]{color:var(--skin-success)}#project-catalog[data-v-0e556a34]{background:transparent}.modal-header.nav[data-v-0e556a34]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-0e556a34]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-0e556a34]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-0e556a34]{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-0e556a34]{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-0e556a34]{text-align:center}.modal-header.nav li a i[data-v-0e556a34]{margin-right:5px}.metadata-item-tab[data-v-0e556a34]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-0e556a34]{position:absolute;bottom:10px;right:auto}.row-info[data-v-0e556a34]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-0e556a34]{font-weight:700}.h_100[data-v-0e556a34]{height:100%}#project-catalog[data-v-0e556a34]{position:relative;overflow:auto}.nav-tabs[data-v-0e556a34]{border-bottom:0 none}.metadata-label[data-v-0e556a34]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-0e556a34],.metadata-contact-label[data-v-0e556a34]{font-weight:700}.contact-icon[data-v-0e556a34]{margin-right:3px}.metadata-contact-row[data-v-0e556a34]{margin-bottom:5px}.layer_header[data-v-0e556a34]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-0e556a34]{font-weight:700}.layer-header-icon[data-v-0e556a34]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-0e556a34]{position:absolute;right:5px;color:#999}.layer-row[data-v-0e556a34]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-0e556a34]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li.active>a[data-v-0e556a34]:focus,.layer-nav-tabs>li.active>a[data-v-0e556a34]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-0e556a34]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li>a[data-v-0e556a34]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-0e556a34]: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-0e556a34]:after,.layer-nav-tabs>li:hover>a[data-v-0e556a34]:after{transform:scale(1)}.layer-tab-content[data-v-0e556a34]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-0e556a34]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-0e556a34],.metadata-nav-tabs>li>a[data-v-0e556a34]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-0e556a34]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-0e556a34]:hover{background-color:transparent}.credit-title-logo[data-v-0e556a34]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-0e556a34]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-0e556a34]{width:50%!important}.customcredits[data-v-0e556a34]{margin-bottom:10px;margin-top:5px;text-align:center}#address-credits span[data-v-0e556a34]{padding-left:3px}\")\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 _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: \"metadata-project\",\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 };\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 },\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};\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\":\"2px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_c('b',{class:_vm.$fa('marker'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mobile'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"+39 393 8534336\")])]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mail'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_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._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-0e556a34\"\n\n},{\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],87:[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\":88,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins/resize\":167,\"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}],88:[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}],89:[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\":128,\"services/gui\":173,\"vueify/lib/insert-css\":2}],90:[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\":125,\"g3w-i18n\":128,\"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}],91:[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}\")\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 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 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 layer.features.length === 1;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function addRemoveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n },\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n index = _ref2.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 _this = 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 (_this.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 _this2 = 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 _this2.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 = _this2.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this2.$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 _ref3 = _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(_x6, _x7, _x8) {\n return _ref3.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 _ref4 = _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(_x9, _x10, _x11, _x12) {\n return _ref4.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 },\n\n watch: {\n 'state.layers': function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this3 = 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 _this3.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this3.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 _this3.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this3.$options.service.postRender(_this3.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref5.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this4 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this4.$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){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){return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":_vm.collapseSidebar}},[_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 \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!layer.rawdata),expression:\"!layer.rawdata\"}],staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\")])]),_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 ))?_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 || (layer.source && layer.source.type !== 'wms'))\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)?[_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(\" \"),_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\":95,\"components/QueryResultsHeaderFeatureActionsBody.vue\":98,\"components/QueryResultsHeaderFeatureBody.vue\":99,\"components/QueryResultsTableAttributeFieldValue.vue\":100,\"mixins\":165,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/getMapLayersByFilter\":210,\"utils/throttle\":241,\"utils/toRawType\":242,\"vueify/lib/insert-css\":2}],92:[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};\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('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{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 && _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\":128}],93:[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},{}],94:[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},{}],95:[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}],96:[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\":128,\"store/application\":178,\"vueify/lib/insert-css\":2}],97:[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\":92,\"vueify/lib/insert-css\":2}],98:[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){return _vm.trigger({id:'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){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\":97,\"mixins\":165,\"vueify/lib/insert-css\":2}],99:[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\":97,\"mixins\":165,\"vueify/lib/insert-css\":2}],100:[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\":47,\"components/FieldVue.vue\":50,\"mixins\":165}],101:[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\"},[_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\":44,\"components/QueryResultsActionDownloadFormats.vue\":94,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-eventbus\":126,\"mixins\":165,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241,\"vueify/lib/insert-css\":2}],102:[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}],103:[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\":101,\"components/Relations.vue\":102,\"g3w-constants\":125,\"g3w-eventbus\":126,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/createSingleFieldParameter\":196,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203}],104:[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\":90,\"components/Tool.vue\":109,\"g3w-i18n\":128,\"g3w-panel\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],105:[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 allvalue: _g3wConstants.SEARCH_ALLVALUE\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 },\n\n methods: {\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 _this = 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 (_this.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this.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 _this.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 _this2 = 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 _this2.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 _this3 = 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: _this3.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 _this3.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 _this3.clearSelect2();\n _this3.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 },\n\n mounted: function () {\n var _ref10 = _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 _ref10.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\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),expression:\"state.searching\"}],staticClass:\"g3w-search-panel form-group\"},[_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_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('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\":125,\"g3w-i18n\":128,\"mixins/resize\":167,\"store/application\":178,\"utils/convertQGISDateTimeFormatToMoment\":187,\"utils/createSingleFieldParameter\":196,\"utils/getDataForSearchInput\":205,\"vueify/lib/insert-css\":2}],106:[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}],107:[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\":78,\"g3w-constants\":125,\"g3w-i18n\":128,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],108:[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\nvar PAGELENGTHS = [10, 25, 50, 100];\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 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() || 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.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: PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || 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.layer.toggleFilterToken()}}})]),_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())?_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\":44,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins\":165,\"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}],109:[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}],110:[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}],111:[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\":51,\"components/FormBody.vue\":52,\"g3w-component\":124,\"g3w-object\":129,\"services/gui\":173,\"utils/getDefaultExpression\":206,\"utils/getFilterExpression\":207}],112:[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\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: {\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 },\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query\n if (show && _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: {\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 },\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 };\n\n // create search form structure \n state.mounted = function () {\n var _ref = _asyncToGenerator(function* (state) {\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 (_x3) {\n return _ref.apply(this, arguments);\n };\n }()(state);\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\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\":105,\"g3w-constants\":125,\"g3w-object\":129,\"g3w-panel\":130,\"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}],113:[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\"}],114:[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}],115:[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},{}],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 el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],117:[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\":114,\"store/application\":178}],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-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\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 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\":125,\"services/gui\":173}],144:[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\":128,\"map/controls/interactioncontrol\":143,\"services/gui\":173,\"utils/createMeasureTooltip\":193,\"utils/removeMeasureTooltip\":234}],145:[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\":125,\"g3w-eventbus\":126,\"g3w-i18n\":128,\"map/controls/interactioncontrol\":143,\"map/interactions/pickcoordinatesinteraction\":149,\"services/data\":172,\"services/gui\":173,\"services/map\":175,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241}],146:[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\":125,\"g3w-i18n\":128,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216}],147:[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\":143,\"services/gui\":173,\"store/application\":178,\"utils/sameOrigin\":237}],148:[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\":143,\"map/interactions/pickcoordinatesinteraction\":149,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181}],149:[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},{}],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/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},{}],151:[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\":125,\"utils/getUniqueDomId\":217}],152:[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\":129,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":181,\"utils/promisify\":232}],153:[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);\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 _gui2.default.getService('map').toggleSelection(Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }));\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}],154:[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();\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\":125,\"g3w-object\":129,\"map/layers/geo-mixin\":153,\"map/layers/layer\":155,\"map/layers/vectorlayer\":158,\"store/application\":178,\"store/projections\":180,\"utils/get_legend_params\":218}],155:[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: '',\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 },\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 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);\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] : null;\n\n _application2.default.tokens.filtertoken = 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 var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid);\n this.setOlSelectionFeatureByFid(fid, is_excluded ? '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 { 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 })));\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\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 };\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 projections: provider._projections\n })\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\":108,\"g3w-constants\":125,\"g3w-i18n\":128,\"g3w-object\":129,\"map/layers/feature\":151,\"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}],156:[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\":129,\"utils/getUniqueDomId\":217}],157:[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 };\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\":125,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":151,\"map/layers/featuresstore\":152,\"map/layers/layer\":155,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"utils/promisify\":232,\"utils/waitFor\":243}],158:[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\":129,\"map/layers/geo-mixin\":153,\"map/layers/layer\":155,\"map/layers/tablelayer\":157,\"services/gui\":173,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/promisify\":232}],159:[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}],160:[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},{}],161:[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},{}],162:[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}],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 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},{}],164:[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}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.widgetMixins = 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 _widget = require('mixins/widget');\n\nvar _widget2 = _interopRequireDefault(_widget);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\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 widgetMixins: _widget2.default,\n baseInputMixin: _baseInput2.default\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.widgetMixins = _widget2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":159,\"mixins/base-input\":160,\"mixins/fields\":162,\"mixins/form-inputs\":163,\"mixins/geo\":164,\"mixins/media\":166,\"mixins/resize\":167,\"mixins/select\":168,\"mixins/select2\":169,\"mixins/widget\":170}],166:[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},{}],167:[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}],168:[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},{}],169:[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\":167,\"store/application\":178}],170:[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 changed: false\n };\n },\n\n methods: {\n widgetChanged: function widgetChanged() {\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged(value) {\n console.log('need to be implemented by widget'); // method to overwrite\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\n},{}],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\":125,\"g3w-object\":129}],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 _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 * \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 };\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 array\n\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 if (options.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: options.filter\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 _ref15 = _asyncToGenerator(function* () {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref16.layer,\n _ref16$formatter = _ref16.formatter,\n formatter = _ref16$formatter === undefined ? 0 : _ref16$formatter,\n _ref16$fids = _ref16.fids,\n fids = _ref16$fids === undefined ? [] : _ref16$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 _ref15.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 _ref17 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$layers = _ref18.layers,\n layers = _ref18$layers === undefined ? [] : _ref18$layers,\n _ref18$fids = _ref18.fids,\n fids = _ref18$fids === undefined ? [] : _ref18$fids,\n _ref18$formatter = _ref18.formatter,\n formatter = _ref18$formatter === undefined ? 0 : _ref18$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 _ref17.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 _ref19 = _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 _ref19.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 _ref20 = _asyncToGenerator(function* () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref21.url,\n _ref21$method = _ref21.method,\n method = _ref21$method === undefined ? 'GET' : _ref21$method,\n _ref21$params = _ref21.params,\n params = _ref21$params === undefined ? {} : _ref21$params,\n _ref21$headers = _ref21.headers,\n headers = _ref21$headers === undefined ? {} : _ref21$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 _ref20.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 * @param params\n * \n * @returns {Promise<{data: string, response: *}>}\n */\n 'ows:wmsCapabilities': function () {\n var _ref22 = _asyncToGenerator(function* () {\n var _ref23 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref23.url;\n\n try {\n return yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url, service: \"wms\" })\n });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function owsWmsCapabilities() {\n return _ref22.apply(this, arguments);\n }\n\n return owsWmsCapabilities;\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 _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref24.coordinates,\n _ref24$feature_count = _ref24.feature_count,\n feature_count = _ref24$feature_count === undefined ? 10 : _ref24$feature_count,\n _ref24$query_point_to = _ref24.query_point_tolerance,\n query_point_tolerance = _ref24$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref24$query_point_to,\n _ref24$multilayers = _ref24.multilayers,\n multilayers = _ref24$multilayers === undefined ? false : _ref24$multilayers,\n _ref24$reproject = _ref24.reproject,\n reproject = _ref24$reproject === undefined ? true : _ref24$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 _ref26 = _asyncToGenerator(function* (layers) {\n var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref27.geometry,\n projection = _ref27.projection,\n _ref27$filterConfig = _ref27.filterConfig,\n filterConfig = _ref27$filterConfig === undefined ? {} : _ref27$filterConfig,\n _ref27$multilayers = _ref27.multilayers,\n multilayers = _ref27$multilayers === undefined ? false : _ref27$multilayers,\n _ref27$feature_count = _ref27.feature_count,\n feature_count = _ref27$feature_count === undefined ? 10 : _ref27$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(_x18) {\n return _ref26.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"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 primaryView = state.primaryView;\n var secondaryView = 'map' === state.primaryView ? 'content' : 'map';\n var main_sidebar = $(\".main-sidebar\");\n var offset = main_sidebar.length && main_sidebar.offset().left;\n var width = main_sidebar.length && main_sidebar[0].getBoundingClientRect().width;\n var sideBarSpace = width + offset;\n var viewportWidth = $('#app')[0].getBoundingClientRect().width - sideBarSpace;\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[primaryView].sizes.width = primaryWidth;\n state[primaryView].sizes.height = primaryHeight;\n state[secondaryView].sizes.width = secondaryWidth;\n state[secondaryView].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\":89,\"components/SidebarItem.vue\":106,\"components/g3w-form\":111,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-object\":129,\"g3w-panel\":130,\"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\":129,\"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 _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\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 style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.selectionLayer.color,\n fill: true\n })];\n }\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 };\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 l.on('filtertokenchange', function () {\n return _this20.updateMapLayer(layer, { force: true });\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 _ref36 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref36.info,\n style = _ref36.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 _ref37 = _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 _ref37.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 _ref38 = _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 _ref38.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 are 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 source.addFeature(opts.feature);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 visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.defaultsLayers.selectionLayer.setVisible(visible);\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 _ref39 = _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 _ref40 = _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 _ref40.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref39.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(_ref41) {\n var width = _ref41.width,\n height = _ref41.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 _this23 = 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 = _this23.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 _this23._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 (_this23._drawShadow.inner.length) {\n ctx.save();\n x_min = _this23._drawShadow.inner[0];\n y_min = _this23._drawShadow.inner[3];\n x_max = _this23._drawShadow.inner[2];\n y_max = _this23._drawShadow.inner[1];\n rotation = _this23._drawShadow.rotation;\n scale = _this23._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 _this24 = 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 _this24.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 extanla layers added to map\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers() {\n return this._layers.external;\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 _ref42 = _asyncToGenerator(function* (externalLayer) {\n var _this25 = 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 && options.field) {\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;\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type] || (yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)({\n name: externalLayer.name,\n type: type,\n crs: externalLayer.crs,\n data: externalLayer.data\n }));\n\n // skip if is not a valid layer\n if (!layer) {\n return Promise.reject();\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: _this25._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 _ref42.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 (_ref43) {\n var id = _ref43.id,\n enable = _ref43.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\":84,\"components/MapControlZoomHistory.vue\":85,\"g3w-object\":129,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":142,\"map/controls/interactioncontrol\":143,\"map/controls/measurecontrol\":144,\"map/controls/queryby\":145,\"map/controls/scalecontrol\":146,\"map/controls/screenshotcontrol\":147,\"map/controls/streetviewcontrol\":148,\"map/interactions/pickcoordinatesinteraction\":149,\"map/layers/imagelayer\":154,\"map/layers/vectorlayer\":158,\"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/createVectorLayerFromFile\":197,\"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 _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 _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 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 };\n\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 // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add) {\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\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 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 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 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.indexOf(attr.name) > -1;\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: f.selection,\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() : 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\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 };\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) {\n return options.add ? _this3.updateLayerResultFeatures(l) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add });\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 * used by the following plugins: \"qplotly\"\n */\n\n\n _createClass(QueryResultsService, [{\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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$id = _ref4.id,\n id = _ref4$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref4$id,\n layerId = _ref4.layerId,\n component = _ref4.component,\n _ref4$type = _ref4.type,\n type = _ref4$type === undefined ? 'feature' : _ref4$type,\n _ref4$position = _ref4.position,\n position = _ref4$position === undefined ? 'after' : _ref4$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 *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this5 = this;\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 responseFeatures = responseLayer.features || [], // extract features from responseLayer object\n 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 has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n\n if (has_features) {\n var features_ids = 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 responseFeatures.forEach(function (feat) {\n var feature_id = _this5._getFeatureId(feat, external);\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n // remove feature (because is already loaded)\n setTimeout(function () {\n return delete _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feat)];\n });\n layer.features = (layer.features || []).filter(function (f) {\n return _this5._getFeatureId(f, external) !== feature_id;\n });\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (feature) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feature)];\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 _this5.state.layers = _this5.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this5.clearHighlightGeometry(layer);\n _this5.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 _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n if (options.add) {\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 // set eventually layer action tool and need to be reactive\n _this6.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this6.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.layersactions[layer.id] = _this6.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 = (_this6._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this6.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 _this6.state.actiontools.downloadformats = _this6.state.actiontools.downloadformats || {};\n _this6.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 _this6.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this6.state.query.type) {\n var downloadsaction = _this6.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$ = _this6.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)(_this6.goToGeometry.bind(_this6))\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 _this6.emit('show-chart', chartRelationIds, container, {\n relations: _this6._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this6.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this6._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: _this6.printAtlas.bind(_this6)\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 _this6.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this6.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(_ref5) {\n var _this7 = this;\n\n var features = _ref5.features;\n\n features.forEach(function (_, i) {\n return undefined === _this7.state.toggled[i] ? _g3wEventbus.VM.$set(_this7.state.toggled, i, false) : _this7.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 _this6.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature\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 hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this6.removeFeatureLayerFromResult.bind(_this6)\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({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n // check feature selection\n init: function init() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref6.feature,\n index = _ref6.index,\n action = _ref6.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 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 pLayer.hasSelectionFid(feature ? _this6._getFeatureId(feature, layer.external) : null);\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(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n features.forEach(function (_, index) {\n return undefined === _this8.state.toggled[index] && _g3wEventbus.VM.$set(_this8.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this6.addToSelection.bind(_this6))\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 _this6.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 _this6.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 _this6.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 _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref8.layer,\n id = _ref8.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 _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref9.layer,\n action = _ref9.action,\n index = _ref9.index,\n _ref9$component = _ref9.component,\n component = _ref9$component === undefined ? null : _ref9$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(_ref10) {\n var id = _ref10.id,\n layer = _ref10.layer,\n _ref10$config = _ref10.config,\n config = _ref10$config === undefined ? {} : _ref10$config,\n action = _ref10.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 _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component,\n _ref11$config = _ref11.config,\n config = _ref11$config === undefined ? null : _ref11$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 _this9 = 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 _ref13 = _asyncToGenerator(function* (_ref12) {\n var coordinates = _ref12.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this9.setQueryResponse({\n data: [_this9.getVectorLayerFeaturesFromQueryRequest(_this9._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: _this9._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x14) {\n return _ref13.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 _ref14 = _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(_x17, _x18, _x19, _x20, _x21) {\n return _ref14.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 _this10 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this10.state.layers = _this10.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 _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref15$atlas = _ref15.atlas,\n atlas = _ref15$atlas === undefined ? {} : _ref15$atlas,\n _ref15$features = _ref15.features,\n features = _ref15$features === undefined ? [] : _ref15$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 (_ref16) {\n var url = _ref16.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 _this11 = 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 _this11._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 _ref17 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this12 = 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 _ref18 = _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 _this12.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref19.layer,\n type = _ref19.type,\n data = _ref19.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 = _this12.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 _this12.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 _this12.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref18.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(_x25, _x26) {\n return _ref17.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 _this13 = 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')[_this13.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this13.isOneLayerResult() ? [feature] : feature.geometry, _this13.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.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 _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref20.relation,\n layerId = _ref20.layerId,\n feature = _ref20.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 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 var GIVE_ME_A_NAME = undefined === feature && undefined === action && undefined === index;\n var _action = GIVE_ME_A_NAME ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = GIVE_ME_A_NAME && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = GIVE_ME_A_NAME ? 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 = GIVE_ME_A_NAME ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = GIVE_ME_A_NAME ? {\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 if (!GIVE_ME_A_NAME) {\n _action.state.toggled[index] = !_action.state.toggled[index];\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 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 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 /**Switch selected boolean value */\n feature.selection.selected = !feature.selection.selected;\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 if (GIVE_ME_A_NAME) {\n layer.features.forEach(function (f, i) {\n return _action.state.toggled[i] = !toggled;\n });\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":94,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":96,\"components/RelationsPage.vue\":103,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-eventbus\":126,\"g3w-i18n\":128,\"g3w-object\":129,\"map/interactions/pickcoordinatesinteraction\":149,\"map/layers/layer\":155,\"map/layers/vectorlayer\":158,\"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\":129}],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\":129}],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\":125,\"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\":125,\"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\":125,\"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\":125}],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\":125}],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\nvar _createKMZLayer = function () {\n var _ref = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n var kmlFiles = zip.file(/.kml$/i);\n /**\n * @TODO handle multiple network links\n * \n * https://github.com/g3w-suite/g3w-client/pull/430/files#r1232092732\n */\n // get the last kml file (when doc.kml file has a reference to kml inside another folder)\n var kmlFile = kmlFiles[kmlFiles.length - 1];\n if (kmlFile) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, kmlFile.asText(), new ol.format.KML({ extractStyles: false }), \"EPSG:4326\"));\n } else {\n reject();\n }\n });\n\n return function (_x6, _x7) {\n return _ref2.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createKMZLayer(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _createZIPLayer = function () {\n var _ref3 = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n shp((yield data.arrayBuffer(data))).then(function (geojson) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, JSON.stringify(geojson), new ol.format.GeoJSON({}), \"EPSG:4326\"));\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n\n return function (_x13, _x14) {\n return _ref4.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createZIPLayer(_x8, _x9, _x10, _x11, _x12) {\n return _ref3.apply(this, arguments);\n };\n}();\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 */\n\n\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref6.name,\n type = _ref6.type,\n crs = _ref6.crs,\n mapCrs = _ref6.mapCrs,\n data = _ref6.data,\n style = _ref6.style;\n\n switch (type) {\n case 'gpx':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GPX());\n case 'gml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.WMSGetFeatureInfo());\n case 'geojson':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GeoJSON());\n case 'kml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.KML({ extractStyles: false }), \"EPSG:4326\");\n case 'csv':\n return _createCSVLayer(name, crs, mapCrs, style, data);\n case 'kmz':\n return _createKMZLayer(name, crs, mapCrs, style, data);\n case 'zip':\n return _createZIPLayer(name, crs, mapCrs, style, data);\n }\n console.warn('invalid file type', type);\n });\n\n return function createVectorLayerFromFile() {\n return _ref5.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('./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\nfunction _createVectorLayer(name, crs, mapCrs, style, data, format, epsg) {\n epsg = undefined === epsg ? crs : epsg;\n\n var features = format.readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n\n // skip when no features\n if (0 === features.length) {\n return;\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (format instanceof ol.format.KML) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: 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\nfunction _createCSVLayer(name, crs, mapCrs, style, data) {\n var headers = data.headers,\n separator = data.separator,\n values = data.values,\n x = data.x,\n y = data.y;\n\n\n var features = [];\n var errorrows = [];\n\n values.forEach(function (row, index) {\n var properties = {};\n var rowvalues = row.split(separator);\n if (rowvalues.length === headers.length) {\n var coordinates = [];\n rowvalues.forEach(function (value, index) {\n var field = headers[index];\n if (field === x) {\n coordinates[0] = 1 * value;\n }\n if (field === y) {\n coordinates[1] = 1 * value;\n }\n properties[field] = value;\n });\n // check if all coordinates are right\n if (undefined === coordinates.find(function (value) {\n return Number.isNaN(value);\n })) {\n var geometry = new ol.geom.Point(coordinates);\n if (crs !== mapCrs) {\n geometry.transform(crs, mapCrs);\n }\n var feature = new ol.Feature(geometry);\n feature.setId(index); // incremental id\n feature.setProperties(properties);\n features.push(feature);\n }\n } else {\n errorrows.push({ row: index + 1, value: values[index] });\n }\n });\n\n if (0 === features.length) {\n return Promise.reject();\n }\n\n if (errorrows.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: '',\n data: function data() {\n return {\n errorrows: errorrows\n };\n }\n }\n },\n autoclose: false\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: headers,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n}\n\n},{\"./getUniqueDomId\":217,\"g3w-constants\":125}],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\":125}],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\":125}],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\":125,\"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\":125}],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\":125,\"g3w-object\":129,\"map/layers/imagelayer\":154,\"map/layers/layersstore\":156,\"map/layers/tablelayer\":157,\"map/layers/vectorlayer\":158,\"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\":125}],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\":125}],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 += 1) + \"_\" + 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\":125}],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\":125}],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\":125}],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\":125}],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\":125}],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\":125}],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\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [] };\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\":125,\"g3w-i18n\":128,\"map/layers/feature\":151,\"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).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\":125}],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},{}]},{},[132]);\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","_createClass","Constructor","protoProps","staticProps","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","validatorOptions","values","state","input","options","map","v","self","__proto__","getPrototypeOf","ReferenceError","create","setPrototypeOf","checked","includes","find","option","_this2","gui/inputs/service","6","vueComponentOptions","newObj","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_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","$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","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","_MapAddLayer2","_ChangeMap2","_MetadataProject2","_ref7","_ref5","_ref4","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","MapAddLayer","ChangeMap","MetadataProject","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","onIframeLoaded","iframe","$refs","login_iframe","contentWindow","g3wsdk","core","ApplicationState","logout_url","reload","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","doNotShowAgainVueComponent","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","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","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","max-height","img","img_title","first_name","last_name","data-target","admin_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","domProps","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","background","grid-template-areas","place-items","inset","data-dismiss","grid-area","border","load","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ChangeMap.vue","components/MapAddLayer.vue","components/MetadataProject.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","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","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","plugin","PluginsRegistry","getPlugin","startEditing","editing","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","innerHTML","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","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","get_macro","get_group","_projections2","_getListableProjects","LOGO_GIS3W","_toConsumableArray","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","registerProjection","map_url","origin","addMapExtentUrlParameterToUrl","trigger","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","_ref11","_ref12","min-width","description","store/projections","utils/getListableProjects","43","_t","word-wrap","44","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","45","geoMixin","Date","now","font","showLayer","46","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","data-interval","data-slide","components/Field.vue","47","_Field","openLink","link_url","48","mediaMixin","getMediaType","filename","49","50","vueoptions","51","_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","52","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","53","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","54","flex-direction","item_selected","fontSize","55","56","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","57","58","59","progress","borderRadius","60","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","61","_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","62","_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","63","showHideHelp","loadingState","help","64","widgetMixins","setLabel","convertCheckedToValue","convertValueToChecked","changeCheckBox","widgetChanged","stateValueChanged","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","65","placeholder","composing","66","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","67","68","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","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","69","_InputG3W","show_required_field_message","70","71","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","clear","margin-bottom","labels","72","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","73","pickLayer","pickservice","pick","gui/inputs/picklayer/service","74","radio_value","75","Step","checkValue","getValidator","keydown","76","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","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","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","pagination","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","77","state.input.options.min","changeInfoMessage","state.input.options.max","78","keyup","mobileChange","79","max-width","80","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","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","81","tags","82","_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","83","_createVectorLayerFromFile","SUPPORTED_FORMAT","getProjection","getCode","EPSG","layer_type","wms_panel","wms_urls","vectorLayer","persistent","accepted_extension","csv","y","separators","separator","mapCrs","rgba","map_formats","info_formats","selectedlayers","projections","added","error_message","csv_extension","onChangeFile","reader","FileReader","files","at","input_file","onload","handle_csv_headers","_evt$target$result$sp","_evt$target$result$sp2","csv_headers","readAsText","createVectorLayerFromFile","addLayer","addExternalLayer","modal_addlayer","clearFile","clearPanel","addwmsurl","found","getWMSLayers","getLocalWMSData","updateLocalWMSData","wmsurl","_showWmsLayersPanel","deleteWmsUrl","_addExternalWMSLayer","_ref4$epsg","_ref4$position","_ref4$visible","RasterLayer","projection","res","rej","wmslayer","olLayer","getOLLayer","addWMSlayer","_ref6$name","_ref6$layers","_ref6$visible","_ref6$opacity","_wms","w","every","deleteWms","_wms_config","wms_config","GetMap","layerProjections","crss","showWmsLayersPanel","findIndex","changeLayerData","alldata","csv.x","csv.y","_this6","isReady","_ref13","$data","$forceUpdate","font-family","border-bottom","padding-bottom","flex-grow","outline","user-select","accept","map/layers/imagelayer","utils/createVectorLayerFromFile","84","_QueryResultsActionChooseLayer2","_plugins2","_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","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","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","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","85","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","86","customcredits","powered_by","docs_url","general","spatial","showHideInfo","box","sanitizeValue","credits","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","overflow","gap","rel","87","_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","h","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","_this7","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","88","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","89","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","90","_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","91","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","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","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","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","92","clickAction","originalDataTitle","hint_change","condition","93","has_layers","94","download_format","_download","95","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","96","choices","g3w_select_feature_featurepolygon","choice","97","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","98","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","99","100","g3w-link","g3w-vue","101","_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","102","featureInfo","noback","103","_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","104","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","105","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","allvalue","SEARCH_ALLVALUE","is_staff","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","forminputs","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","search_layers","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","widget_type","opt","time","utils/getDataForSearchInput","106","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","107","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","108","_coordinatesToGeometry","_ref20","PAGELENGTHS","_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","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","selectAllRows","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","page_size","_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","109","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","alert","warning","110","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","111","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","112","_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","113","VueColor","Proxy","fromEntries","prop","Reflect","overviewproject","VueCookie","vue-cookie","114","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","115","removeAttribute","116","117","_utils","directives/utils","118","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","g3w_observer","119","oldValue","120","tPlugin","121","_require","122","_el","_ref$el","componentUpdated","oldVnode","123","handleInnerHTML","__currentBinding","__innerHTML","124","çç","_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","125","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","GEOMETRY_FIELDS","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","zip","excel","xls","gpx","gpkg","shapefile","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","EXCLUDE","./version","126","127","_g3wConstants2","_application4","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_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","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","$script","complete","finally","platform","console","pluginsConfigs","os","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","./g3w-plugin","_process","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/application","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","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","128","getAppLanguage","addI18n","i18nObject","addResource","addI18nPlugin","_lang","129","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","130","onShow","onClose","131","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","132","_locales2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","ACTIONS","directive","use","install","_isMobile","mixin","any","inheritAttrs","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","paginate","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","interfaceowsurl","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","133","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","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_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","shp","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","134","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","135","136","wms_layer_id_already_added","wms_url_already_added","137","_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","138","139","geolocations","140","141","142","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","143","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","144","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","145","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","146","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","147","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","148","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","149","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","150","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","151","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","152","_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","153","BaseClass","checkUrl","map_crs","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","154","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","155","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","geojson","readFeatures","mapProjection","dataProjection","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","WKT","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","selectionFids","layersstore","proxyData","_ref15$data","getFilterToken","_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","getSelection","_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","156","_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","157","_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","158","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","159","autocompleteRequest","160","showhelpicon","setUpdate","161","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","162","getFieldService","_fieldsService","sanitizeFieldValue","163","countNoTEmptyInputName","164","165","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_widget2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","mixins/widget","166","isMedia","167","DELAY_TYPE","delayWrapper","delayResize","delayTime","168","resetValues","usecompleter","$container","169","170","171","172","_groupBy","_ref19","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","_ref16$formatter","_ref16$fids","getFeatureByFids","olFeat","search:layersfids","_ref18$layers","_ref18$fids","_ref18$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref21","_ref21$method","_ref21$params","_ref21$headers","proxy:data","ows:wmsCapabilities","_ref24$feature_count","_ref24$query_point_to","_ref24$multilayers","_ref24$reproject","groupBy","getInfoUrl","getMultiLayerId","_ref27$filterConfig","_ref27$multilayers","_ref27$feature_count","_x18","utils/groupBy","173","_clearContents","_iframe2","COMPONENTS","SERVICES","navbar","setViewSizes","primaryView","secondaryView","main_sidebar","sideBarSpace","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","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","_x16","_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","_x15","_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","_x13","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","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","geometryObj","hlayer","readGeometry","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this23","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this24","unWatch","onRemoveExternalLayer","externalLayer","_this25","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","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","_ref4$id","_ref4$type","responseLayer","features_ids","responseFeatures","feature_id","_getFeatureId","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","hint_changed","_ref9$component","_ref10$config","_ref11$component","_ref11$config","external_layer","not_current","new_layer","isOneLayerResult","querytitle","actionId","layerAction","_x17","_x19","_x20","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref15$atlas","_ref15$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","GIVE_ME_A_NAME","_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","RegExp","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","JSZip","kmlFiles","arrayBuffer","kmlFile","_createVectorLayer","asText","KML","extractStyles","_createKMZLayer","_createZIPLayer","GPX","WMSGetFeatureInfo","_createCSVLayer","errorrows","rowvalues","_fields","unset","./getUniqueDomId","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","_imagelayer","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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,cAAe,CACb39C,KAAM,4BACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,4BACR,EACA49C,aAAc,CACZ59C,KAAM,2BACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,4BACR,EACA69C,aAAc,CACZ79C,KAAM,2BACR,EACA89C,aAAc,CACZ99C,KAAM,2BACR,EACAiE,MAAO,CACLjE,KAAM,eACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,mEACNyW,YAAa,SACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,aACP6S,MAAO,kBACPiuG,KAAM,OACNC,IAAK,kBACL5qF,IAAK,MACLhT,QAAS,CACPykF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACd/+E,QAAS,kBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,gBACX,EACAi/E,UAAW,CACTj/E,QAAS,kBACX,EACAk/E,cAAe,CACbl/E,QAAS,eACX,CACF,EAEA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,0BACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,cACT,EACA06F,gBAAiB,CACf16F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,qBACTq/E,YAAa,iCACb3+D,KAAM,CACJppC,QAAS,iLACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,gCACX,EACAi/E,UAAW,CACTj/E,QAAS,sBACTs/E,iBAAkB,8HAClB5+D,KAAM,CACJppC,QAAS,+FACX,CACF,EACAioG,SAAU,CACR18F,SAAU,CACR0xC,IAAK,CACHm2B,QAAS,yGACX,CACF,EACA1qD,QAAS,kBACX,EACAw/E,YAAa,CACXx/E,QAAS,kBACX,EACAy/E,SAAU,CACR7jH,OAAQ,CACNokC,QAAS,QACT0gB,KAAM,2HACR,EACAg/D,KAAM,CACJ1/E,QAAS,SACT0gB,KAAM,qEACR,CACF,EACA0a,MAAO,CACLukD,eAAgB,iBAClB,EACAC,UAAW,CACTr2C,MAAO,CACLs2C,OAAQ,QACRC,SAAU,iBACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,eACb,CACF,EACA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E,MAAO,SACT,CACF,CACF,EACAq/G,SAAU,CACRnuC,UAAW,CACTouC,YAAa,WACbC,YAAa,YACbC,eAAgB,kBAClB,EACAC,oBAAqB,iBACrBC,mBAAoB,qBACpBC,aAAc,eACdC,cAAe,gBACfC,aAAc,eACdC,aAAc,eACdC,aAAc,eACdC,WAAY,aACZ95C,MAAO,cACPhhC,QAAS,SACX,EACAq3B,YAAa,CACXpa,MAAO,CACLlgB,QAAS,cACTq/B,QAAS,CACP2+C,cAAe,CACbh+C,KAAM,sBACR,EACAi+C,wBAAyB,CACvBj+C,KAAM,yBACR,EACAk+C,wBAAyB,CACvBl+C,KAAM,gCACR,EACAm+C,4BAA6B,CAC3Bn+C,KAAM,6BACR,EACAo+C,gBAAiB,CACfp+C,KAAM,iBACR,EACAiP,UAAW,CACTjP,KAAM,gBACR,EACAq+C,iBAAkB,CAChBr+C,KAAM,sBACR,EACAs+C,4BAA6B,CAC3Bt+C,KAAM,6BACR,EACAy9C,mBAAoB,CAClBz9C,KAAM,4BACR,EACAu+C,sBAAuB,CACrBv+C,KAAM,sBACR,EACAw+C,uBAAwB,CACtBx+C,KAAM,wBACR,EACA09C,aAAc,CACZ19C,KAAM,sBACR,EACA29C,cAAe,CACb39C,KAAM,uBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,uBACR,EACA49C,aAAc,CACZ59C,KAAM,sBACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,uBACR,EACA69C,aAAc,CACZ79C,KAAM,sBACR,EACA89C,aAAc,CACZ99C,KAAM,sBACR,EACAiE,MAAO,CACLjE,KAAM,aACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,iBACNyW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,aACP6S,MAAO,kBACPiuG,KAAM,OACNC,IAAK,kBACL5qF,IAAK,MACLhT,QAAS,CACPykF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACd/+E,QAAS,kBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,gBACX,EACAi/E,UAAW,CACTj/E,QAAS,kBACX,EACAk/E,cAAe,CACbl/E,QAAS,eACX,CACF,EACA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,sBACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,eACT,EACA06F,gBAAiB,CACf16F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,mBACTq/E,YAAa,0BACb3+D,KAAM,CACJppC,QAAS,qFACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,yBACT0gB,KAAM,CACJppC,QAAS,qIACX,CACF,EACA2nG,UAAW,CACTj/E,QAAS,mBACTs/E,iBAAkB,yFAClB5+D,KAAM,CACJppC,QAAS,wGACX,CACF,EACA4nG,cAAe,CACbl/E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJppC,QAAS,+CACX,CACF,EACAioG,SAAU,CACR18F,SAAU,CACR0xC,IAAK,CACHm2B,QAAS,2FACX,CACF,EACA1qD,QAAS,WACX,EACAw/E,YAAa,CACXx/E,QAAS,aACX,EACAy/E,SAAU,CACR1hH,MAAO,UACPnC,OAAQ,CACNokC,QAAS,SACT0gB,KAAM,8EACR,EACAg/D,KAAM,CACJ1/E,QAAS,OACT0gB,KAAM,qEACR,CACF,EACAwkE,WAAY,CACVnnH,MAAO,iBACPmnH,WAAY,MACZW,cAAe,UACfjkF,SAAU,UACZ,EACAw5B,MAAO,CACLukD,eAAgB,eAClB,EACAC,UAAW,CACTr2C,MAAO,CACLs2C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,YACXC,UAAW,WACb,CACF,EACAhxC,UAAW,CACTixC,cAAe,gBACfC,mBAAoB,qBACpBC,kBAAmB,oBACnBC,0BAA2B,+BAC3BC,2BAA4B,mBAC5Bj+G,MAAO,oBACT,EACAk+G,KAAM,CACJryF,QAAS,cACTuuB,OAAQ,CACN55B,SAAU,CACR4jF,OAAQ,CACNjuF,UAAW,+EACb,CACF,EACA4kG,SAAU,CACR5kG,UAAW,0BACXG,OAAQ,iCACV,EACA6nG,oCAAqC,iCACrCC,uBAAwB,qCACxBC,2BAA4B,8CAC5BC,2BAA4B,6CAC5BC,gCAAiC,yBACjChrG,QAAS,UACTF,OAAQ,UACR9B,KAAM,OACNwC,QAAS,OACT8B,SAAU,OACV7B,OAAQ,SACRsjC,KAAM,OACNa,SAAU,OACV/kC,MAAO,QACPo6C,MAAO,OACT,EACAjiC,OAAQ,CACN0uB,gBAAmB,iBACrB,EACAz5B,SAAU,CACRg+F,2BAA4B,kDAC9B,CACF,EACAxoF,QAAS,CACPyoF,yBAA0B,QAC1BC,iBAAkB,eAClBC,6BAA8B,wBAC9BC,kBAAmB,iBACnBC,eAAgB,cAChBC,0BAA2B,gCAC3BC,iBAAkB,6BAClBC,gBAAiB,2BACjBC,kBAAmB,6BACnBC,uBAAwB,0BACxBv5F,KAAM,CACJw5F,cAAe,iBACfC,cAAe,cACfxnF,IAAK,CACHl8B,MAAO,GACPyiG,KAAM,yBACNkhB,OAAQ,QACV,EACA9/E,SAAU,CACR89D,OAAQ,WACRkiB,mBAAoB,wBACtB,CACF,CACF,EACAC,IAAK,CACHC,aAAc,kBACd9hF,QAAS,cACX,CACF,EACAwiC,QAAS,CACPu/C,kBAAmB,oCACnBC,oBAAqB,mDACrBC,UAAW,wBACb,EACAC,oBAAqB,sBACrBC,OAAQ,SACRC,kBAAmB,iCACnBC,gBAAiB,qCACjBC,IAAK,MACLC,GAAI,KACJzyE,KAAM,OACN0yE,OAAQ,WACRC,UAAW,aACXC,eAAgB,iBAChB96F,UAAW,oBACXtU,OAAQ,SACRkoG,WAAY,mBACZl3C,MAAO,QACPq+C,aAAc,eACdC,SAAU,SACVvqF,QAAS,MACTvoB,KAAM,OACN+yG,YAAa,MACbnxF,WAAY,OACZ2uD,MAAO,QACPnuD,KAAM,SACNS,OAAQ,SACRmwF,YAAa,aACbC,cAAe,eACf90F,KAAM,OACNk0B,KAAM,OACN6gE,eAAgB,YAChBC,gBAAiB,QACjBC,4BAA6B,qBAC7BC,kBAAmB,2BACnBC,0CAA2C,6CAC3CC,6BAA8B,yCAC9BC,mBAAoB,yBACpBC,aAAc,0BACd/0C,KAAM,OACNg1C,OAAQ,SACR3rG,OAAQ,SACR4M,MAAO,QAEPg/F,gBAAiB,mBACjBC,eAAgB,mBAChBpgH,IAAK,MACLqgH,WAAY,oBACZC,MAAO,SACPC,eAAgB,qCAChBnjG,QAAS,CACPuZ,IAAK,CACH64D,MAAO,CACL/0F,MAAO,gBACP2mB,MAAO,CACLwG,SAAU,eACVnsB,KAAM,OACNi2D,YAAa,aACbtlD,OAAQ,QACV,CACF,EACAo0G,cAAe,gBACfC,eAAgB,SAChBC,uBAAwB,0BACxBC,kBAAmB,6BACnBC,gBAAiB,4DACnB,CACF,EACAl7G,KAAM,CACJjL,MAAO,UACPomH,kBAAmB,oBACnBC,UAAW,yBACXb,aAAc,gCACd/H,WAAY,yCACZ6I,YAAa,MACf,EACA/pD,YAAa,CACXklD,YAAa,CACXv2G,MAAO,yBACT,EACAsxD,UAAW,CACT+pD,aAAc,2CACd3iE,YAAa,cACbue,SAAU,iDACVqkD,UAAW,aACXC,kBAAmB,yBACrB,EACAC,kBAAmB,CACjBpoG,OAAQ,YACRqoG,kBAAmB,0BACnBC,qBAAsB,8BACtBC,qBAAsB,mBACtBC,mBAAoB,iBACpBC,mBAAoB,iBACpBC,aAAc,qBACdC,WAAY,2BACZc,gBAAiB,kBACjBC,gBAAiB,iCACnB,EACA7lE,MAAO,CACL+kE,eAAgB,yBAClB,EACArpH,OAAQ,CACNokC,QAAS,QACX,EACA0/E,KAAM,CACJ1/E,QAAS,MACX,EACAklF,WAAY,CACVj8G,MAAO,4BACPk8G,cAAe,0lBACjB,CACF,EACAC,cAAe,CACb9J,SAAU,YACVtwE,YAAa,CACXq6E,YAAa,gBACbC,qBAAsB,uBACtBC,cAAe,WACf9lG,OAAQ,QACR+lG,kBAAmB,QACnBC,cAAe,UACfn/E,QAAS,UACT1E,SAAU,UACVokF,aAAc,eACd12D,KAAM,YACR,CACF,EACA6kD,UAAW,CACThmC,SAAU,WACVliE,KAAM,OACNq9E,WAAY,8BACZtgF,KAAM,kBACN08G,QAAS,UACTC,cAAe,4BACflR,aAAc,qCAChB,EAEA4K,YAAa,4BAEb4G,aAAc,aAEdC,aAAc,eAEdjyD,WAAY,aAEZkyD,YAAa,cAEbC,eAAgB,YAEhBC,WAAY,aAEZC,UAAW,YAEXC,SAAU,OAEVC,WAAY,aAEZC,eAAgB,UAEhBC,oBAAqB,YACvB,CACF,CAEA,EAAE,IAAIC,IAAI,CAAC,SAASvrH,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQoF,QAAU,CAChBw5G,YAAa,CACXC,WAAY,CACVtxG,MAAO,cACPuxG,UAAW,oDACXC,GAAI,eACN,EACAC,WAAY,CACVpjG,QAAS,kFACTsX,WAAY,SACd,EACA9tB,QAAS,aACT65G,QAAS,kBACTC,uBAAwB,CACtBv6B,MAAO,CACL7vE,OAAQ,wCACRqqG,SAAU,mBACV5Z,OAAQ,qBACRr6C,MAAO,oBACPk0D,qBAAsB,wCACtBC,WAAY,oBACZC,WAAY,kBACd,CACF,EACAtwB,QAAS,CACPuwB,qBAAsB,sBACxB,EACAC,eAAgB,CACd/9F,IAAK,MACL0d,OAAQ,SACRvjB,QAAS,oCACX,EACA6jG,IAAK,CACHl3C,MAAO,CACLm3C,gBAAiB,CACfr9G,MAAO,kBACT,CACF,EACAs9G,iBAAkB,CAChBt9G,MAAO,0BACPu9G,SAAU,yDACVh2G,MAAO,CACLvG,KAAM,MACR,EACAw8G,SAAU,CACRj+F,QAAS,CACPvf,MAAO,wBACT,EACAwJ,KAAM,CACJxJ,MAAO,wBACT,CACF,CACF,EACAuV,OAAQ,CACN4gB,IAAK,SACLsnF,WAAY,cACZ/wC,UAAW,cACXgxC,cAAe,6BACfC,qBAAsB,2BACtBC,mBAAoB,sCACpBtxF,aAAc,CACZuxF,WAAY,CACVC,IAAK,QACLr/E,KAAM,oBACR,CACF,CACF,EACA8nC,MAAO,CACLw3C,UAAW,0BACXr4F,SAAU,WACVqjC,OAAQ,SACRsU,MAAO,aACPjnC,OAAQ,YACRuwC,SAAU,SACVq3C,eAAgB,aAChBC,iBAAkB,iFAClBC,aAAc,yCACdv7D,KAAM,2FACR,EACAstB,aAAc,CACZ16D,OAAQ,CACNpW,IAAK,UACL8L,KAAM,cACNi0B,OAAQ,SACRqyB,KAAM,SACR,EACAzsC,SAAU,CACRmiB,QAAS,cACTk3E,mBAAoB,0BACtB,EACAppB,MAAO,CACLz6C,OAAQ,CACNnkB,IAAK,SACLs6C,KAAM,WACNd,KAAM,QACN9mB,MAAO,WACP1pD,IAAK,UACLywE,OAAQ,aACV,EACAj+D,OAAQ,QACRJ,OAAQ,SACRlK,OAAQ,QACR+pE,UAAW,eACX5lD,WAAY,SACd,EACA4yF,UAAW,mCACXC,WAAY,uCACZn/E,OAAQ,wBACRo/E,QAAS,2BACX,EACA5V,OAAQ,CACN/2F,OAAQ,CACNggB,KAAM,oCACR,EACA4sF,mBAAoB,sBACpBC,mBAAoB,mBACtB,EACA/1E,SAAU,CACRzoC,MAAO,aACPqgB,OAAQ,CACN+jD,QAAS,CACPpkE,MAAO,UACPuR,OAAQ,CACNvR,MAAO,UACPgB,KAAM,OACNgzC,YAAa,SACbjL,SAAU,cACVi8B,SAAU,aACVy5C,KAAM,SACNC,kBAAmB,mBACnBC,mBAAoB,eACpBC,UAAW,CACTD,mBAAoB,CAClB/5C,6BAA8B,aAC9BC,cAAe,WACfC,sBAAuB,UACvB+5C,oBAAqB,eACrBC,oBAAqB,eACrBC,gBAAiB,QACjBC,gBAAiB,QACjBC,cAAe,gBACfC,cAAe,eACjB,CACF,EACAC,QAAS,KACX,CACF,EACA96C,QAAS,CACPrkE,MAAO,UACPuR,OAAQ,CACNs0B,IAAK,OACLk4B,OAAQ,MACV,CACF,EACApsD,OAAQ,CACN3R,MAAO,QACPuR,OAAQ,CACNI,OAAQ,QACRitG,UAAW,CACT/4E,IAAK,OACLtB,KAAM,OACNvkC,MAAO,UACPgB,KAAM,OACNykC,aAAc,YACd1P,OAAQ,QACRxjB,WAAY,cACZw2B,SAAU,cACVq2E,YAAa,cACbp6C,SAAU,aACVC,YAAa,iBACbE,QAAS,UACX,CACF,EACA9kD,OAAQ,CACN+jD,QAAS,UACTC,QAAS,SACX,CACF,CACF,CACF,EACAg7C,SAAU,CACRnuC,UAAW,CACTouC,YAAa,aACbC,YAAa,iBACbC,eAAgB,oBAClB,EACAC,oBAAqB,8BACrBC,mBAAoB,qBACpBC,aAAc,qBACdC,cAAe,sBACfC,aAAc,qBACdC,aAAc,qBACdC,aAAc,qBACdC,WAAY,eACZ95C,MAAO,gBACPhhC,QAAS,SACX,EACAq3B,YAAa,CACXpa,MAAO,CACLlgB,QAAS,aACTq/B,QAAS,CACP2+C,cAAe,CACbh+C,KAAM,sBACR,EACAi+C,wBAAyB,CACvBj+C,KAAM,kCACR,EACAk+C,wBAAyB,CACvBl+C,KAAM,gCACR,EACAm+C,4BAA6B,CAC3Bn+C,KAAM,6BACR,EACAo+C,gBAAiB,CACfp+C,KAAM,wBACR,EACAiP,UAAW,CACTjP,KAAM,iBACR,EACAq+C,iBAAkB,CAChBr+C,KAAM,sBACR,EACAs+C,4BAA6B,CAC3Bt+C,KAAM,iCACR,EACAy9C,mBAAoB,CAClBz9C,KAAM,iCACR,EACAu+C,sBAAuB,CACrBv+C,KAAM,iCACR,EACAw+C,uBAAwB,CACtBx+C,KAAM,kCACR,EACA09C,aAAc,CACZ19C,KAAM,iCACR,EACA29C,cAAe,CACb39C,KAAM,kCACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,iCACR,EACA49C,aAAc,CACZ59C,KAAM,iCACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,iCACR,EACA69C,aAAc,CACZ79C,KAAM,iCACR,EACA89C,aAAc,CACZ99C,KAAM,iCACR,EACAiE,MAAO,CACLjE,KAAM,eACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,oDACNyW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,aACP6S,MAAO,kBACPiuG,KAAM,OACNC,IAAK,kBACL5qF,IAAK,MACLhT,QAAS,CACPykF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACd/+E,QAAS,kBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,gBACX,EACAi/E,UAAW,CACTj/E,QAAS,kBACX,EACAk/E,cAAe,CACbl/E,QAAS,eACX,CACF,EACA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,sBACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,eACT,EACA06F,gBAAiB,CACf16F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,uBACTq/E,YAAa,0BACb3+D,KAAM,CACJppC,QAAS,+IACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,+BACX,EACAi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B,CACrBz+C,KAAM,kCACR,EACA49C,aAAc,CACZ59C,KAAM,oBACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,kCACR,EACA69C,aAAc,CACZ79C,KAAM,oBACR,EACA89C,aAAc,CACZ99C,KAAM,oBACR,EACAiE,MAAO,CACLjE,KAAM,kBACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,iEACNyW,YAAa,OACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,aACP6S,MAAO,kBACPiuG,KAAM,OACNC,IAAK,kBACL5qF,IAAK,MACLhT,QAAS,CACPykF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACd/+E,QAAS,kBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,gBACX,EACAi/E,UAAW,CACTj/E,QAAS,kBACX,EACAk/E,cAAe,CACbl/E,QAAS,eACX,CACF,EACA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,+BACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,mBACT,EACA06F,gBAAiB,CACf16F,MAAO,0BACT,CACF,CACF,EACAsb,QAAS,uBACTq/E,YAAa,0CACb3+D,KAAM,CACJppC,QAAS,+LACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,gCACX,EACAi/E,UAAW,CACTj/E,QAAS,oBACTs/E,iBAAkB,uHAClB5+D,KAAM,CACJppC,QAAS,yFACX,CACF,EACA4nG,cAAe,CACbl/E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJppC,QAAS,+CACX,CACF,EACAioG,SAAU,CACR18F,SAAU,CACR0xC,IAAK,CACHm2B,QAAS,wGACX,CACF,EACA1qD,QAAS,kBACX,EACAw/E,YAAa,CACXx/E,QAAS,iBACX,EACAy/E,SAAU,CACR7jH,OAAQ,CACNokC,QAAS,WACT0gB,KAAM,oHACR,EACAg/D,KAAM,CACJ1/E,QAAS,OACT0gB,KAAM,0GACR,CACF,EACA0a,MAAO,CACLukD,eAAgB,kBAClB,EACAC,UAAW,CACTr2C,MAAO,CACLs2C,OAAQ,QACRC,SAAU,eACZ,CACF,EACAC,YAA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ACvBl+C,KAAM,gCACR,EACAm+C,4BAA6B,CAC3Bn+C,KAAM,gCACR,EACAo+C,gBAAiB,CACfp+C,KAAM,sBACR,EACAiP,UAAW,CACTjP,KAAM,sBACR,EACAq+C,iBAAkB,CAChBr+C,KAAM,8BACR,EACAs+C,4BAA6B,CAC3Bt+C,KAAM,wBACR,EACAy9C,mBAAoB,CAClBz9C,KAAM,wBACR,EACAu+C,sBAAuB,CACrBv+C,KAAM,kBACR,EACAw+C,uBAAwB,CACtBx+C,KAAM,mBACR,EACA09C,aAAc,CACZ19C,KAAM,kBACR,EACA29C,cAAe,CACb39C,KAAM,mBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,kBACR,EACA49C,aAAc,CACZ59C,KAAM,kBACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,kBACR,EACA69C,aAAc,CACZ79C,KAAM,kBACR,EACA89C,aAAc,CACZ99C,KAAM,kBACR,EACAiE,MAAO,CACLjE,KAAM,cACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,yBACNyW,YAAa,2BACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,oBACP6S,MAAO,uBACPiuG,KAAM,UACNC,IAAK,qBACL5qF,IAAK,QACLhT,QAAS,CACPykF,WAAY,YACZD,OAAQ,aACV,EACAqZ,eAAgB,CACd/+E,QAAS,uBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,qBACX,EACAi/E,UAAW,CACTj/E,QAAS,uBACX,EACAk/E,cAAe,CACbl/E,QAAS,oBACX,CACF,EACA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,qBACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,eACT,EACA06F,gBAAiB,CACf16F,MAAO,kCACT,CACF,CACF,EACAsb,QAAS,yBACTq/E,YAAa,2CACb3+D,KAAM,CACJppC,QAAS,iGACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,sCACT0gB,KAAM,CACJppC,QAAS,yKACX,CACF,EACA2nG,UAAW,CACTj/E,QAAS,qBACTs/E,iBAAkB,wHAClB5+D,KAAM,CACJppC,QAAS,iIACX,CACF,EACA4nG,cAAe,CACbl/E,QAAS,qCACTtb,MAAO,SACPg8B,KAAM,CACJppC,QAAS,+DACX,CACF,EACAioG,SAAU,CACR18F,SAAU,CACR0xC,IAAK,CACHm2B,QAAS,4FACX,CACF,EACA1qD,QAAS,kBACX,EACAw/E,YAAa,CACXx/E,QAAS,yBACX,EACAy/E,SAAU,CACR1hH,MAAO,SACPnC,OAAQ,CACNokC,QAAS,YACT0gB,KAAM,kHACR,EACAg/D,KAAM,CACJ1/E,QAAS,OACT0gB,KAAM,yGACR,CACF,EACAwkE,WAAY,CACVnnH,MAAO,oBACPmnH,WAAY,MACZW,cAAe,UACfjkF,SAAU,QACZ,EACAw5B,MAAO,CACLukD,eAAgB,kBAClB,EACAC,UAAW,CACTr2C,MAAO,CACLs2C,OAAQ,QACRC,SAAU,gBACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,iBACb,CACF,EACAhxC,UAAW,CACTixC,cAAe,iBACfC,mBAAoB,4BACpBC,kBAAmB,yBACnBC,0BAA2B,sCAC3BC,2BAA4B,kCAC5Bj+G,MAAO,wBACT,EACAk+G,KAAM,CACJryF,QAAS,kBACTuuB,OAAQ,CACN55B,SAAU,CACR4jF,OAAQ,CACNjuF,UAAW,oGACb,CACF,EACA4kG,SAAU,CACR5kG,UAAW,4BACXG,OAAQ,+CACV,EACA6nG,oCAAqC,mCACrCC,uBAAwB,gDACxBC,2BAA4B,uDAC5BC,2BAA4B,uDAC5BC,gCAAiC,yCACjChrG,QAAS,SACTF,OAAQ,SACR9B,KAAM,WACNwC,QAAS,WACT8B,SAAU,WACV7B,OAAQ,UACRsjC,KAAM,OACNa,SAAU,OACV/kC,MAAO,QACPo6C,MAAO,OACT,EACAjiC,OAAQ,CACN0uB,gBAAiB,mBACnB,EACAz5B,SAAU,CACRg+F,2BAA4B,6CAC9B,CACF,EACAxoF,QAAS,CACPyoF,yBAA0B,OAC1BC,iBAAkB,cAClBC,6BAA8B,sBAC9BC,kBAAmB,gBACnBC,eAAgB,cAChBC,0BAA2B,4BAC3BC,iBAAkB,+BAClBC,gBAAiB,4BACjBC,kBAAmB,+BACnBC,uBAAwB,oCACxBv5F,KAAM,CACJw5F,cAAe,kBACfC,cAAe,iBACfxnF,IAAK,CACHl8B,MAAO,GACPyiG,KAAM,6BACNkhB,OAAQ,SACV,EACA9/E,SAAU,CACR89D,OAAQ,UACRkiB,mBAAoB,yBACtB,CACF,CACF,EACAC,IAAK,CACHC,aAAc,qBACd9hF,QAAS,oBACX,CACF,EACAwiC,QAAS,CACPu/C,kBAAmB,6CACnBC,oBAAqB,mDACrBC,UAAW,yBACb,EACAC,oBAAqB,gBACrBC,OAAQ,OACRC,kBAAmB,2DAInBC,gBAAiB,iDACjBC,IAAK,KACLC,GAAI,KACJzyE,KAAM,WACN0yE,OAAQ,WACRC,UAAW,eACXC,eAAgB,kBAChB96F,UAAW,sBACXtU,OAAQ,WACRkoG,WAAY,2BACZl3C,MAAO,SACPq+C,aAAc,cACdC,SAAU,QACVvqF,QAAS,QACTvoB,KAAM,OACN+yG,YAAa,MACbnxF,WAAY,OACZ2uD,MAAO,YACPnuD,KAAM,SACNS,OAAQ,UACRmwF,YAAa,wBACbC,cAAe,kBACf90F,KAAM,SACNk0B,KAAM,WACN6gE,eAAgB,0BAChBC,gBAAiB,UACjBC,4BAA6B,2BAC7BC,kBAAmB,0CACnBC,0CAA2C,oEAC3CC,6BAA8B,yFAC9BC,mBAAoB,oCACpBC,aAAc,sDACd/0C,KAAM,QACNg1C,OAAQ,WACR3rG,OAAQ,WACR4M,MAAO,SAEPg/F,gBAAiB,mBACjBC,eAAgB,mBAChBpgH,IAAK,WACLqgH,WAAY,qBACZC,MAAO,UACPC,eAAgB,2CAChBnjG,QAAS,CACPuZ,IAAK,CACH64D,MAAO,CACL/0F,MAAO,uBACP2mB,MAAO,CACLwG,SAAU,qBACVnsB,KAAM,OACNi2D,YAAa,yBACbtlD,OAAQ,SACV,CACF,EACAo0G,cAAe,uBACfC,eAAgB,UAChBC,uBAAwB,wCACxBC,kBAAmB,4BACnBC,gBAAiB,wDACnB,CACF,EACAl7G,KAAM,CACJjL,MAAO,YACPomH,kBAAmB,wBACnBC,UAAW,0BACXb,aAAc,sDACd/H,WAAY,sDACZ6I,YAAa,MACf,EACA/pD,YAAa,CACXklD,YAAa,CACXv2G,MAAO,4CACT,EACAsxD,UAAW,CACT+pD,aAAc,0DACd3iE,YAAa,gBACbue,SAAU,gEACVqkD,UAAW,mBACXC,kBAAmB,wBACrB,EACAC,kBAAmB,CACjBpoG,OAAQ,mBACRqoG,kBAAmB,yBACnBC,qBAAsB,oCACtBC,qBAAsB,0BACtBC,mBAAoB,uBACpBC,mBAAoB,uBACpBC,aAAc,SACdC,WAAY,kCACZc,gBAAiB,cACjBC,gBAAiB,4CACnB,EACA7lE,MAAO,CACL+kE,eAAgB,oCAClB,EACArpH,OAAQ,CACNokC,QAAS,WACX,EACA0/E,KAAM,CACJ1/E,QAAS,MACX,EACAklF,WAAY,CACVj8G,MAAO,0CACPk8G,cAAe,4pBACjB,CACF,EACAC,cAAe,CACb9J,SAAU,YACVtwE,YAAa,CACXq6E,YAAa,mBACbC,qBAAsB,yBACtBC,cAAe,WACf9lG,OAAQ,QACR+lG,kBAAmB,SACnBC,cAAe,UACfn/E,QAAS,SACT1E,SAAU,eACVokF,aAAc,cACd12D,KAAM,eACR,CACF,EACA6kD,UAAW,CACThmC,SAAU,aACVliE,KAAM,aACNq9E,WAAY,kCACZtgF,KAAM,mBACN28G,cAAe,2BACflR,aAAc,iCAChB,EAEA4K,YAAa,mCAEb4G,aAAc,cAEdC,aAAc,gBAEdjyD,WAAY,oBAEZkyD,YAAa,iBAEbC,eAAgB,YAEhBC,WAAY,cAEZC,UAAW,kBAEXC,SAAU,kBAEVC,WAAY,aAEZC,eAAgB,WAEhBC,oBAAqB,aACvB,CACF,CAEA,EAAE,IAAIgC,IAAI,CAAC,SAASttH,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQoF,QAAU,CAChBw5G,YAAa,CACXC,WAAY,CACVtxG,MAAO,kBACPuxG,UAAW,gDACXC,GAAI,kBACN,EACAC,WAAY,CACVpjG,QAAS,iHACTsX,WAAY,WACd,EACA9tB,QAAS,WACT65G,QAAS,gBACTC,uBAAwB,CACtBv6B,MAAO,CACL7vE,OAAQ,qBACRqqG,SAAU,aACV5Z,OAAQ,eACRr6C,MAAO,cACPk0D,qBAAsB,kCACtBC,WAAY,eACZC,WAAY,cACd,CACF,EACAtwB,QAAS,CACPuwB,qBAAsB,wBACxB,EACAC,eAAgB,CACd/9F,IAAK,SACL0d,OAAQ,OACRvjB,QAAS,gCACX,EACA6jG,IAAK,CACHl3C,MAAO,CACLm3C,gBAAiB,CACfr9G,MAAO,iBACT,CACF,EACAs9G,iBAAkB,CAChBt9G,MAAO,wBACPu9G,SAAU,oDACVh2G,MAAO,CACLvG,KAAM,OACR,EACAw8G,SAAU,CACRj+F,QAAS,CACPvf,MAAO,mBACT,EACAwJ,KAAM,CACJxJ,MAAO,uBACT,CACF,CACF,EACAuV,OAAQ,CACN4gB,IAAK,WACLsnF,WAAY,eACZ/wC,UAAW,mBACXgxC,cAAe,gCACfC,qBAAsB,iCACtBC,mBAAoB,4BACpBtxF,aAAc,CACZuxF,WAAY,CACVC,IAAK,QACLr/E,KAAM,mBACR,CACF,CACF,EACA8nC,MAAO,CACLw3C,UAAW,+BACXr4F,SAAU,UACVqjC,OAAQ,WACRsU,MAAO,QACPjnC,OAAQ,SACRuwC,SAAU,QACVq3C,eAAgB,gBAChBC,iBAAkB,4FAClBC,aAAc,2CACdv7D,KAAM,gGACR,EACAstB,aAAc,CACZ16D,OAAQ,CACNpW,IAAK,YACL8L,KAAM,aACNi0B,OAAQ,SACRqyB,KAAM,UACR,EACAzsC,SAAU,CACRmiB,QAAS,YACTk3E,mBAAoB,gBACtB,EACAppB,MAAO,CACLz6C,OAAQ,CACNnkB,IAAK,WACLs6C,KAAM,UACNd,KAAM,OACN9mB,MAAO,QACP1pD,IAAK,YACLywE,OAAQ,YACV,EACAj+D,OAAQ,UACRJ,OAAQ,OACRlK,OAAQ,WACR+pE,UAAW,aACX5lD,WAAY,WACd,EACA4yF,UAAW,oCACXC,WAAY,8CACZn/E,OAAQ,oBACRo/E,QAAS,gCACX,EACA5V,OAAQ,CACN/2F,OAAQ,CACNggB,KAAM,kCACR,EACA4sF,mBAAoB,yBACpBC,mBAAoB,wBACtB,EACA/1E,SAAU,CACRzoC,MAAO,WACPqgB,OAAQ,CACN+jD,QAAS,CACPpkE,MAAO,SACPuR,OAAQ,CACNvR,MAAO,QACPgB,KAAM,QACNgzC,YAAa,OACbjL,SAAU,eACVi8B,SAAU,iBACVy5C,KAAM,SACNC,kBAAmB,uBACnBC,mBAAoB,WACpBC,UAAW,CACTD,mBAAoB,CAClB/5C,6BAA8B,SAC9BC,cAAe,eACfC,sBAAuB,UACvB+5C,oBAAqB,cACrBC,oBAAqB,cACrBC,gBAAiB,UACjBC,gBAAiB,UACjBC,cAAe,QACfC,cAAe,OACjB,CACF,EACAC,QAAS,KACX,CACF,EACA96C,QAAS,CACPrkE,MAAO,eACPuR,OAAQ,CACNs0B,IAAK,OACLk4B,OAAQ,MACV,CACF,EACApsD,OAAQ,CACN3R,MAAO,UACPuR,OAAQ,CACNI,OAAQ,UACRitG,UAAW,CACT/4E,IAAK,OACLtB,KAAM,OACNvkC,MAAO,QACPgB,KAAM,QACNykC,aAAc,YACd1P,OAAQ,SACRxjB,WAAY,WACZw2B,SAAU,eACVq2E,YAAa,YACbp6C,SAAU,gCACVC,YAAa,eACbE,QAAS,YACX,CACF,EACA9kD,OAAQ,CACN+jD,QAAS,SACTC,QAAS,cACX,CACF,CACF,CACF,EACAg7C,SAAU,CACRnuC,UAAW,CACTouC,YAAa,gBACbC,YAAa,mBACbC,eAAgB,oBAClB,EACAC,oBAAqB,yBACrBC,mBAAoB,oBACpBC,aAAc,cACdC,cAAe,eACfC,aAAc,cACdC,aAAc,cACdE,WAAY,kBACZ95C,MAAO,gBACT,EACA3J,YAAa,CACXpa,MAAO,CACLlgB,QAAS,oBACTq/B,QAAS,CACP2+C,cAAe,CACbh+C,KAAM,kBACR,EACAi+C,wBAAyB,CACvBj+C,KAAM,yBACR,EACAk+C,wBAAyB,CACvBl+C,KAAM,+BACR,EACAm+C,4BAA6B,CAC3Bn+C,KAAM,wBACR,EACAo+C,gBAAiB,CACfp+C,KAAM,iBACR,EACAiP,UAAW,CACTjP,KAAM,eACR,EACAq+C,iBAAkB,CAChBr+C,KAAM,sBACR,EACAs+C,4BAA6B,CAC3Bt+C,KAAM,2BACR,EACAy9C,mBAAoB,CAClBz9C,KAAM,+BACR,EACAu+C,sBAAuB,CACrBv+C,KAAM,qBACR,EACAw+C,uBAAwB,CACtBx+C,KAAM,sBACR,EACA09C,aAAc,CACZ19C,KAAM,qBACR,EACA29C,cAAe,CACb39C,KAAM,sBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,qBACR,EACA49C,aAAc,CACZ59C,KAAM,qBACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,qBACR,EACA69C,aAAc,CACZ79C,KAAM,qBACR,EACAiE,MAAO,CACLjE,KAAM,gBACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,8DACNyW,YAAa,YACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,aACP6S,MAAO,kBACPiuG,KAAM,OACNC,IAAK,kBACL5qF,IAAK,MACLhT,QAAS,CACPykF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACd/+E,QAAS,kBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,gBACX,EACAi/E,UAAW,CACTj/E,QAAS,kBACX,EACAk/E,cAAe,CACbl/E,QAAS,eACX,CACF,EACA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,uBACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,eACT,EACA06F,gBAAiB,CACf16F,MAAO,2BACT,CACF,CACF,EACAsb,QAAS,6BACTq/E,YAAa,8BACb3+D,KAAM,CACJppC,QAAS,8IACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,8BACX,EACAi/E,UAAW,CACTj/E,QAAS,yBACTs/E,iBAAkB,sGAClB5+D,KAAM,CACJppC,QAAS,qFACX,CACF,EACA4nG,cAAe,CACbl/E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJppC,QAAS,+CACX,CACF,EACAioG,SAAU,CACR18F,SAAU,CACR0xC,IAAK,CACHm2B,QAAS,yFACX,CACF,EACA1qD,QAAS,eACX,EACAw/E,YAAa,CACXx/E,QAAS,gBACX,EACAy/E,SAAU,CACR7jH,OAAQ,CACNokC,QAAS,UACT0gB,KAAM,gGACR,EACAg/D,KAAM,CACJ1/E,QAAS,SACT0gB,KAAM,wFACR,CACF,EACA0a,MAAO,CACLukD,eAAgB,q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,EACAy9C,mBAAoB,CAClBz9C,KAAM,2BACR,EACAu+C,sBAAuB,CACrBv+C,KAAM,2BACR,EACAw+C,uBAAwB,CACtBx+C,KAAM,4BACR,EACA09C,aAAc,CACZ19C,KAAM,2BACR,EACA29C,cAAe,CACb39C,KAAM,4BACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,2BACR,EACA49C,aAAc,CACZ59C,KAAM,2BACR,EACA0+C,sBAAuB,CACrB1+C,KAAM,2BACR,EACA69C,aAAc,CACZ79C,KAAM,2BACR,EACA89C,aAAc,CACZ99C,KAAM,2BACR,EACAiE,MAAO,CACLjE,KAAM,gBACR,EACA2+C,qBAAsB,CACpB3+C,KAAM,oDACNyW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACP7gH,MAAO,aACP6S,MAAO,kBACPiuG,KAAM,OACNC,IAAK,kBACL5qF,IAAK,MACLhT,QAAS,CACPykF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACd/+E,QAAS,kBACX,EACAg/E,mBAAoB,CAClBh/E,QAAS,gBACX,EACAi/E,UAAW,CACTj/E,QAAS,kBACX,EACAk/E,cAAe,CACbl/E,QAAS,eACX,CACF,EACA++E,eAAgB,CACdn9E,SAAU,CACR7jC,MAAO,sBACPohH,SAAU,CACR9uG,QAAS,CACPqU,MAAO,eACT,EACA06F,gBAAiB,CACf16F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,wBACTq/E,YAAa,0BACb3+D,KAAM,CACJppC,QAAS,6HACX,CACF,EACA0nG,mBAAoB,CAClBh/E,QAAS,wBACX,EACAi/E,UAAW,CACTj/E,QAAS,6CACTs/E,iBAAkB,8GAClB5+D,KAAM,CACJppC,QAAS,oHACX,CACF,EACA4nG,cAAe,CACbl/E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJppC,QAAS,+CACX,CACF,EACAioG,SAAU,CACR18F,SAAU,CACR0xC,IAAK,CACHm2B,QAAS,2FACX,CACF,EACA1qD,QAAS,gBACX,EACAw/E,YAAa,CACXx/E,QAAS,kBACX,EACAy/E,SAAU,CACR7jH,OAAQ,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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\":45,\"components/FieldImage.vue\":46,\"components/FieldLink.vue\":47,\"components/FieldMedia.vue\":48,\"components/FieldText.vue\":49,\"components/FieldVue.vue\":50}],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\":241}],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\":64}],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\":65}],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\":186}],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\":66}],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\":67}],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\":63,\"mixins\":165,\"store/application\":177}],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\":70}],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\":172}],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\":71}],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\":72}],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\":149,\"map/interactions/pickfeatureinteraction\":150,\"services/data\":171,\"services/gui\":172}],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\":73}],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\":74}],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\":75}],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\":195,\"utils/getCatalogLayerById\":202}],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\":76}],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 this.state.validate.message = this.state.info;\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\":128,\"utils/toRawType\":241}],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\":77}],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\":78}],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\":79}],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\":80}],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\":81}],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 rgba(0,0,0,.5);border-radius: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 _MapAddLayer = require('components/MapAddLayer.vue');\n\nvar _MapAddLayer2 = _interopRequireDefault(_MapAddLayer);\n\nvar _ChangeMap = require('components/ChangeMap.vue');\n\nvar _ChangeMap2 = _interopRequireDefault(_ChangeMap);\n\nvar _MetadataProject = require('components/MetadataProject.vue');\n\nvar _MetadataProject2 = _interopRequireDefault(_MetadataProject);\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 MapAddLayer: _MapAddLayer2.default,\n ChangeMap: _ChangeMap2.default,\n MetadataProject: _MetadataProject2.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 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 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 this.$refs['menu-toggler'].checked = false;\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n this.$refs['menu-toggler'].checked = false;\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 this.$refs['menu-toggler'].checked = false;\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',{staticStyle:{\"max-height\":\"20px\"},attrs:{\"src\":item.img,\"title\":item.img_title,\"alt\":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('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}})])])]):_vm._e(),_vm._v(\" \"),_c('map-add-layer'),_vm._v(\" \"),_c('change-map'),_vm._v(\" \"),_c('metadata-project')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ChangeMap.vue\":42,\"components/MapAddLayer.vue\":83,\"components/MetadataProject.vue\":86,\"components/UserMessage.vue\":110,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"g3w-panel\":130,\"services/gui\":172,\"store/application\":177,\"utils/getUniqueDomId\":216,\"utils/promisify\":231,\"utils/sameOrigin\":236,\"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 _layers = _layers.concat(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\":126,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180,\"utils/getCatalogLayerById\":202,\"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\":78,\"g3w-i18n\":128,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180,\"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() : 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\":126,\"g3w-i18n\":128,\"services/gui\":172,\"shp-write\":\"shp-write\",\"store/application\":177,\"utils/downloadFile\":199,\"utils/getCatalogLayerById\":202,\"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\":126,\"mixins/click\":161,\"services/gui\":172,\"store/application\":177,\"utils/getCatalogLayerById\":202,\"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 layer && _application2.default.highlightlayers && 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))?_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\":126,\"mixins/click\":161,\"services/gui\":172,\"store/application\":177,\"utils/downloadFile\":199,\"utils/getCatalogLayerById\":202}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-4c2f2554]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-4c2f2554]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-4c2f2554]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-4c2f2554]:hover{opacity:1}.menu-item-image img[data-v-4c2f2554]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-4c2f2554]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-4c2f2554]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-4c2f2554]{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: 'change-map',\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-4c2f2554\"\n\n},{\"services/gui\":172,\"store/application\":177,\"store/projections\":179,\"utils/XHR\":180,\"utils/getListableProjects\":208,\"vueify/lib/insert-css\":2}],43:[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}\")\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}],44:[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}],45:[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\":165,\"vueify/lib/insert-css\":2}],46:[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\"},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\":43,\"utils/toRawType\":241,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],47:[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\":43,\"vueify/lib/insert-css\":2}],48:[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\":165}],49:[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\":43,\"vueify/lib/insert-css\":2}],50:[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\":43}],51:[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\":53,\"components/FormHeader.vue\":54}],52:[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\":69}],53:[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},{}],54:[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},{}],55:[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},{}],56:[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\":177,\"utils/getUniqueDomId\":216}],57:[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}],58:[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}],59:[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},{}],60:[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\":197,\"vueify/lib/insert-css\":2}],61:[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\":62,\"services/data\":171,\"services/gui\":172,\"utils/convertFeatureToGEOJSON\":185,\"utils/getFormDataExpressionRequestFromFeature\":207,\"utils/getUniqueDomId\":216,\"utils/noop\":226,\"vueify/lib/insert-css\":2}],62:[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\":68,\"gui/fields/fields\":3,\"store/application\":177,\"vueify/lib/insert-css\":2}],63:[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\":165,\"vueify/lib/insert-css\":2}],64:[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\":216}],65:[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}],66:[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\":165,\"store/application\":177,\"utils/getUniqueDomId\":216}],67:[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}],68:[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}],69:[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\":68,\"vueify/lib/insert-css\":2}],70:[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}],71:[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\":216}],72:[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\":128,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":172,\"utils/getUniqueDomId\":216}],73:[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}],74:[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\":216}],75:[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}],76:[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\":155,\"mixins\":165,\"services/gui\":172,\"store/application\":177,\"utils/createSingleFieldParameter\":195,\"utils/getCatalogLayerById\":202,\"vueify/lib/insert-css\":2}],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-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}],78:[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}],79:[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}],80:[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}],81:[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\":165,\"utils/getUniqueDomId\":216}],82:[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\":177,\"utils/copyUrl\":189,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-2e549814]{margin:10px 0;position:relative;border:2px dashed #97a1a8}#addcustomlayer h4[data-v-2e549814],#addcustomlayer p[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8;font-family:Arial}#addcustomlayer div[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8}#addcustomlayer input[data-v-2e549814]{position:absolute;margin:0;padding:0;width:100%;height:100%;outline:none;opacity:0;cursor:pointer}.g3w-add-wms-url-message[data-v-2e549814]{font-weight:700;color:#000}.g3w-wmsurl-error[data-v-2e549814]{background-color:red}.g3w-wmsurl-already-added[data-v-2e549814]{color:inherit;font-weight:400;display:inline-block}#add_custom_url_wms_input[data-v-2e549814]::placeholder{font-size:85%;opacity:.5}.g3w-wms-panel-title[data-v-2e549814]{font-size:1.2em;font-weight:700;margin-bottom:10px}button.wms-add-layer-button[data-v-2e549814]{width:100%;margin-top:10px}.g3w-wms-external-panel-layer-added-message[data-v-2e549814]{font-weight:700;color:red;margin:5px 0}\")\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 _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 _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toArray(arr) { return Array.isArray(arr) ? arr : 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\nexports.default = {\n name: 'map-add-layer',\n\n data: function data() {\n\n var crs = _application2.default.project.getProjection().getCode();\n\n if (!_g3wConstants.EPSG.includes(crs)) {\n _g3wConstants.EPSG.unshift(crs);\n }\n\n return {\n layer_type: undefined,\n wms_panel: false,\n wms_urls: [],\n url: null,\n id: null,\n vectorLayer: null,\n options: _g3wConstants.EPSG,\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n csv: {\n valid: false,\n loading: false,\n headers: [],\n x: null,\n y: null,\n separators: [',', ';'],\n separator: ','\n },\n layer: {\n name: null,\n type: null,\n crs: null,\n mapCrs: null,\n color: {\n hex: '#194d33',\n rgba: { r: 25, g: 77, b: 51, a: 1 },\n a: 1\n },\n data: null,\n visible: true,\n title: null,\n id: null,\n external: true\n },\n name: undefined,\n title: null,\n methods: [],\n layers: [],\n selectedlayers: [],\n projections: [],\n epsg: null,\n added: false,\n error: false,\n error_message: ''\n };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n csv_extension: function csv_extension() {\n return 'csv' === this.layer.type;\n },\n add: function add() {\n return this.layer.data || this.csv.valid;\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n },\n onChangeFile: function () {\n var _ref = _asyncToGenerator(function* (evt) {\n var _this = this;\n\n var reader = new FileReader();\n var name = evt.target.files[0].name;\n var type = name.split('.').at(-1).toLowerCase();\n var input_file = $(this.$refs.input_file);\n\n if (!input_file.attr('accept').split(',').includes('.' + type)) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n this.error_message = '';\n\n this.layer.mapCrs = _gui2.default.getService('map').getEpsg();\n this.layer.name = name;\n this.layer.title = name;\n this.layer.id = name;\n this.layer.type = type;\n this.layer.data = yield new Promise(function (resolve) {\n if (['zip', 'kmz'].includes(_this.layer.type)) {\n _this.layer.crs = 'EPSG:4326';\n var data = evt.target.files[0];\n input_file.val(null);\n return resolve(data);\n }\n\n reader.onload = function (evt) {\n if ('csv' === _this.layer.type) {\n input_file.val(null);\n\n var _evt$target$result$sp = evt.target.result.split(/\\r\\n|\\n/).filter(function (row) {\n return row;\n }),\n _evt$target$result$sp2 = _toArray(_evt$target$result$sp),\n headers = _evt$target$result$sp2[0],\n values = _evt$target$result$sp2.slice(1);\n\n var handle_csv_headers = function handle_csv_headers(separator) {\n _this.csv.loading = true;\n var csv_headers = headers.split(separator);\n var len = csv_headers.length;\n _this.csv.headers = len > 1 ? csv_headers : [];\n _this.csv.fields = len > 1 ? csv_headers : [];\n _this.csv.x = len > 1 ? csv_headers[0] : _this.csv.x;\n _this.csv.y = len > 1 ? csv_headers[1] : _this.csv.y;\n _this.vectorLayer = len > 1 ? _this.vectorLayer : null;\n _this.csv.valid = len > 1;\n if (len <= 1) {\n _this.fields.splice(0);\n }\n _this.csv.loading = false;\n return len > 1 ? {\n headers: csv_headers,\n separator: separator,\n x: _this.csv.x,\n y: _this.csv.y,\n values: values\n } : null;\n };\n _this.$watch('csv.separator', function (s) {\n return _this.layer.data = handle_csv_headers(s);\n });\n return resolve(handle_csv_headers(_this.csv.separator));\n }\n\n var data = evt.target.result;\n input_file.val(null);\n resolve(data);\n };\n reader.readAsText(evt.target.files[0]);\n });\n\n if ('csv' === this.layer.type) {\n return;\n }\n\n (this.fields || []).splice(0);\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield this.$nextTick();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n if (this.vectorLayer) {\n this.fields = this.vectorLayer.get('_fields');\n }\n });\n\n function onChangeFile(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onChangeFile;\n }(),\n addLayer: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = 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_panel && (data.wms[this.url] || []).some(function (wms) {\n return wms.layers.length === _this2.selectedlayers.length && _this2.selectedlayers.every(function (l) {\n return wms.layers.includes(l);\n });\n });\n\n if (found) {\n this.showWmsLayersPanel(this.url);\n }\n\n var config = {\n url: this.url,\n name: name,\n layers: this.selectedlayers,\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_panel) {\n this.clearPanel();\n $('#modal-addlayer').modal('hide');\n }\n }\n\n if ('file' === this.layer_type && (this.layer.data || this.csv.valid)) {\n try {\n yield _projections2.default.registerProjection(this.layer.crs);\n } catch (e) {\n this.error_message = 'sdk.errors.' + e;\n console.warn(e);\n return;\n }\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield _gui2.default.getService('map').addExternalLayer(this.vectorLayer, {\n crs: this.layer.crs,\n type: this.layer.type,\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.clearFile();\n } catch (e) {\n this.error_message = 'sdk.errors.add_external_layer';\n }\n }\n this.loading = false;\n });\n\n function addLayer() {\n return _ref2.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n clearFile: function clearFile() {\n this.error_message = '';\n this.loading = false;\n this.layer.name = null;\n this.layer.title = null;\n this.layer.id = null;\n this.layer.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.vectorLayer = null;\n this.fields = [];\n this.field = null;\n this.csv.valid = false;\n },\n clearPanel: function clearPanel() {\n this.wms_panel = false;\n this.selectedlayers = [];\n this.name = null;\n this.loading = false;\n },\n addWmsURL: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n this.loading = true;\n var wms = { url: this.url, id: this.id };\n var found = this.wms_urls.find(function (l) {\n return l.url == _this3.url || l.id == wms.id;\n });\n var error = false;\n\n if (found) {\n this.showWmsLayersPanel(this.url);\n } else {\n try {\n var response = yield this.getWMSLayers(this.url);\n\n if (!response.result) {\n throw 'invalid response';\n }\n var data = this.getLocalWMSData();\n this.wms_urls.push(wms);\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n response.wmsurl = wms.url;\n this._showWmsLayersPanel(response);\n } catch (e) {\n console.warn(e);\n error = true;\n }\n }\n this.error = error;\n this.loading = false;\n });\n\n function addWmsURL() {\n return _ref3.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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n layers = _ref4.layers,\n name = _ref4.name,\n _ref4$epsg = _ref4.epsg,\n epsg = _ref4$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref4$epsg,\n _ref4$position = _ref4.position,\n position = _ref4$position === undefined ? 'top' : _ref4$position,\n opacity = _ref4.opacity,\n _ref4$visible = _ref4.visible,\n visible = _ref4$visible === undefined ? true : _ref4$visible;\n\n var map = _gui2.default.getService('map');\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var projection = ol.proj.get(epsg);\n\n var promise = new Promise(function (res, rej) {\n var wmslayer = new RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: projection, url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n map.addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n\n return promise;\n },\n getWMSLayers: function () {\n var _ref5 = _asyncToGenerator(function* (url) {\n try {\n return yield _data2.default.getData('ows:wmsCapabilities', { inputs: { url: url }, outputs: false });\n } catch (e) {\n console.warn(e);\n }\n return {\n result: false,\n layers: [],\n abstract: null,\n methods: [],\n title: null\n };\n });\n\n function getWMSLayers(_x3) {\n return _ref5.apply(this, arguments);\n }\n\n return getWMSLayers;\n }(),\n _showWmsLayersPanel: function _showWmsLayersPanel() {\n var _this4 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.wms_panel = true;\n this.wms_config = config;\n var _wms_config = this.wms_config,\n layers = _wms_config.layers,\n title = _wms_config.title,\n methods = _wms_config.methods,\n wmsurl = _wms_config.wmsurl;\n\n try {\n this.url = methods.GetMap.urls.find(function (u) {\n return 'Get' === u.type;\n }).url;\n } catch (e) {\n console.warn(e);\n this.url = wmsurl;\n }\n\n this.title = title;\n\n this.layerProjections = {};\n\n layers.forEach(function (_ref6) {\n var name = _ref6.name,\n crss = _ref6.crss,\n title = _ref6.title;\n\n _this4.layerProjections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n });\n\n this.layers = layers;\n },\n showWmsLayersPanel: function () {\n var _ref7 = _asyncToGenerator(function* (url) {\n var error = false;\n try {\n this.loading = true;\n var d = yield this.getWMSLayers(url);\n error = !d.result;\n if (!error) {\n d.wmsurl = url;\n this._showWmsLayersPanel(d);\n }\n } catch (e) {\n console.warn(e);\n }\n this.error = error;\n this.loading = false;\n });\n\n function showWmsLayersPanel(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return showWmsLayersPanel;\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 watch: {\n 'csv.x': function csvX(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.x = value;\n }\n },\n 'csv.y': function csvY(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.y = value;\n }\n },\n selectedlayers: function selectedlayers() {\n var _this5 = 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.layerProjections[layers.at(-1)].crss[0];\n this.projections = this.layerProjections[layers.at(-1)].crss;\n } else {\n this.projections = this.projections.filter(function (p) {\n return _this5.layerProjections[layers.at(-1)].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref9) {\n var name = _ref9.name;\n return _this6.layerProjections[name].crss.includes(_this6.epsg);\n });\n });\n\n function epsg() {\n return _ref8.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function layer_type(type) {\n if ('file' == type) {\n this.clearPanel();\n }\n },\n wms_panel: function wms_panel(enabled) {\n if (enabled) {\n this.name = this.wms_config.title + ' ' + (0, _getUniqueDomId.getUniqueDomId)();\n }\n }\n },\n\n created: function created() {\n this.layer.crs = _application2.default.project.getProjection().getCode();\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n yield this.$nextTick();\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this7.layer_type = undefined;\n _this7.clearFile();\n _this7.clearPanel();\n });\n\n yield _gui2.default.isReady();\n\n var map = _gui2.default.getService('map');\n\n yield map.isReady();\n\n this.deleteWms = this.deleteWms.bind(this);\n\n 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 map.on('change-layer-position-map', function () {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref11.id,\n position = _ref11.position;\n\n return _this7.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref12.id,\n opacity = _ref12.opacity;\n\n return _this7.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref13.id,\n visible = _ref13.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 _ref10.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.clearFile();\n this.clearPanel();\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',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.wms_panel),expression:\"wms_panel\"}],staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"add_custom_url_wms_input\",\"title\":\"required\"}},[_vm._v(\"URL\")]),_vm._v(\" \"),_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('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(\" \"),_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_panel)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.wms_panel),expression:\"wms_panel\"}],staticClass:\"form-group\"},[_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._e(),_vm._v(\" \"),(!_vm.wms_panel)?_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.wms_panel || !(_vm.id || '').trim() || !(_vm.url || '').trim().match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g)),expression:\"wms_panel || !(id || '').trim() || !(url || '').trim().match(/(http(s)?:\\\\/\\\\/.)?(www\\\\.)?[-a-zA-Z0-9@:%._\\\\+~#=]{2,256}\\\\.[a-z]{2,6}\\\\b([-a-zA-Z0-9@:%_\\\\+.~#?&//=]*)/g)\"}],staticClass:\"btn btn-block btn-success form-group\",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_panel)?_c('div',{staticClass:\"form-group\"},_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\"}},[_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){$event.stopPropagation();return _vm.showWmsLayersPanel(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){$event.stopPropagation();return _vm.deleteWmsUrl(wms.id)}}})]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(wms.url))])])}),0):_vm._e(),_vm._v(\" \"),(_vm.wms_panel)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"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\":\"-5px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.clearPanel}},[_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(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.wms_config.abstract),expression:\"wms_config.abstract\"}]})]):_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:('selectedlayers'),expression:\"'selectedlayers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(layer){return _c('option',{key:layer.name,domProps:{\"value\":layer.name}},[_vm._v(_vm._s(layer.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(proj){return _c('option',{key:proj,domProps:{\"value\":proj}},[_vm._v(_vm._s(proj))])}),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._v(\" \"),(_vm.added)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}],staticClass:\"g3w-wms-external-panel-layer-added-message\"}):_vm._e()]):_vm._e()]:('file' === _vm.layer_type)?[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(['kmz', 'zip'].includes(_vm.layer.type)),expression:\"['kmz', 'zip'].includes(layer.type)\"}],staticClass:\"form-group\"},[_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.$set(_vm.layer, \"crs\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.options),function(option){return _c('option',{domProps:{\"value\":option}},[_vm._v(_vm._s(option))])}),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('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._v(\" \"),_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%\",\"margin\":\"auto\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}}),_vm._v(\" \"),_c('form',{attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"title\":\" \",\"accept\":\".zip,.geojson,.GEOJSON,.kml,.kmz,.KMZ,.KML,.json,.gpx,.gml,.csv\"},on:{\"change\":function($event){return _vm.onChangeFile($event)}}}),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}),_vm._v(\" \"),(_vm.layer.name)?_c('h4',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.layer.name))]):_vm._e(),_vm._v(\" \"),_c('div',[_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('p',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"[.gml, .geojson, .kml, .kmz ,.gpx, .csv, .zip(shapefile)]\")])]),_vm._v(\" \"),(_vm.csv_extension)?_c('div',{staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"select_field\"},[_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.$set(_vm.csv, \"separator\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.separators),function(separator){return _c('option',{key:separator,domProps:{\"value\":separator}},[_vm._v(_vm._s(separator))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_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\"},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.$set(_vm.csv, \"x\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_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\"},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.$set(_vm.csv, \"y\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.fields || 0 === _vm.fields.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}],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(field){return _c('option',{key:field,domProps:{\"value\":field}},[_vm._v(_vm._s(field))])})],2)])]:_vm._e()],2),_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\"}}):_vm._e(),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-error\"},[_vm._v(_vm._s(_vm.$t('server_error')))]):(_vm.added)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-already-added\"},[_vm._v(\"⚠️ \"+_vm._s(_vm.$t('sidebar.wms.url_already_added')))]):_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'\"},{name:\"disabled\",rawName:\"v-disabled\",value:('wms' === _vm.layer_type ? 0 === _vm.selectedlayers.length : !_vm.add),expression:\"'wms' === layer_type ? 0 === selectedlayers.length : !add\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2e549814\"\n\n},{\"g3w-constants\":125,\"map/layers/imagelayer\":154,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"store/projections\":179,\"utils/createVectorLayerFromFile\":196,\"utils/getUniqueDomId\":216,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],84:[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\":93,\"g3w-i18n\":128,\"services/gui\":172,\"store/application\":177,\"store/plugins\":178,\"store/projections\":179,\"utils/addZValueToOLFeatureGeometry\":181,\"utils/convertSingleMultiGeometry\":187,\"utils/flattenObject\":200,\"utils/getCatalogLayerById\":202,\"utils/getCatalogLayers\":203,\"utils/getUniqueDomId\":216,\"utils/isPointGeometryType\":224,\"vueify/lib/insert-css\":2}],85:[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\":172,\"utils/debounce\":197,\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-0e556a34]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-0e556a34]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-0e556a34]{color:var(--skin-success)}#project-catalog[data-v-0e556a34]{background:transparent}.modal-header.nav[data-v-0e556a34]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-0e556a34]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-0e556a34]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-0e556a34]{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-0e556a34]{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-0e556a34]{text-align:center}.modal-header.nav li a i[data-v-0e556a34]{margin-right:5px}.metadata-item-tab[data-v-0e556a34]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-0e556a34]{position:absolute;bottom:10px;right:auto}.row-info[data-v-0e556a34]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-0e556a34]{font-weight:700}.h_100[data-v-0e556a34]{height:100%}#project-catalog[data-v-0e556a34]{position:relative;overflow:auto}.nav-tabs[data-v-0e556a34]{border-bottom:0 none}.metadata-label[data-v-0e556a34]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-0e556a34],.metadata-contact-label[data-v-0e556a34]{font-weight:700}.contact-icon[data-v-0e556a34]{margin-right:3px}.metadata-contact-row[data-v-0e556a34]{margin-bottom:5px}.layer_header[data-v-0e556a34]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-0e556a34]{font-weight:700}.layer-header-icon[data-v-0e556a34]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-0e556a34]{position:absolute;right:5px;color:#999}.layer-row[data-v-0e556a34]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-0e556a34]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li.active>a[data-v-0e556a34]:focus,.layer-nav-tabs>li.active>a[data-v-0e556a34]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-0e556a34]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li>a[data-v-0e556a34]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-0e556a34]: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-0e556a34]:after,.layer-nav-tabs>li:hover>a[data-v-0e556a34]:after{transform:scale(1)}.layer-tab-content[data-v-0e556a34]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-0e556a34]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-0e556a34],.metadata-nav-tabs>li>a[data-v-0e556a34]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-0e556a34]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-0e556a34]:hover{background-color:transparent}.credit-title-logo[data-v-0e556a34]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-0e556a34]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-0e556a34]{width:50%!important}.customcredits[data-v-0e556a34]{margin-bottom:10px;margin-top:5px;text-align:center}#address-credits span[data-v-0e556a34]{padding-left:3px}\")\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 _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: \"metadata-project\",\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 };\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 },\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};\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\":\"2px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_c('b',{class:_vm.$fa('marker'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mobile'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"+39 393 8534336\")])]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mail'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_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._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-0e556a34\"\n\n},{\"store/application\":177,\"utils/XHR\":180,\"vueify/lib/insert-css\":2}],87:[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\":88,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins/resize\":167,\"services/gui\":172,\"store/application\":177,\"utils/downloadFile\":199,\"utils/getCatalogLayerById\":202,\"utils/getResolutionFromScale\":214,\"utils/getScaleFromResolution\":215,\"utils/printAtlas\":230,\"utils/promisify\":231,\"vueify/lib/insert-css\":2}],88:[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\":172,\"store/application\":177,\"vueify/lib/insert-css\":2}],89:[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\":128,\"services/gui\":172,\"vueify/lib/insert-css\":2}],90:[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\":125,\"g3w-i18n\":128,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180,\"utils/createFilterFromString\":191,\"utils/getCatalogLayerById\":202,\"utils/getUniqueDomId\":216,\"vueify/lib/insert-css\":2}],91:[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}\")\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 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 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 layer.features.length === 1;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function addRemoveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n },\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n index = _ref2.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 _this = 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 (_this.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 _this2 = 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 _this2.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 = _this2.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this2.$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 _ref3 = _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(_x6, _x7, _x8) {\n return _ref3.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 _ref4 = _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(_x9, _x10, _x11, _x12) {\n return _ref4.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 },\n\n watch: {\n 'state.layers': function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this3 = 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 _this3.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this3.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 _this3.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this3.$options.service.postRender(_this3.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref5.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this4 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this4.$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){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){return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":_vm.collapseSidebar}},[_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 \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!layer.rawdata),expression:\"!layer.rawdata\"}],staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\")])]),_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 ))?_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 || (layer.source && layer.source.type !== 'wms'))\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)?[_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(\" \"),_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\":95,\"components/QueryResultsHeaderFeatureActionsBody.vue\":98,\"components/QueryResultsHeaderFeatureBody.vue\":99,\"components/QueryResultsTableAttributeFieldValue.vue\":100,\"mixins\":165,\"services/gui\":172,\"utils/getCatalogLayerById\":202,\"utils/getMapLayersByFilter\":209,\"utils/throttle\":240,\"utils/toRawType\":241,\"vueify/lib/insert-css\":2}],92:[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};\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('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{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 && _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\":128}],93:[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},{}],94:[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},{}],95:[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\":172,\"utils/getAlphanumericPropertiesFromFeature\":201,\"utils/getCatalogLayerById\":202,\"utils/parsers\":229}],96:[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\":128,\"store/application\":177,\"vueify/lib/insert-css\":2}],97:[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\":92,\"vueify/lib/insert-css\":2}],98:[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){return _vm.trigger({id:'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){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\":97,\"mixins\":165,\"vueify/lib/insert-css\":2}],99:[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\":97,\"mixins\":165,\"vueify/lib/insert-css\":2}],100:[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\":47,\"components/FieldVue.vue\":50,\"mixins\":165}],101:[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\":44,\"components/QueryResultsActionDownloadFormats.vue\":94,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-eventbus\":126,\"mixins\":165,\"services/gui\":172,\"utils/getCatalogLayerById\":202,\"utils/throttle\":240,\"vueify/lib/insert-css\":2}],102:[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}],103:[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\":101,\"components/Relations.vue\":102,\"g3w-constants\":125,\"g3w-eventbus\":126,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180,\"utils/createRelationsUrl\":193,\"utils/createSingleFieldParameter\":195,\"utils/getAlphanumericPropertiesFromFeature\":201,\"utils/getCatalogLayerById\":202}],104:[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\":90,\"components/Tool.vue\":109,\"g3w-i18n\":128,\"g3w-panel\":130,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/createFilterFromString\":191,\"utils/getCatalogLayerById\":202,\"vueify/lib/insert-css\":2}],105:[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 allvalue: _g3wConstants.SEARCH_ALLVALUE\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 },\n\n methods: {\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 _this = 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 (_this.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this.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 _this.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 _this2 = 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 _this2.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 _this3 = 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: _this3.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 _this3.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 _this3.clearSelect2();\n _this3.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 },\n\n mounted: function () {\n var _ref10 = _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 _ref10.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\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),expression:\"state.searching\"}],staticClass:\"g3w-search-panel form-group\"},[_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_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('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\":125,\"g3w-i18n\":128,\"mixins/resize\":167,\"store/application\":177,\"utils/convertQGISDateTimeFormatToMoment\":186,\"utils/createSingleFieldParameter\":195,\"utils/getDataForSearchInput\":204,\"vueify/lib/insert-css\":2}],106:[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\":177}],107:[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\":78,\"g3w-constants\":125,\"g3w-i18n\":128,\"services/gui\":172,\"store/application\":177,\"store/projections\":179,\"utils/getUniqueDomId\":216,\"vueify/lib/insert-css\":2}],108:[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\nvar PAGELENGTHS = [10, 25, 50, 100];\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 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() || 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.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: PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || 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.layer.toggleFilterToken()}}})]),_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())?_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\":44,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins\":165,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/coordinatesToGeometry\":188,\"utils/debounce\":197,\"utils/getCatalogLayerById\":202,\"utils/getUniqueDomId\":216,\"utils/promisify\":231,\"vueify/lib/insert-css\":2}],109:[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\":172,\"store/application\":177,\"vueify/lib/insert-css\":2}],110:[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\":172,\"vueify/lib/insert-css\":2}],111:[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\":51,\"components/FormBody.vue\":52,\"g3w-component\":124,\"g3w-object\":129,\"services/gui\":172,\"utils/getDefaultExpression\":205,\"utils/getFilterExpression\":206}],112:[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\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: {\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 },\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query\n if (show && _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: {\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 },\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 };\n\n // create search form structure \n state.mounted = function () {\n var _ref = _asyncToGenerator(function* (state) {\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 (_x3) {\n return _ref.apply(this, arguments);\n };\n }()(state);\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\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\":105,\"g3w-constants\":125,\"g3w-object\":129,\"g3w-panel\":130,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/createFilterFormInputs\":190,\"utils/debounce\":197,\"utils/getCatalogLayerById\":202,\"utils/getDataForSearchInput\":204,\"utils/getUniqueDomId\":216,\"utils/toRawType\":241}],113:[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\"}],114:[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\":216}],115:[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},{}],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 el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],117:[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\":114,\"store/application\":177}],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-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\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 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\":125,\"services/gui\":172}],144:[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\":128,\"map/controls/interactioncontrol\":143,\"services/gui\":172,\"utils/createMeasureTooltip\":192,\"utils/removeMeasureTooltip\":233}],145:[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\":125,\"g3w-eventbus\":126,\"g3w-i18n\":128,\"map/controls/interactioncontrol\":143,\"map/interactions/pickcoordinatesinteraction\":149,\"services/data\":171,\"services/gui\":172,\"services/map\":174,\"store/application\":177,\"utils/getCatalogLayerById\":202,\"utils/throttle\":240}],146:[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\":125,\"g3w-i18n\":128,\"utils/getResolutionFromScale\":214,\"utils/getScaleFromResolution\":215}],147:[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\":143,\"services/gui\":172,\"store/application\":177,\"utils/sameOrigin\":236}],148:[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\":143,\"map/interactions/pickcoordinatesinteraction\":149,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180}],149:[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},{}],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/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},{}],151:[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\":125,\"utils/getUniqueDomId\":216}],152:[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\":129,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":180,\"utils/promisify\":231}],153:[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);\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 _gui2.default.getService('map').toggleSelection(Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }));\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\":172,\"store/projections\":179,\"utils/XHR\":180,\"utils/getScaleFromResolution\":215}],154:[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();\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\":125,\"g3w-object\":129,\"map/layers/geo-mixin\":153,\"map/layers/layer\":155,\"map/layers/vectorlayer\":158,\"store/application\":177,\"store/projections\":179,\"utils/get_legend_params\":217}],155:[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: '',\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 },\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 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);\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] : null;\n\n _application2.default.tokens.filtertoken = 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 var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid);\n this.setOlSelectionFeatureByFid(fid, is_excluded ? '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 { 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 })));\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\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 };\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 projections: provider._projections\n })\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\":108,\"g3w-constants\":125,\"g3w-i18n\":128,\"g3w-object\":129,\"map/layers/feature\":151,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180,\"utils/createRelationsUrl\":193,\"utils/downloadFile\":199,\"utils/get_legend_params\":217,\"utils/parseAttributes\":228,\"utils/parsers\":229,\"utils/promisify\":231,\"utils/prompt\":232}],156:[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\":129,\"utils/getUniqueDomId\":216}],157:[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 };\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\":125,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":151,\"map/layers/featuresstore\":152,\"map/layers/layer\":155,\"utils/XHR\":180,\"utils/getCatalogLayerById\":202,\"utils/promisify\":231,\"utils/waitFor\":242}],158:[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\":129,\"map/layers/geo-mixin\":153,\"map/layers/layer\":155,\"map/layers/tablelayer\":157,\"services/gui\":172,\"utils/isLineGeometryType\":222,\"utils/isPointGeometryType\":224,\"utils/isPolygonGeometryType\":225,\"utils/promisify\":231}],159:[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\":202}],160:[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},{}],161:[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},{}],162:[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}],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 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},{}],164:[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\":172}],165:[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\":159,\"mixins/base-input\":160,\"mixins/fields\":162,\"mixins/form-inputs\":163,\"mixins/geo\":164,\"mixins/media\":166,\"mixins/resize\":167,\"mixins/select\":168,\"mixins/select2\":169}],166:[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},{}],167:[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\":172,\"utils/debounce\":197,\"utils/throttle\":240}],168:[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},{}],169:[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\":167,\"store/application\":177}],170:[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\":125,\"g3w-object\":129}],171:[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 _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 * \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 };\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 array\n\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 if (options.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: options.filter\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 _ref15 = _asyncToGenerator(function* () {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref16.layer,\n _ref16$formatter = _ref16.formatter,\n formatter = _ref16$formatter === undefined ? 0 : _ref16$formatter,\n _ref16$fids = _ref16.fids,\n fids = _ref16$fids === undefined ? [] : _ref16$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 _ref15.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 _ref17 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$layers = _ref18.layers,\n layers = _ref18$layers === undefined ? [] : _ref18$layers,\n _ref18$fids = _ref18.fids,\n fids = _ref18$fids === undefined ? [] : _ref18$fids,\n _ref18$formatter = _ref18.formatter,\n formatter = _ref18$formatter === undefined ? 0 : _ref18$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 _ref17.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 _ref19 = _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 _ref19.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 _ref20 = _asyncToGenerator(function* () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref21.url,\n _ref21$method = _ref21.method,\n method = _ref21$method === undefined ? 'GET' : _ref21$method,\n _ref21$params = _ref21.params,\n params = _ref21$params === undefined ? {} : _ref21$params,\n _ref21$headers = _ref21.headers,\n headers = _ref21$headers === undefined ? {} : _ref21$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 _ref20.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 * @param params\n * \n * @returns {Promise<{data: string, response: *}>}\n */\n 'ows:wmsCapabilities': function () {\n var _ref22 = _asyncToGenerator(function* () {\n var _ref23 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref23.url;\n\n try {\n return yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url, service: \"wms\" })\n });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function owsWmsCapabilities() {\n return _ref22.apply(this, arguments);\n }\n\n return owsWmsCapabilities;\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 _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref24.coordinates,\n _ref24$feature_count = _ref24.feature_count,\n feature_count = _ref24$feature_count === undefined ? 10 : _ref24$feature_count,\n _ref24$query_point_to = _ref24.query_point_tolerance,\n query_point_tolerance = _ref24$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref24$query_point_to,\n _ref24$multilayers = _ref24.multilayers,\n multilayers = _ref24$multilayers === undefined ? false : _ref24$multilayers,\n _ref24$reproject = _ref24.reproject,\n reproject = _ref24$reproject === undefined ? true : _ref24$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 _ref26 = _asyncToGenerator(function* (layers) {\n var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref27.geometry,\n projection = _ref27.projection,\n _ref27$filterConfig = _ref27.filterConfig,\n filterConfig = _ref27$filterConfig === undefined ? {} : _ref27$filterConfig,\n _ref27$multilayers = _ref27.multilayers,\n multilayers = _ref27$multilayers === undefined ? false : _ref27$multilayers,\n _ref27$feature_count = _ref27.feature_count,\n feature_count = _ref27$feature_count === undefined ? 10 : _ref27$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(_x18) {\n return _ref26.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"services/gui\":172,\"store/application\":177,\"utils/XHR\":180,\"utils/getMapLayersByFilter\":209,\"utils/groupBy\":218,\"utils/promisify\":231}],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 _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\":89,\"components/SidebarItem.vue\":106,\"components/g3w-form\":111,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-object\":129,\"g3w-panel\":130,\"services/iframe\":173,\"store/application\":177,\"utils/getListableProjects\":208,\"utils/getProjectUrl\":213,\"utils/getUniqueDomId\":216,\"utils/promisify\":231,\"utils/toRawType\":241}],173:[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\":129,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"store/plugins\":178,\"store/projections\":179,\"utils/createSingleFieldParameter\":195,\"utils/getUniqueDomId\":216,\"utils/normalizeEpsg\":227}],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\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 _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\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 style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.selectionLayer.color,\n fill: true\n })];\n }\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 };\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 l.on('filtertokenchange', function () {\n return _this20.updateMapLayer(layer, { force: true });\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 _ref36 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref36.info,\n style = _ref36.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 _ref37 = _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 _ref37.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 _ref38 = _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 _ref38.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 are 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 source.addFeature(opts.feature);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 visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.defaultsLayers.selectionLayer.setVisible(visible);\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 _ref39 = _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 _ref40 = _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 _ref40.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref39.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(_ref41) {\n var width = _ref41.width,\n height = _ref41.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 _this23 = 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 = _this23.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 _this23._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 (_this23._drawShadow.inner.length) {\n ctx.save();\n x_min = _this23._drawShadow.inner[0];\n y_min = _this23._drawShadow.inner[3];\n x_max = _this23._drawShadow.inner[2];\n y_max = _this23._drawShadow.inner[1];\n rotation = _this23._drawShadow.rotation;\n scale = _this23._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 _this24 = 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 _this24.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 extanla layers added to map\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers() {\n return this._layers.external;\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 _ref42 = _asyncToGenerator(function* (externalLayer) {\n var _this25 = 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 && options.field) {\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;\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type] || (yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)({\n name: externalLayer.name,\n type: type,\n crs: externalLayer.crs,\n data: externalLayer.data\n }));\n\n // skip if is not a valid layer\n if (!layer) {\n return Promise.reject();\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: _this25._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 _ref42.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 (_ref43) {\n var id = _ref43.id,\n enable = _ref43.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\":84,\"components/MapControlZoomHistory.vue\":85,\"g3w-object\":129,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":142,\"map/controls/interactioncontrol\":143,\"map/controls/measurecontrol\":144,\"map/controls/queryby\":145,\"map/controls/scalecontrol\":146,\"map/controls/screenshotcontrol\":147,\"map/controls/streetviewcontrol\":148,\"map/interactions/pickcoordinatesinteraction\":149,\"map/layers/imagelayer\":154,\"map/layers/vectorlayer\":158,\"services/application\":170,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"store/plugins\":178,\"store/projections\":179,\"utils/createFilterFromString\":191,\"utils/createSelectedStyle\":194,\"utils/createVectorLayerFromFile\":196,\"utils/getCatalogLayerById\":202,\"utils/getCatalogLayers\":203,\"utils/getMapLayersByFilter\":209,\"utils/getProject\":211,\"utils/getResolutionFromScale\":214,\"utils/getScaleFromResolution\":215,\"utils/getUniqueDomId\":216,\"utils/groupBy\":218,\"utils/isLineGeometryType\":222,\"utils/isPointGeometryType\":224,\"utils/isPolygonGeometryType\":225,\"utils/throttle\":240}],175:[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 _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 _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 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 };\n\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 // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add) {\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\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 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 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 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.indexOf(attr.name) > -1;\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: f.selection,\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() : 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\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 };\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) {\n return options.add ? _this3.updateLayerResultFeatures(l) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add });\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 * used by the following plugins: \"qplotly\"\n */\n\n\n _createClass(QueryResultsService, [{\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 _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$id = _ref4.id,\n id = _ref4$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref4$id,\n layerId = _ref4.layerId,\n component = _ref4.component,\n _ref4$type = _ref4.type,\n type = _ref4$type === undefined ? 'feature' : _ref4$type,\n _ref4$position = _ref4.position,\n position = _ref4$position === undefined ? 'after' : _ref4$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 *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this5 = this;\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 responseFeatures = responseLayer.features || [], // extract features from responseLayer object\n 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 has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n\n if (has_features) {\n var features_ids = 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 responseFeatures.forEach(function (feat) {\n var feature_id = _this5._getFeatureId(feat, external);\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n // remove feature (because is already loaded)\n setTimeout(function () {\n return delete _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feat)];\n });\n layer.features = (layer.features || []).filter(function (f) {\n return _this5._getFeatureId(f, external) !== feature_id;\n });\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (feature) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feature)];\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 _this5.state.layers = _this5.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this5.clearHighlightGeometry(layer);\n _this5.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 _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n if (options.add) {\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 // set eventually layer action tool and need to be reactive\n _this6.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this6.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.layersactions[layer.id] = _this6.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 = (_this6._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this6.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 _this6.state.actiontools.downloadformats = _this6.state.actiontools.downloadformats || {};\n _this6.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 _this6.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this6.state.query.type) {\n var downloadsaction = _this6.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$ = _this6.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)(_this6.goToGeometry.bind(_this6))\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 _this6.emit('show-chart', chartRelationIds, container, {\n relations: _this6._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this6.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this6._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: _this6.printAtlas.bind(_this6)\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 _this6.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this6.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(_ref5) {\n var _this7 = this;\n\n var features = _ref5.features;\n\n features.forEach(function (_, i) {\n return undefined === _this7.state.toggled[i] ? _g3wEventbus.VM.$set(_this7.state.toggled, i, false) : _this7.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 _this6.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature\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 hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this6.removeFeatureLayerFromResult.bind(_this6)\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({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n // check feature selection\n init: function init() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref6.feature,\n index = _ref6.index,\n action = _ref6.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 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 pLayer.hasSelectionFid(feature ? _this6._getFeatureId(feature, layer.external) : null);\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(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n features.forEach(function (_, index) {\n return undefined === _this8.state.toggled[index] && _g3wEventbus.VM.$set(_this8.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this6.addToSelection.bind(_this6))\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 _this6.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 _this6.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 _this6.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 _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref8.layer,\n id = _ref8.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 _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref9.layer,\n action = _ref9.action,\n index = _ref9.index,\n _ref9$component = _ref9.component,\n component = _ref9$component === undefined ? null : _ref9$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(_ref10) {\n var id = _ref10.id,\n layer = _ref10.layer,\n _ref10$config = _ref10.config,\n config = _ref10$config === undefined ? {} : _ref10$config,\n action = _ref10.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 _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component,\n _ref11$config = _ref11.config,\n config = _ref11$config === undefined ? null : _ref11$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 _this9 = 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 _ref13 = _asyncToGenerator(function* (_ref12) {\n var coordinates = _ref12.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this9.setQueryResponse({\n data: [_this9.getVectorLayerFeaturesFromQueryRequest(_this9._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: _this9._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x14) {\n return _ref13.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 _ref14 = _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(_x17, _x18, _x19, _x20, _x21) {\n return _ref14.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 _this10 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this10.state.layers = _this10.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 _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref15$atlas = _ref15.atlas,\n atlas = _ref15$atlas === undefined ? {} : _ref15$atlas,\n _ref15$features = _ref15.features,\n features = _ref15$features === undefined ? [] : _ref15$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 (_ref16) {\n var url = _ref16.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 _this11 = 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 _this11._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 _ref17 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this12 = 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 _ref18 = _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 _this12.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref19.layer,\n type = _ref19.type,\n data = _ref19.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 = _this12.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 _this12.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 _this12.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref18.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(_x25, _x26) {\n return _ref17.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 _this13 = 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')[_this13.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this13.isOneLayerResult() ? [feature] : feature.geometry, _this13.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.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 _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref20.relation,\n layerId = _ref20.layerId,\n feature = _ref20.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 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 var GIVE_ME_A_NAME = undefined === feature && undefined === action && undefined === index;\n var _action = GIVE_ME_A_NAME ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = GIVE_ME_A_NAME && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = GIVE_ME_A_NAME ? 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 = GIVE_ME_A_NAME ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = GIVE_ME_A_NAME ? {\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 if (!GIVE_ME_A_NAME) {\n _action.state.toggled[index] = !_action.state.toggled[index];\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 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 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 /**Switch selected boolean value */\n feature.selection.selected = !feature.selection.selected;\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 if (GIVE_ME_A_NAME) {\n layer.features.forEach(function (f, i) {\n return _action.state.toggled[i] = !toggled;\n });\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":94,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":96,\"components/RelationsPage.vue\":103,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-eventbus\":126,\"g3w-i18n\":128,\"g3w-object\":129,\"map/interactions/pickcoordinatesinteraction\":149,\"map/layers/layer\":155,\"map/layers/vectorlayer\":158,\"services/data\":171,\"services/gui\":172,\"store/application\":177,\"utils/copyUrl\":189,\"utils/downloadFile\":199,\"utils/getAlphanumericPropertiesFromFeature\":201,\"utils/getCatalogLayerById\":202,\"utils/getUniqueDomId\":216,\"utils/intersects\":220,\"utils/printAtlas\":230,\"utils/throttle\":240,\"utils/within\":243}],176:[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\":180}],177:[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\":129}],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 * 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\":129}],179:[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\":227}],180:[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\":125,\"utils/downloadFile\":199}],181:[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\":125,\"utils/is3DGeometry\":221}],182:[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},{}],183:[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},{}],184:[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},{}],185:[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},{}],186:[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},{}],187:[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\":125,\"utils/isMultiGeometry\":223}],188:[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\":125}],189:[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},{}],190:[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\":195}],191:[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\":125}],192:[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\":177,\"utils/isLineGeometryType\":222,\"utils/isMultiGeometry\":223,\"utils/isPolygonGeometryType\":225}],193:[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\":177,\"utils/sanitizeFidFeature\":237}],194:[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},{}],195:[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},{}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\nvar _createKMZLayer = function () {\n var _ref = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n var kmlFiles = zip.file(/.kml$/i);\n /**\n * @TODO handle multiple network links\n * \n * https://github.com/g3w-suite/g3w-client/pull/430/files#r1232092732\n */\n // get the last kml file (when doc.kml file has a reference to kml inside another folder)\n var kmlFile = kmlFiles[kmlFiles.length - 1];\n if (kmlFile) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, kmlFile.asText(), new ol.format.KML({ extractStyles: false }), \"EPSG:4326\"));\n } else {\n reject();\n }\n });\n\n return function (_x6, _x7) {\n return _ref2.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createKMZLayer(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _createZIPLayer = function () {\n var _ref3 = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n shp((yield data.arrayBuffer(data))).then(function (geojson) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, JSON.stringify(geojson), new ol.format.GeoJSON({}), \"EPSG:4326\"));\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n\n return function (_x13, _x14) {\n return _ref4.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createZIPLayer(_x8, _x9, _x10, _x11, _x12) {\n return _ref3.apply(this, arguments);\n };\n}();\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 */\n\n\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref6.name,\n type = _ref6.type,\n crs = _ref6.crs,\n mapCrs = _ref6.mapCrs,\n data = _ref6.data,\n style = _ref6.style;\n\n switch (type) {\n case 'gpx':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GPX());\n case 'gml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.WMSGetFeatureInfo());\n case 'geojson':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GeoJSON());\n case 'kml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.KML({ extractStyles: false }), \"EPSG:4326\");\n case 'csv':\n return _createCSVLayer(name, crs, mapCrs, style, data);\n case 'kmz':\n return _createKMZLayer(name, crs, mapCrs, style, data);\n case 'zip':\n return _createZIPLayer(name, crs, mapCrs, style, data);\n }\n console.warn('invalid file type', type);\n });\n\n return function createVectorLayerFromFile() {\n return _ref5.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('./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\nfunction _createVectorLayer(name, crs, mapCrs, style, data, format, epsg) {\n epsg = undefined === epsg ? crs : epsg;\n\n var features = format.readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n\n // skip when no features\n if (0 === features.length) {\n return;\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (format instanceof ol.format.KML) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: 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\nfunction _createCSVLayer(name, crs, mapCrs, style, data) {\n var headers = data.headers,\n separator = data.separator,\n values = data.values,\n x = data.x,\n y = data.y;\n\n\n var features = [];\n var errorrows = [];\n\n values.forEach(function (row, index) {\n var properties = {};\n var rowvalues = row.split(separator);\n if (rowvalues.length === headers.length) {\n var coordinates = [];\n rowvalues.forEach(function (value, index) {\n var field = headers[index];\n if (field === x) {\n coordinates[0] = 1 * value;\n }\n if (field === y) {\n coordinates[1] = 1 * value;\n }\n properties[field] = value;\n });\n // check if all coordinates are right\n if (undefined === coordinates.find(function (value) {\n return Number.isNaN(value);\n })) {\n var geometry = new ol.geom.Point(coordinates);\n if (crs !== mapCrs) {\n geometry.transform(crs, mapCrs);\n }\n var feature = new ol.Feature(geometry);\n feature.setId(index); // incremental id\n feature.setProperties(properties);\n features.push(feature);\n }\n } else {\n errorrows.push({ row: index + 1, value: values[index] });\n }\n });\n\n if (0 === features.length) {\n return Promise.reject();\n }\n\n if (errorrows.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: '',\n data: function data() {\n return {\n errorrows: errorrows\n };\n }\n }\n },\n autoclose: false\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: headers,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n}\n\n},{\"./getUniqueDomId\":216,\"g3w-constants\":125}],197:[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},{}],198:[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},{}],199:[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},{}],200:[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},{}],201:[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\":125}],202:[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\":177}],203:[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\":177}],204:[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\":125}],205:[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\":171,\"utils/convertFeatureToGEOJSON\":185}],206:[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\":171,\"utils/convertFeatureToGEOJSON\":185}],207:[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\":125,\"utils/convertFeatureToGEOJSON\":185,\"utils/getAlphanumericPropertiesFromFeature\":201}],208:[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\":177}],209:[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\":174}],210:[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\":125}],211:[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\":125,\"g3w-object\":129,\"map/layers/imagelayer\":154,\"map/layers/layersstore\":156,\"map/layers/tablelayer\":157,\"map/layers/vectorlayer\":158,\"store/application\":177,\"store/projections\":179,\"utils/XHR\":180,\"utils/normalizeEpsg\":227}],212:[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},{}],213:[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},{}],214:[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\":125}],215:[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\":125}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return (_uid += 1) + \"_\" + Date.now();\n}\n\n},{}],217:[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},{}],218:[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},{}],219:[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},{}],220:[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},{}],221:[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\":125}],222:[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\":125}],223:[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\":125}],224:[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\":125}],225:[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\":125}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],227:[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},{}],228:[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\":125}],229:[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\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [] };\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\":125,\"g3w-i18n\":128,\"map/layers/feature\":151,\"services/gui\":172,\"utils/groupBy\":218,\"utils/is3DGeometry\":221,\"utils/removeZValueToOLFeatureGeometry\":234,\"utils/reverseGeometry\":235,\"utils/sanitizeFidFeature\":237}],230:[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\":177}],231:[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},{}],232:[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).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\":172,\"utils/getUniqueDomId\":216}],233:[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},{}],234:[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\":125}],235:[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},{}],236:[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},{}],237:[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},{}],238:[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},{}],239:[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\":222,\"utils/isMultiGeometry\":223,\"utils/isPolygonGeometryType\":225}],240:[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},{}],241:[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},{}],242:[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},{}],243:[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},{}],244:[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},{}]},{},[132]);\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","_MapAddLayer2","_ChangeMap2","_MetadataProject2","_ref7","_ref5","_ref4","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","MapAddLayer","ChangeMap","MetadataProject","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","onIframeLoaded","iframe","$refs","login_iframe","contentWindow","g3wsdk","core","ApplicationState","logout_url","reload","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","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","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","max-height","img","img_title","first_name","last_name","data-target","admin_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","domProps","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","background","grid-template-areas","place-items","inset","data-dismiss","grid-area","border","load","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ChangeMap.vue","components/MapAddLayer.vue","components/MetadataProject.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","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","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","plugin","PluginsRegistry","getPlugin","startEditing","editing","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","innerHTML","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","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","get_macro","get_group","_projections2","_getListableProjects","LOGO_GIS3W","_toConsumableArray","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","registerProjection","map_url","origin","addMapExtentUrlParameterToUrl","trigger","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","_ref11","_ref12","min-width","description","store/projections","utils/getListableProjects","43","_t","word-wrap","44","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","45","geoMixin","Date","now","font","showLayer","46","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","data-interval","data-slide","components/Field.vue","47","_Field","openLink","link_url","48","mediaMixin","getMediaType","filename","49","50","vueoptions","51","_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","52","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","53","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","54","flex-direction","item_selected","fontSize","55","56","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","57","58","59","progress","borderRadius","60","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","61","_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","62","_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","63","showHideHelp","loadingState","help","64","stateValueChanged","getValuesItem","convertValueToChecked","option","changeCheckBox","_getValuesItem","_getValuesItem2","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","65","placeholder","composing","66","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","67","68","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","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","69","_InputG3W","show_required_field_message","70","71","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","clear","margin-bottom","labels","72","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","73","pickLayer","pickservice","pick","gui/inputs/picklayer/service","74","radio_value","75","Step","checkValue","getValidator","keydown","76","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","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","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","pagination","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","77","state.input.options.min","changeInfoMessage","state.input.options.max","78","keyup","mobileChange","79","max-width","80","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","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","81","tags","82","_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","83","_createVectorLayerFromFile","getProjection","getCode","EPSG","layer_type","wms_panel","wms_urls","vectorLayer","persistent","csv","y","separators","separator","mapCrs","rgba","selectedlayers","projections","added","error_message","csv_extension","onChangeFile","reader","FileReader","files","at","input_file","onload","handle_csv_headers","_evt$target$result$sp","_evt$target$result$sp2","csv_headers","readAsText","createVectorLayerFromFile","addLayer","getLocalWMSData","every","showWmsLayersPanel","updateLocalWMSData","_addExternalWMSLayer","deleteWms","clearPanel","addExternalLayer","modal_addlayer","clearFile","addWmsURL","getWMSLayers","wmsurl","_showWmsLayersPanel","deleteWmsUrl","_ref4$epsg","_ref4$position","_ref4$visible","RasterLayer","projection","res","rej","wmslayer","olLayer","getOLLayer","_wms_config","wms_config","GetMap","layerProjections","crss","findIndex","w","changeLayerData","alldata","csv.x","csv.y","_this6","_this7","isReady","_ref13","$data","$forceUpdate","font-family","border-bottom","padding-bottom","flex-grow","outline","user-select","accept","map/layers/imagelayer","utils/createVectorLayerFromFile","84","_QueryResultsActionChooseLayer2","_plugins2","_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","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","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","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","85","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","86","customcredits","powered_by","docs_url","general","spatial","showHideInfo","box","sanitizeValue","credits","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","overflow","gap","rel","87","_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","h","_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","88","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","89","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","90","_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","91","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","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","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","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","92","clickAction","originalDataTitle","hint_change","condition","93","has_layers","94","download_format","_download","95","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","96","choices","g3w_select_feature_featurepolygon","choice","97","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","98","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","99","100","g3w-link","g3w-vue","101","_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","102","featureInfo","noback","103","_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","104","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","105","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","allvalue","SEARCH_ALLVALUE","is_staff","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","forminputs","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","search_layers","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","widget_type","opt","time","utils/getDataForSearchInput","106","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","107","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","108","_coordinatesToGeometry","_ref20","PAGELENGTHS","_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","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","selectAllRows","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","page_size","_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","109","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","alert","warning","110","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","111","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","112","_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","113","VueColor","Proxy","fromEntries","prop","Reflect","overviewproject","VueCookie","vue-cookie","114","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","115","removeAttribute","116","117","_utils","directives/utils","118","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","g3w_observer","119","oldValue","120","tPlugin","121","_require","122","_el","_ref$el","componentUpdated","oldVnode","123","handleInnerHTML","__currentBinding","__innerHTML","124","çç","_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","125","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","GEOMETRY_FIELDS","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","zip","excel","xls","gpx","gpkg","shapefile","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","EXCLUDE","./version","126","127","_g3wConstants2","_application4","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_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","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","$script","complete","finally","platform","console","pluginsConfigs","os","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","./g3w-plugin","_process","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/application","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","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","128","getAppLanguage","addI18n","i18nObject","addResource","addI18nPlugin","_lang","129","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","130","onShow","onClose","131","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","132","_locales2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","ACTIONS","directive","use","install","_isMobile","mixin","any","inheritAttrs","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","paginate","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","interfaceowsurl","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","133","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","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_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","shp","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","134","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","135","136","wms_layer_id_already_added","wms_url_already_added","137","_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","138","139","geolocations","140","141","142","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","143","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","144","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","145","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","146","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","147","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","148","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","149","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","150","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","151","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","152","_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","153","BaseClass","checkUrl","map_crs","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","154","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","155","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","geojson","readFeatures","mapProjection","dataProjection","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","WKT","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","selectionFids","layersstore","proxyData","_ref15$data","getFilterToken","_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","getSelection","_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","156","_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","157","_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","158","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","159","autocompleteRequest","160","showhelpicon","setUpdate","161","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","162","getFieldService","_fieldsService","sanitizeFieldValue","163","countNoTEmptyInputName","164","165","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","166","isMedia","167","DELAY_TYPE","delayWrapper","delayResize","delayTime","168","resetValues","usecompleter","$container","169","170","171","_groupBy","_ref19","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","_ref16$formatter","_ref16$fids","getFeatureByFids","olFeat","search:layersfids","_ref18$layers","_ref18$fids","_ref18$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref21","_ref21$method","_ref21$params","_ref21$headers","proxy:data","ows:wmsCapabilities","_ref24$feature_count","_ref24$query_point_to","_ref24$multilayers","_ref24$reproject","groupBy","getInfoUrl","getMultiLayerId","_ref27$filterConfig","_ref27$multilayers","_ref27$feature_count","_x18","utils/groupBy","172","_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","_x16","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","173","_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","found","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_x15","_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","174","_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","_x13","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","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","geometryObj","hlayer","readGeometry","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this23","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this24","unWatch","onRemoveExternalLayer","externalLayer","_this25","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","components/MapControlGeocoding.vue","components/MapControlZoomHistory.vue","localforage","map/controls/geolocationcontrol","map/controls/queryby","map/controls/scalecontrol","map/controls/screenshotcontrol","map/controls/streetviewcontrol","175","_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","_ref4$id","_ref4$type","responseLayer","features_ids","responseFeatures","feature_id","_getFeatureId","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","hint_changed","_ref9$component","_ref10$config","_ref11$component","_ref11$config","external_layer","not_current","new_layer","isOneLayerResult","querytitle","actionId","layerAction","_x17","_x19","_x20","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref15$atlas","_ref15$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","GIVE_ME_A_NAME","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","176","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","177","STATE","onLine","upload","stack","cloasable","178","PLUGINS","179","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","180","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","181","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","182","coordinates1","coordinates2","183","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","184","185","writeFeatureObject","186","matchDayInDate","187","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","188","MultiLineString","MultiPoint","189","tempinput","190","_ref$inputs","191","_ref$filter","RegExp","192","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","193","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","194","_ref$color","_ref$fill","asString","asArray","195","_ref$operator","_ref$logicop","196","JSZip","kmlFiles","arrayBuffer","kmlFile","_createVectorLayer","asText","KML","extractStyles","_createKMZLayer","_createZIPLayer","GPX","WMSGetFeatureInfo","_createCSVLayer","errorrows","rowvalues","_fields","unset","./getUniqueDomId","197","func","198","c1","c2","sqrt","199","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","200","propName","201","202","203","204","_ref5$fields","205","_field$input$options$","_data","206","207","208","listable","209","210","211","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","_imagelayer","createLayersTree","212","213","214","215","216","217","218","keyFn","219","childCtor","parentCtor","tempCtor","220","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","221","type3D","222","223","224","225","226","227","228","layerAttributes","featureAttributes","featureAttributesName","229","_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","230","multi","FETCH","EXP_FILTER","DOWNLOAD","_ref$params","_ref3$params","231","232","vueInput","okBtn","233","234","235","_reverseCoords","_coords","236","url1","url2","237","238","239","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","240","lastCall","previousCall","241","242","predicate","243","244"],"mappings":"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9C,aAAc,CACZ39C,KAAM,2BACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,4BACR,EACA49C,aAAc,CACZ59C,KAAM,2BACR,EACA69C,aAAc,CACZ79C,KAAM,2BACR,EACAiE,MAAO,CACLjE,KAAM,eACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,mEACNwW,YAAa,SACf,CACF,CACF,EACAmoC,QAAS,CACPjgH,MAAO,aACPyS,MAAO,kBACPytG,KAAM,OACNC,IAAK,kBACLjqF,IAAK,MACLlT,QAAS,CACPgkF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACdp+E,QAAS,kBACX,EACAq+E,mBAAoB,CAClBr+E,QAAS,gBACX,EACAs+E,UAAW,CACTt+E,QAAS,kBACX,EACAu+E,cAAe,CACbv+E,QAAS,eACX,CACF,EAEAo+E,eAAgB,CACdx8E,SAAU,CACR5jC,MAAO,0BACPwgH,SAAU,CACRtuG,QAAS,CACPwU,MAAO,cACT,EACA+5F,gBAAiB,CACf/5F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,qBACT0+E,YAAa,iCACbh+D,KAAM,CACJtpC,QAAS,iLACX,CACF,EACAinG,mBAAoB,CAClBr+E,QAAS,gCACX,EACAs+E,UAAW,CACTt+E,QAAS,sBACT2+E,iBAAkB,8HAClBj+D,KAAM,CACJtpC,QAAS,+FACX,CACF,EACAwnG,SAAU,CACRj8F,SAAU,CACR0xC,IAAK,CACH01B,QAAS,yGACX,CACF,EACA/pD,QAAS,kBACX,EACA6+E,YAAa,CACX7+E,QAAS,kBACX,EACA8+E,SAAU,CACRjjH,OAAQ,CACNmkC,QAAS,QACT0gB,KAAM,2HACR,EACAq+D,KAAM,CACJ/+E,QAAS,SACT0gB,KAAM,qEACR,CACF,EACAga,MAAO,CACLskD,eAAgB,iBAClB,EACAC,UAAW,CACTp2C,MAAO,CACLq2C,OAAQ,QACRC,SAAU,iBACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,eACb,CACF,EACAhxC,UAAW,CACTixC,cAAe,qBACfC,mBAAoB,4BACpBC,kBAAmB,2BACnBC,0BAA2B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wBAAyB,CACvBh+C,KAAM,kCACR,EACAi+C,wBAAyB,CACvBj+C,KAAM,gCACR,EACAk+C,4BAA6B,CAC3Bl+C,KAAM,6BACR,EACAm+C,gBAAiB,CACfn+C,KAAM,wBACR,EACAgP,UAAW,CACThP,KAAM,iBACR,EACAo+C,iBAAkB,CAChBp+C,KAAM,sBACR,EACAq+C,4BAA6B,CAC3Br+C,KAAM,iCACR,EACAw9C,mBAAoB,CAClBx9C,KAAM,iCACR,EACAs+C,sBAAuB,CACrBt+C,KAAM,iCACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,kCACR,EACAy9C,aAAc,CACZz9C,KAAM,iCACR,EACA09C,cAAe,CACb19C,KAAM,kCACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,iCACR,EACA29C,aAAc,CACZ39C,KAAM,iCACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,iCACR,EACA49C,aAAc,CACZ59C,KAAM,iCACR,EACA69C,aAAc,CACZ79C,KAAM,iCACR,EACAiE,MAAO,CACLjE,KAAM,eACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,oDACNwW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACPjgH,MAAO,aACPyS,MAAO,kBACPytG,KAAM,OACNC,IAAK,kBACLjqF,IAAK,MACLlT,QAAS,CACPgkF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACdp+E,QAAS,kBACX,EACAq+E,mBAAoB,CAClBr+E,QAAS,gBACX,EACAs+E,UAAW,CACTt+E,QAAS,kBACX,EACAu+E,cAAe,CACbv+E,QAAS,eACX,CACF,EACAo+E,eAAgB,CACdx8E,SAAU,CACR5jC,MAAO,sBACPwgH,SAAU,CACRtuG,QAAS,CACPwU,MAAO,eACT,EACA+5F,gBAAiB,CACf/5F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,uBACT0+E,YAAa,0BACbh+D,KAAM,CACJtpC,QAAS,+IACX,CACF,EACAinG,mBAAoB,CAClBr+E,QAAS,+BACX,EACAs+E,UAAW,CACTt+E,QAAS,+BACT2+E,iBAAkB,+FAClBj+D,KAAM,CACJtpC,QAAS,4GACX,CACF,EACAmnG,cAAe,CACbv+E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJtpC,QAAS,+CACX,CACF,EACAwnG,SAAU,CACRj8F,SAAU,CACR0xC,IAAK,CACH01B,QAAS,2FACX,CACF,EACA/pD,QAAS,YACX,EACA6+E,YAAa,CACX7+E,QAAS,2BACX,EACA8+E,SAAU,CACRjjH,OAAQ,CACNmkC,QAAS,SACT0gB,KAAM,sFACR,EACAq+D,KAAM,CACJ/+E,QAAS,OACT0gB,KAAM,sFACR,CACF,EACAga,MAAO,CACLskD,eAAgB,kBAClB,EACAC,UAAW,CACTp2C,MAAO,CACLq2C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,iBACXC,UAAW,cACb,CACF,EACAhxC,UAAW,CACTixC,cAAe,mBACfC,mBAAoB,0BACpBC,kBAAmB,wBACnBC,0BAA2B,kCAC3BC,2BAA4B,gBAC5Br9G,MAAO,oBACT,EACAs9G,KAAM,CACJ1xF,QAAS,cACTuuB,OAAQ,CACN95B,SAAU,CACRmjF,OAAQ,CACNxtF,UAAW,wGACb,CACF,EACAmkG,SAAU,CACRnkG,UAAW,6BACXG,OAAQ,iCACV,EACAonG,oCAAqC,+BACrCC,uBAAwB,2CACxBC,2BAA4B,4DAC5BC,2BAA4B,4DAC5BC,gCAAiC,4BACjCxqG,QAAS,eACTF,OAAQ,eACR9B,KAAM,SACNyC,QAAS,SACT8B,SAAU,SACV7B,OAAQ,aACRwjC,KAAM,UACNa,SAAU,UACVllC,MAAO,YACPu6C,MAAO,UACT,EACAjiC,OAAQ,CACN0uB,gBAAmB,iBACrB,EACA35B,SAAU,CACRu9F,2BAA4B,gEAC9B,CACF,EACA7nF,QAAS,CACP8nF,yBAA0B,QAC1BC,iBAAkB,eAClBC,6BAA8B,oBAC9BC,kBAAmB,mBACnBC,eAAgB,kBAChBC,0BAA2B,2BAC3BC,iBAAkB,8BAClBC,gBAAiB,4BACjBC,kBAAmB,4BACnBC,uBAAwB,6CACxB54F,KAAM,CACJ64F,cAAe,qBACfC,cAAe,gBACf7mF,IAAK,CACHj8B,MAAO,GACP6hG,KAAM,mCACNkhB,OAAQ,WACV,EACAn/E,SAAU,CACRm9D,OAAQ,QACRiiB,IAAK,qBACL7hB,IAAK,qBACLC,KAAM,sBACN/qC,IAAK,qBACL6qC,IAAK,qBACLI,QAAS,yBACT2hB,mBAAoB,6CACtB,CACF,CACF,EACAC,IAAK,CACHC,aAAc,qBACdnhF,QAAS,kBACX,CACF,EACA8hC,QAAS,CACPs/C,kBAAmB,iCACnBC,oBAAqB,kDACrBC,UAAW,2BACb,EACAC,oBAAqB,sBACrBC,OAAQ,gBACRC,kBAAmB,+BACnBC,gBAAiB,qCACjBC,IAAK,QACLC,GAAI,KACJ9xE,KAAM,QACN+xE,OAAQ,YACRC,UAAW,iBACXC,eAAgB,kBAChBn6F,UAAW,sBACXzU,OAAQ,MACR0nG,WAAY,kBACZj3C,MAAO,UACPo+C,aAAc,cACdC,SAAU,MACV5pF,QAAS,SACT1oB,KAAM,OACNuyG,YAAa,MACbxwF,WAAY,eACZguD,MAAO,WACPxtD,KAAM,QACNS,OAAQ,qBACRwvF,YAAa,mBACbC,cAAe,aACfn0F,KAAM,QACNk0B,KAAM,UACNkgE,eAAgB,gBAChBC,gBAAiB,QACjBC,4BAA6B,yBAC7BC,kBAAmB,2BACnBC,0CAA2C,yDAC3CC,6BAA8B,uCAC9BC,mBAAoB,mCACpBC,aAAc,0BACd/0C,KAAM,WACNg1C,OAAQ,UACRlrG,OAAQ,YACR8M,MAAO,QAEPq+F,gBAAiB,8BACjBC,eAAgB,sBAChBx/G,IAAK,QACLy/G,WAAY,uBACZC,MAAO,UACPC,eAAgB,mCAChB1iG,QAAS,CACPyZ,IAAK,CACHk4D,MAAO,CACLn0F,MAAO,gBACP0mB,MAAO,CACLwG,SAAU,eACVlsB,KAAM,OACN41D,YAAa,aACbrlD,OAAQ,QACV,CACF,EACA4zG,cAAe,qBACfC,eAAgB,iBAChBC,uBAAwB,0BACxBC,kBAAmB,8BACnBC,gBAAiB,4DACnB,CACF,EACA36G,KAAM,CACJ5K,MAAO,WACPwlH,kBAAmB,oBACnBC,UAAW,qBACXb,aAAc,+BACd/H,WAAY,gCACZ6I,YAAa,MACf,EACA9pD,YAAa,CACXilD,YAAa,CACXh2G,MAAO,sBACT,EACAgxD,UAAW,CACT8pD,aAAc,iDACdhiE,YAAa,aACb6d,SAAU,wDACVokD,UAAW,cACXC,kBAAmB,2BACrB,EACAC,kBAAmB,CACjB3nG,OAAQ,aACR4nG,kBAAmB,0BACnBC,qBAAsB,8BACtBC,qBAAsB,mBACtBC,mBAAoB,iBACpBC,mBAAoB,iBACpBC,aAAc,qBACdC,WAAY,2BACd,EACAnkE,MAAO,CACLokE,eAAgB,8BAClB,EACAzoH,OAAQ,CACNmkC,QAAS,QACX,EACA++E,KAAM,CACJ/+E,QAAS,WACX,EACAukF,WAAY,CACV17G,MAAO,4BACP27G,cAAe,ioBACjB,CACF,EACAC,cAAe,CACb9J,SAAU,uFACV3vE,YAAa,CACX05E,YAAa,kBACbC,qBAAsB,wBACtBC,cAAe,aACfrlG,OAAQ,UACRslG,kBAAmB,oBACnBC,cAAe,aACfx+E,QAAS,SACX,CACF,EACAktE,UAAW,CACThmC,SAAU,YACV1hE,KAAM,WACN68E,WAAY,6BACZ//E,KAAM,qBACNm8G,QAAS,aACTC,cAAe,kCACflR,aAAc,qCAChB,CACF,CACF,CAEA,EAAE,IAAImS,IAAI,CAAC,SAAS5qH,EAAQU,EAAOJ,GACnCqJ,OAAO6B,eAAelL,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQoF,QAAU,CAChB44G,YAAa,CACXC,WAAY,CACV/wG,MAAO,sBACPgxG,UAAW,4DACXC,GAAI,qBACN,EACAC,WAAY,CACV3iG,QAAS,4FACTwX,WAAY,gBACd,EACA7tB,QAAS,cACTi5G,QAAS,gBACTC,uBAAwB,CACtBv6B,MAAO,CACLrvE,OAAQ,+BACR6pG,SAAU,uBACV5Z,OAAQ,sBACR15C,MAAO,wBACPuzD,qBAAsB,8DACtBC,WAAY,mBACZC,WAAY,eACd,CACF,EACAtwB,QAAS,CACPuwB,qBAAsB,qBACxB,EACAC,eAAgB,CACdt9F,IAAK,OACL4d,OAAQ,MACRzjB,QAAS,0DACX,EACAojG,IAAK,CACHj3C,MAAO,CACLk3C,gBAAiB,CACfz8G,MAAO,wBACT,CACF,EACA08G,iBAAkB,CAChB18G,MAAO,mBACP28G,SAAU,iFACVj2G,MAAO,CACL1F,KAAM,KACR,EACA47G,SAAU,CACRx9F,QAAS,CACPpf,MAAO,mBACT,EACAmJ,KAAM,CACJnJ,MAAO,0BACT,CACF,CACF,EACAmV,OAAQ,CACN+gB,IAAK,SACL2mF,WAAY,wBACZ/wC,UAAW,gBACXgxC,cAAe,mCACfC,qBAAsB,mCACtBC,mBAAoB,oCACpB3wF,aAAc,CACZ4wF,WAAY,CACVC,IAAK,iBACL1+E,KAAM,YACR,CACF,CACF,EACAonC,MAAO,CACLu3C,UAAW,uBACXzgD,MAAO,UACPvmC,OAAQ,SACR6vC,SAAU,WACVo3C,eAAgB,sBAChBC,iBAAkB,oJAClBC,aAAc,oDACd56D,KAAM,wHACR,EACA2sB,aAAc,CACZl6D,OAAQ,CACNhW,IAAK,sBACLyL,KAAM,cACNq0B,OAAQ,YACRqyB,KAAM,UACR,EACA3sC,SAAU,CACRqiB,QAAS,0BACTu2E,mBAAoB,kBACtB,EACAppB,MAAO,CACL95C,OAAQ,CACNnkB,IAAK,SACL25C,KAAM,cACNd,KAAM,SACNnmB,MAAO,WACPzpD,IAAK,WACL6vE,OAAQ,QACV,EACAz9D,OAAQ,UACRJ,OAAQ,SACR3K,OAAQ,UACRgqE,UAAW,aACXjlD,WAAY,YACd,EACAiyF,UAAW,iEACXC,WAAY,mCACZx+E,OAAQ,yCACRy+E,QAAS,6BACX,EACA5V,OAAQ,CACNv2F,OAAQ,CACNmgB,KAAM,kHACR,EACAisF,mBAAoB,sBACpBC,mBAAoB,wCACtB,EACAp1E,SAAU,CACRxoC,MAAO,cACPkgB,OAAQ,CACNujD,QAAS,CACPzjE,MAAO,UACPmR,OAAQ,CACNnR,MAAO,QACPgB,KAAM,MACN+yC,YAAa,cACbjL,SAAU,SACVu7B,SAAU,qBACVw5C,KAAM,uBACNC,kBAAmB,sBACnBC,mBAAoB,WACpBC,UAAW,CACTD,mBAAoB,CAClB95C,6BAA8B,SAC9BC,cAAe,aACfC,sBAAuB,YACvB85C,oBAAqB,eACrBC,oBAAqB,eACrBC,gBAAiB,eACjBC,gBAAiB,eACjBC,cAAe,WACfC,cAAe,UACjB,CACF,EACAC,QAAS,KACX,CACF,EACA76C,QAAS,CACP1jE,MAAO,gBACPmR,OAAQ,CACNy0B,IAAK,OACLw3B,OAAQ,MACV,CACF,EACA7rD,OAAQ,CACNvR,MAAO,UACPkgB,OAAQ,CACNujD,QAAS,WACTC,QAAS,eACX,EACAvyD,OAAQ,CACNI,OAAQ,UACRysG,UAAW,CACTp4E,IAAK,OACLtB,KAAM,OACNtkC,MAAO,QACPgB,KAAM,MACNwkC,aAAc,YACd1P,OAAQ,SACR3jB,WAAY,YACZ22B,SAAU,SACV01E,YAAa,cACbn6C,SAAU,aACVC,YAAa,qBACbE,QAAS,iBACX,CACF,CACF,CACF,CACF,EACAi6C,SAAU,CACRnuC,UAAW,CACTouC,YAAa,iCACbC,YAAa,mCACbC,eAAgB,uBAClB,EACAU,wBAAyB,uBACzBT,oBAAqB,8CACrBC,mBAAoB,mCACpBC,aAAc,kBACdC,cAAe,mBACfC,aAAc,kBACdC,aAAc,kBACdC,aAAc,kBACdC,WAAY,uBACZ75C,MAAO,mBACPtgC,QAAS,UACX,EACA22B,YAAa,CACX1Z,MAAO,CACLlgB,QAAS,oBACT2+B,QAAS,CACP0+C,cAAe,CACb/9C,KAAM,iCACR,EACAg+C,wBAAyB,CACvBh+C,KAAM,sBACR,EACAi+C,wBAAyB,CACvBj+C,KAAM,2CACR,EACAk+C,4BAA6B,CAC3Bl+C,KAAM,kCACR,EACAm+C,gBAAiB,CACfn+C,KAAM,sBACR,EACAgP,UAAW,CACThP,KAAM,oBACR,EACAo+C,iBAAkB,CAChBp+C,KAAM,kCACR,EACAq+C,4BAA6B,CAC3Br+C,KAAM,wCACR,EACAw9C,mBAAoB,CAClBx9C,KAAM,0BACR,EACAs+C,sBAAuB,CACrBt+C,KAAM,kCACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,mCACR,EACAy9C,aAAc,CACZz9C,KAAM,oBACR,EACA09C,cAAe,CACb19C,KAAM,qBACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,kCACR,EACA29C,aAAc,CACZ39C,KAAM,oBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,kCACR,EACA49C,aAAc,CACZ59C,KAAM,oBACR,EACA69C,aAAc,CACZ79C,KAAM,oBACR,EACAiE,MAAO,CACLjE,KAAM,kBACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,iEACNwW,YAAa,OACf,CACF,CACF,EACAmoC,QAAS,CACPjgH,MAAO,aACPyS,MAAO,kBACPytG,KAAM,OACNC,IAAK,kBACLjqF,IAAK,MACLlT,QAAS,CACPgkF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACdp+E,QAAS,kBACX,EACAq+E,mBAAoB,CAClBr+E,QAAS,gBACX,EACAs+E,UAAW,CACTt+E,QAAS,kBACX,EACAu+E,cAAe,CACbv+E,QAAS,eACX,CACF,EACAo+E,eAAgB,CACdx8E,SAAU,CACR5jC,MAAO,+BACPwgH,SAAU,CACRtuG,QAAS,CACPwU,MAAO,mBACT,EACA+5F,gBAAiB,CACf/5F,MAAO,0BACT,CACF,CACF,EACAsb,QAAS,uBACT0+E,YAAa,0CACbh+D,KAAM,CACJtpC,QAAS,+LACX,CACF,EACAinG,mBAAoB,CAClBr+E,QAAS,gCACX,EACAs+E,UAAW,CACTt+E,QAAS,oBACT2+E,iBAAkB,uHAClBj+D,KAAM,CACJtpC,QAAS,yFACX,CACF,EACAmnG,cAAe,CACbv+E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJtpC,QAAS,+CACX,CACF,EACAwnG,SAAU,CACRj8F,SAAU,CACR0xC,IAAK,CACH01B,QAAS,wGACX,CACF,EACA/pD,QAAS,kBACX,EACA6+E,YAAa,CACX7+E,QAAS,iBACX,EACA8+E,SAAU,CACRjjH,OAAQ,CACNmkC,QAAS,WACT0gB,KAAM,oHACR,EACAq+D,KAAM,CACJ/+E,QAAS,OACT0gB,KAAM,0GACR,CACF,EACAga,MAAO,CACLskD,eAAgB,kBAClB,EACAC,UAAW,CACTp2C,MAAO,CACLq2C,OAAQ,QACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,iBACXC,UAAW,cACb,CACF,EACAhxC,UAAW,CACTixC,cAAe,y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C,gBAAiB,CACfn+C,KAAM,sBACR,EACAgP,UAAW,CACThP,KAAM,sBACR,EACAo+C,iBAAkB,CAChBp+C,KAAM,8BACR,EACAq+C,4BAA6B,CAC3Br+C,KAAM,wBACR,EACAw9C,mBAAoB,CAClBx9C,KAAM,wBACR,EACAs+C,sBAAuB,CACrBt+C,KAAM,kBACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,mBACR,EACAy9C,aAAc,CACZz9C,KAAM,kBACR,EACA09C,cAAe,CACb19C,KAAM,mBACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,kBACR,EACA29C,aAAc,CACZ39C,KAAM,kBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,kBACR,EACA49C,aAAc,CACZ59C,KAAM,kBACR,EACA69C,aAAc,CACZ79C,KAAM,kBACR,EACAiE,MAAO,CACLjE,KAAM,cACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,yBACNwW,YAAa,2BACf,CACF,CACF,EACAmoC,QAAS,CACPjgH,MAAO,oBACPyS,MAAO,uBACPytG,KAAM,UACNC,IAAK,qBACLjqF,IAAK,QACLlT,QAAS,CACPgkF,WAAY,YACZD,OAAQ,aACV,EACAqZ,eAAgB,CACdp+E,QAAS,uBACX,EACAq+E,mBAAoB,CAClBr+E,QAAS,qBACX,EACAs+E,UAAW,CACTt+E,QAAS,uBACX,EACAu+E,cAAe,CACbv+E,QAAS,oBACX,CACF,EACAo+E,eAAgB,CACdx8E,SAAU,CACR5jC,MAAO,qBACPwgH,SAAU,CACRtuG,QAAS,CACPwU,MAAO,eACT,EACA+5F,gBAAiB,CACf/5F,MAAO,kCACT,CACF,CACF,EACAsb,QAAS,yBACT0+E,YAAa,2CACbh+D,KAAM,CACJtpC,QAAS,iGACX,CACF,EACAinG,mBAAoB,CAClBr+E,QAAS,sCACT0gB,KAAM,CACJtpC,QAAS,yKACX,CACF,EACAknG,UAAW,CACTt+E,QAAS,qBACT2+E,iBAAkB,wHAClBj+D,KAAM,CACJtpC,QAAS,iIACX,CACF,EACAmnG,cAAe,CACbv+E,QAAS,qCACTtb,MAAO,SACPg8B,KAAM,CAC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CR,EACA09C,cAAe,CACb19C,KAAM,sBACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,qBACR,EACA29C,aAAc,CACZ39C,KAAM,qBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,qBACR,EACA49C,aAAc,CACZ59C,KAAM,qBACR,EACAiE,MAAO,CACLjE,KAAM,gBACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,8DACNwW,YAAa,YACf,CACF,CACF,EACAmoC,QAAS,CACPjgH,MAAO,aACPyS,MAAO,kBACPytG,KAAM,OACNC,IAAK,kBACLjqF,IAAK,MACLlT,QAAS,CACPgkF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACdp+E,QAAS,kBACX,EACAq+E,mBAAoB,CAClBr+E,QAAS,gBACX,EACAs+E,UAAW,CACTt+E,QAAS,kBACX,EACAu+E,cAAe,CACbv+E,QAAS,eACX,CACF,EACAo+E,eAAgB,CACdx8E,SAAU,CACR5jC,MAAO,uBACPwgH,SAAU,CACRtuG,QAAS,CACPwU,MAAO,eACT,EACA+5F,gBAAiB,CACf/5F,MAAO,2BACT,CACF,CACF,EACAsb,QAAS,6BACT0+E,YAAa,8BACbh+D,KAAM,CACJtpC,QAAS,8IACX,CACF,EACAinG,mBAAoB,CAClBr+E,QAAS,8BACX,EACAs+E,UAAW,CACTt+E,QAAS,yBACT2+E,iBAAkB,sGAClBj+D,KAAM,CACJtpC,QAAS,qFACX,CACF,EACAmnG,cAAe,CACbv+E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJtpC,QAAS,+CACX,CACF,EACAwnG,SAAU,CACRj8F,SAAU,CACR0xC,IAAK,CACH01B,QAAS,yFACX,CACF,EACA/pD,QAAS,eACX,EACA6+E,YAAa,CACX7+E,QAAS,gBACX,EACA8+E,SAAU,CACRjjH,OAAQ,CACNmkC,QAAS,UACT0gB,KAAM,gGACR,EACAq+D,KAAM,CACJ/+E,QAAS,SACT0gB,KAAM,wFACR,CACF,EACAga,MAAO,CACLskD,eAAgB,qBAClB,EACAC,UAAW,CACTp2C,MAAO,CACLq2C,OAAQ,QACRC,SAAU,aACZ,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+C,KAAM,2BACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,4BACR,EACAy9C,aAAc,CACZz9C,KAAM,2BACR,EACA09C,cAAe,CACb19C,KAAM,4BACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,2BACR,EACA29C,aAAc,CACZ39C,KAAM,2BACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,2BACR,EACA49C,aAAc,CACZ59C,KAAM,2BACR,EACA69C,aAAc,CACZ79C,KAAM,2BACR,EACAiE,MAAO,CACLjE,KAAM,gBACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,oDACNwW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACPjgH,MAAO,aACPyS,MAAO,kBACPytG,KAAM,OACNC,IAAK,kBACLjqF,IAAK,MACLlT,QAAS,CACPgkF,WAAY,aACZD,OAAQ,QACV,EACAqZ,eAAgB,CACdp+E,QAAS,kBACX,EACAq+E,mBAAoB,CAClBr+E,QAAS,gBACX,EACAs+E,UAAW,CACTt+E,QAAS,kBACX,EACAu+E,cAAe,CACbv+E,QAAS,eACX,CACF,EACAo+E,eAAgB,CACdx8E,SAAU,CACR5jC,MAAO,sBACPwgH,SAAU,CACRtuG,QAAS,CACPwU,MAAO,eACT,EACA+5F,gBAAiB,CACf/5F,MAAO,wBACT,CACF,CACF,EACAsb,QAAS,wBACT0+E,YAAa,0BACbh+D,KAAM,CACJtpC,QAAS,6HACX,CACF,EACAinG,mBAAoB,CAClBr+E,QAAS,wBACX,EACAs+E,UAAW,CACTt+E,QAAS,6CACT2+E,iBAAkB,8GAClBj+D,KAAM,CACJtpC,QAAS,oHACX,CACF,EACAmnG,cAAe,CACbv+E,QAAS,wBACTtb,MAAO,SACPg8B,KAAM,CACJtpC,QAAS,+CACX,CACF,EACAwnG,SAAU,CACRj8F,SAAU,CACR0xC,IAAK,CACH01B,QAAS,2FACX,CACF,EACA/pD,QAAS,gBACX,EACA6+E,YAAa,CACX7+E,QAAS,kBACX,EACA8+E,SAAU,CACRjjH,OAAQ,CACNmkC,QAAS,QACT0gB,KAAM,0FACR,EACAq+D,KAAM,CACJ/+E,QAAS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"} \ No newline at end of file